Miles Bader [Fri, 18 Jul 2003 03:10:48 +0000 (20:10 -0700)]
[PATCH] Refactor v850 UART driver
The v850 family contains several related-but-not-identical on-chip
UARTs. This patch factors out the common code and uses it to implement
both types (only one was supported before).
Also, this patch changes the way the v850 UART is initialized, to use
the same method as other linux serial drivers.
This patch renames the UART code to be `v850e_uart' rather than
`nb85e_uart', as the former is more correct. As this change renames
some files too, the patch contains a number of whole-file add/removes.
Andrew Morton [Fri, 18 Jul 2003 02:28:24 +0000 (19:28 -0700)]
[PATCH] "Fix" AS i/o hang with aacraid driver
From: Mark Haverkamp <markh@osdl.org>
Mark says:
"Daniel McNeil and I have been debugging a hang with the aacraid driver
using the as I/O scheduler."
We found that scsi_request_fn would de-queue a request and later
re-queued it. This left the as_data->nr_dispatched variable in an
inconsistent state (it was never being decremented back to zero).
We added a call to elv_completed_request to clean up the state before
re-adding the request. This has fixed our hang problem."
It affects other SCSI drivers, but less frequently. We're assuming this is
the cause of several "everything got stuck in D state" reports.
A very long design discussion has ensued. We don't have a suitably tested fix
ready so I think it is best to put Mark's one-liner in there for now, fix it
for real when everyone gets back from OLS.
Andrew Morton [Fri, 18 Jul 2003 02:28:01 +0000 (19:28 -0700)]
[PATCH] fix bootmem allocator on machines with holes in
From: Anton Blanchard <anton@samba.org>
If the memory we are trying to allocate is too large to fit in the current
region, we should skip to the end. We currently search the available
bitmap, find the area is too small, increment the start by incr and try
again. This resulted in an apparent lockup on a 64GB machine that had a
3GB IO hole starting at 1GB (and the mem_map array would not fit in the
first region).
Also use ALIGN macro instead of an open coded version.
Andrew Morton [Fri, 18 Jul 2003 02:27:54 +0000 (19:27 -0700)]
[PATCH] dm: v4 ioctl interface
From: Joe Thornber <thornber@sistina.com>
v4 of the ioctl interface. Note there never was a v2 or a v3 except in an
unofficial EVMS way.
This works correctly with the 64-bit dev_t patches in -mm kernels.
There is now a config option to allow the user to select v1 or v4, it
defaults to v1. dm-ioctl.[hc] just #includes dm-ioctl-v[14].[hc] depending
on the config option.
If you want to use v4 you will have to update your tools
(libdevmapper/lvm). The latest tools at the time of writing are:
Andrew Morton [Fri, 18 Jul 2003 02:27:46 +0000 (19:27 -0700)]
[PATCH] dm: 'wait for event' race
From: Joe Thornber <thornber@sistina.com>
There was a race associated with the 'wait for a significant event'
functionality.
Basically userland could read the status table, then wait for another
event, but the event it was waiting for could have occurred in the gap
between reading and waiting.
To solve this we assign identifiers to events, in order to successfully
wait for an event both userland and the kernel driver must be in agreement
about what the last event identifier was. If they don't agree the wait
call will return immediately, allowing userland to re-read the status and
see what it missed.
Andrew Morton [Fri, 18 Jul 2003 02:27:31 +0000 (19:27 -0700)]
[PATCH] watchdog: i810-tco support
From: Wim Van Sebroeck <wim@iguana.be>
Adds support for the 82801EB and 82801ER I/O Controller Hub's (ICH5 &
ICH5R). This will add watchdog support for the i865 and i875 motherboard
chipsets. It also removes some extra trailing spaces in the source files.
Andrew Morton [Fri, 18 Jul 2003 02:27:23 +0000 (19:27 -0700)]
[PATCH] vesafb fix
From: Gerd Knorr <kraxel@suse.de>
The patch below fixes some vesafb issues. Changes:
* fixed struct screen_info in tty.h to use portable types. "unsigned
long" for 32bit values doesn't work on hammer machines ...
* limited the framebuffer memory used by vesafb to 16 MB. This avoids
that vesafb's ioremap() eats plenty of kernel address space for no real
benefit if the gfx card has very much memory (some have 128 MB or more,
ia32 has 128 MB address space for vmalloc and ioremap ...).
* mtrr is enabled by default. That should improve the vesafb performance
a lot. Also added a option to disable mtrr.
Andrew Morton [Fri, 18 Jul 2003 02:26:32 +0000 (19:26 -0700)]
[PATCH] Fix two bugs with process limits (RLIMIT_NPROC)
From: Neil Brown <neilb@cse.unsw.edu.au>
1/ If a setuid process swaps it's real and effective uids and then forks,
the fork fails if the new realuid has more processes
than the original process was limited to.
This is particularly a problem if a user with a process limit
(e.g. 256) runs a setuid-root program which does setuid() + fork()
(e.g. lprng) while root already has more than 256 process (which
is quite possible).
The root problem here is that a limit which should be a per-user
limit is being implemented as a per-process limit with
per-process (e.g. CAP_SYS_RESOURCE) controls.
Being a per-user limit, it should be that the root-user can over-ride
it, not just some process with CAP_SYS_RESOURCE.
This patch adds a test to ignore process limits if the real user is root.
2/ When a root-owned process (e.g. cgiwrap) sets up process limits and then
calls setuid, the setuid should fail if the user would then be running
more than rlim_cur[RLIMIT_NPROC] processes, but it doesn't. This patch
adds an appropriate test. With this patch, and per-user process limit
imposed in cgiwrap really works.
Andrew Morton [Fri, 18 Jul 2003 02:26:16 +0000 (19:26 -0700)]
[PATCH] fix removable partitioned media with devfs
From: Andrey Borzenkov <arvidjaar@mail.ru>
Current 2.5 does not register any device node in devfs for empty media
(capacity == 0) case. This makes removables unusable with devfs.
Partition rescan is done only on bdev open, but without any device node for
device it is impossible to open it.
In 2.4 it was finally solved by always registering .../disc node as
representation for "whole" disk and using devfsd action to force partition
rescan on access to (non-existing) partition name. For primary names it
was handled internally by devfs - it kept track of removable devices in
directory and initiated partition rescan when name was not found.
Both are obviously broken now. You can't do partition rescan because no
node is registered at all and internal handling was removed. Very nice.
The attached patch makes resgister_disk always register at least disc node.
This now works for old and new compat names as per devfsd configuration;
canonical names are still broken:
{pts/3}% ll /dev/scsi/host1/bus0/target4/lun0/part4
ls: /dev/scsi/host1/bus0/target4/lun0/part4: No such file or directory
but it can be fixed using the same technique as above so I won't push it.
Andrew Morton [Fri, 18 Jul 2003 02:26:08 +0000 (19:26 -0700)]
[PATCH] use kmalloc for ia32 stacks
From: William Lee Irwin III <wli@holomorphy.com>
I've been slab allocating the stack on i386 for some time, and it has gone
without incident in pgcl, -wli, -mjb (?), and so on. kmalloc() is fine;
there isn't any particularly compelling reason for a dedicated slab as
there's no preconstruction to do, though it can be arranged.
Basically, it works, there's no obvious reason not to, and (even better)
it's not totally invisible to the VM and even makes overhead reportable.
Andrew Morton [Fri, 18 Jul 2003 02:26:01 +0000 (19:26 -0700)]
[PATCH] remove task_cache entirely
From: Manfred Spraul <manfred@colorfullife.com>
kernel/fork.c contains a disabled cache for task stuctures. task
structures are placed into the task cache only if "tsk==current", and
"tsk==current" is impossible. There is even a WARN_ON against that in
__put_task_struct().
So remove it entirely - it's dead code.
One problem is that order-1 allocations are not cached per-cpu - we can
use kmalloc for the stack.
Andrew Morton [Fri, 18 Jul 2003 02:25:55 +0000 (19:25 -0700)]
[PATCH] is_devfsd_or_child() deadlock fix
From: Andrey Borzenkov <arvidjaar@mail.ru>
The code that did proper check existed in 2.4 and was removed in 2.5 for
whatever reason. The patch restores it slightly modified as below.
2.4 code looks somewhat unclean in that
- it traverses task list without lock.
- it starts from current->real_parent but nothing prevents current be
init_task itself. This hung for me on 2.5 during boot. May be 2.4 does
something differently.
Andrew Morton [Fri, 18 Jul 2003 02:25:31 +0000 (19:25 -0700)]
[PATCH] Ext3 xattr credits fix for quotas
From: Andreas Gruenbacher <agruen@suse.de>
The xattr and acl code are not properly reserving credits for quotas.
EXT3_DATA_TRANS_BLOCKS is an overestimate of the credits required including
quotas. Make it a little more tight, and use it in the xattr and acl code
to be quota safe.
Alan Stern [Thu, 17 Jul 2003 07:46:26 +0000 (00:46 -0700)]
[PATCH] USB: Handle over current inputs on all Intel controllers
This patch for the UHCI driver changes the test for over current inputs,
which can cause false Resume indications with some of Intel's USB
controllers. Previously the code only checked for one specific controller
chip, but now another one has turned up that exhibits the same flaw. It
seems best just to check for Intel being the manufacturer, especially
since it doesn't hurt to check for the condition when it isn't present or
is only temporary.
Adrian Bunk [Thu, 17 Jul 2003 03:43:53 +0000 (20:43 -0700)]
[PATCH] remove all #include <blk.h>'s
This causes blk.h to print a warning and removes all uses of blk.h.
I've tested the compilation in 2.6.0-test1 with a .config that tries to
compile as many drivers as possible.
- Reset netdevice to defaults in offline processing.
- Fix checksumming.
- Fix routing status display.
- Get rid of _ccw_device_get_device_number in qeth.
- Inline some functions to save stack space.
- Fix two memory leaks.
- Clear pending status in cio_enable_subchannel.
- Don't call device_unregister from interrupt context.
- Fix refcounting problems on static device structures for the ccw console.
- Delete timeouts for qdio after successful startup.
Frank Cusack [Thu, 17 Jul 2003 03:28:19 +0000 (20:28 -0700)]
[PATCH] Allow unattended nfs3/krb5 mounts
The comment in nfs_get_root() basically describes the patch:
Some authentication types (gss/krb5, most notably)
are such that root won't be able to present a
credential for GETATTR (ie, getroot()).
An easy way (ie, without this patch) to have unattended mounts is to
have a root/host@REALM (or similar) principal stashed in a keytab, which
root (rather, gssd) can use. However, this might not be desirable for
many sites. In any case, RFC2623 specifically describes the problem
addressed here.
Notes:
- Root inode gets inum of 1. This doesn't seem to matter, but may be
aesthetically unpleasing. I wanted to choose an inum unlikely to
conflict with an existing inum (although NFS has specific support
for that). It looks like more work than it's worth to change the
inum after the info is available. AFAICT it's not critical info.
- Solaris has this "wierd" (but understandable) behavior that after
mounting without a credential, the mount point is not visible at all
until an access is attempted with a credential. This now-you-see-it-
now-you-don't behavior doesn't seem worthwhile to reproduce here.
- Unfortunately, MOUNT_VERSION must go to 5. Some kernels with ver 4
do not understand pseudoflavor. Keeping it at 4 means that the
userland mount can't know for sure whether the kernel accepted the
option or not. (Unless I'm missing some hack that could be done.)
It works in my environment, against a netapp server (with the rpcsec_gss
patch I provided earlier).
Michael Hunold [Thu, 17 Jul 2003 03:10:19 +0000 (20:10 -0700)]
[PATCH] Update Technisat Skystar2 DVB driver
This is a follow-up patch to my latest patch series. It fixes the
problems and flaws Greg KH pointed out.
There was a typo in the Makefile, so the driver was never compiled. But
I assumed that it built without errors. Doh!
- update the Technisat Skystar2 driver:
- follow kernel coding rules, change comments
- change function return values from u32 to int where possible
- make all functions static
- comment out unused functions
- fix return values of functions to follow kernel rules
- removed bogus delay, read and write functions
Michael Hunold [Thu, 17 Jul 2003 03:10:12 +0000 (20:10 -0700)]
[PATCH] Add two drivers for USB based DVB-T adapters
- add two new usb dvb drivers:
o dvb-ttusb-budget.c for Technotrend/Hauppauge Nova-USB devices
(Thanks to Holger Waechtler <holger@convergence.de> and elix Domke
<tmbinc@gmx.net>)
o dvb-ttusb-dec.c for Technotrend/Hauppauge USB DEC2000-T devices
(Thanks to Alex Woods <linux-dvb@giblets.org>)