Alexander Viro [Sat, 29 May 2004 11:42:48 +0000 (04:42 -0700)]
[PATCH] sparse: compat_ioctl - easy part
Easy parts of compat_ioctl fixes - pure __user annotation.
In one place (SG_IO handling) replaced dereference of user pointer
with put_user() (why whoever had noticed that just put a FIXME instead
of obvios fix is a mistery...)
a bunch of trivial ->read() and ->write() instances (and their procfs
relatives) __user-annotated. All chunks are independent, but IMO not
worth splitting.
Alexander Viro [Sat, 29 May 2004 09:18:12 +0000 (02:18 -0700)]
[PATCH] sparse: bits and pieces
Independent minor bits caught by sparse:
- paride.h mixing void and int in ? :, used always in a void context
ide-iops.c return insw() - insw is void()
- scsi/constants.c uses undefined macros in #if; added #define to 0 in
case that used to leave it undefined
- usb/host/hcd.h: fixed-point arithmetics in constant
- fs/exec.c: missing UL on a large constant
- fs/locks.c: #if where #ifdef should've been
- fs.h: missing UL on MAX_LFS_FILESIZE in 64bit case
[NET]: Simplify netdev_sysfs_xxx if SYSFS is not configured.
Don't need all the network sysfs code if CONFIG_SYSFS is not enabled.
Also:
* netdev_sysfs_unregister is declaration mismatch
* if netdev_sysfs_register fails print a warning.
Need to still mark it as registered so the unregister_netdevice works,
but we will probably end up leaking memory in that case.
Andrew Morton [Sat, 29 May 2004 03:59:07 +0000 (20:59 -0700)]
[PATCH] CREDITS file update
From: <Valdis.Kletnieks@vt.edu>
Thomas Dunbar used to be working in one of the Dean's offices here. He's
now down the hall from me (and has been for several years, actually). So
let's fix the crufty pointers.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Sat, 29 May 2004 03:58:56 +0000 (20:58 -0700)]
[PATCH] fs/dcache.c: avoid race when updating nr_unused count of unused dentries.
From: NeilBrown <neilb@cse.unsw.edu.au>
d_count == 1 is no guarantee that dentry is on the dentry_unused list, even
if it has just been incremented inside dcache_lock, as dput can decrement
at any time.
This test from Greg Banks is much safer, and is more transparently correct.
Cc: Maneesh Soni <maneesh@in.ibm.com>, Dipankar Sarma <dipankar@in.ibm.com>
From: Greg Banks <gnb@melbourne.sgi.com> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Sat, 29 May 2004 03:57:19 +0000 (20:57 -0700)]
[PATCH] dm-ioctl: replace dm_[add|remove]_wait_queue() with dm_wait_event()
From: Kevin Corry <kevcorry@us.ibm.com>
Some testing of DM multipath has turned up a problem with the DEVICE_WAIT
command. In the tests, while performing a DEVICE_WAIT on a multipath device,
the command sometimes returns immediately, even though the event-number is
correct and no path-failure has occurred to trigger an event. The problem was
tracked down to the call to schedule() in dev_wait(), which would return even
though it was not woken up by a DM table event.
This patch moves the responsibility for waiting from the ioctl interface into
the core driver, and uses wait_event_interruptible() instead of relying on
wait-queues and schedule().
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Sat, 29 May 2004 03:56:58 +0000 (20:56 -0700)]
[PATCH] dm-ioctl.c: fix off-by-one error
From: Kevin Corry <kevcorry@us.ibm.com>
Fix an OB1 error when calculating an output buffer size, that could cause a
missing null termininator in the 'list devices' ioctl results. [Steffan
Paletta]
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Sat, 29 May 2004 03:56:47 +0000 (20:56 -0700)]
[PATCH] i386: put irq stacks in .bss.page_aligned section
From: Matt Mackall <mpm@selenic.com>
I noticed that my vmlinux BSS had grown from 17k to 45k between 2.6.5 and
2.6.6. 8k was moving a pair of objects in head.S from the text section to
bss, 8k was the introduction of IRQ stacks, while the remainder (12k) was
page alignment slop, some of it spurious. The following patch brings BSS
down to the expected 33k.
Throw the IRQ stacks into the page aligned section to avoided wasted BSS
space. While we'd expect this to save up to 4k, this saves over 10k of BSS
here due to gcc3.3 spuriously aligning other objects in the vicinity.
Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Sat, 29 May 2004 03:41:26 +0000 (20:41 -0700)]
[PATCH] fix non-existent /dev/adb
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This patch fixes the lack of /dev/adb in kernel 2.6.7-rc1. The call to
devfs_mk_cdev() has probably been removed too soon. Hope this one is
better than the last one ;)
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Colin Leroy <colin@colino.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Sat, 29 May 2004 03:41:04 +0000 (20:41 -0700)]
[PATCH] ppc64: remove silly debug path from get_vsid()
From: David Gibson <david@gibson.dropbear.id.au>
Currently the get_vsid() and get_kernel_vsid() functions have a test which
enables a different VSID algorithm for debugging. Using a dumb VSID
algorithm for stressing the hash table is a reasonable debugging tool, but
switching it at runtime makes no sense at all. Plus it adds another test
and memory access to the performance critical SLB miss path.
This patch removes the test, replacing it with a compile time switch. It
seems to make a measurable, although small speedup to the SLB miss path
(maybe 0.5%).
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Sean Young [Fri, 28 May 2004 23:59:46 +0000 (01:59 +0200)]
[WATCHDOG] v2.6.6 sc520_wdt.c-patch2
This patch also removes the cbar usage which is unnecessary. The MMCR is
always available at 0xfffef000; there is no need to use the cbar register
(if mmcr aliasing is enabled, then the MMCR is _also_ available at
another address set by CBAR).