commit d1ed6a3ea10aa7b199c434f6ffd1b6761896567a Merge: 59359ff... 38c9437... Author: Linus Torvalds Date: Sun Nov 5 19:10:04 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [NETLABEL]: Fix build failure. [IPV6]: Give sit driver an appropriate module alias. [IPV6]: Add ndisc_netdev_notifier unregister. [NET]: __alloc_pages() failures reported due to fragmentation [PKTGEN]: TCI endianness fixes [TG3]: Fix 2nd ifup failure on 5752M. [NETFILTER] bug: skb->protocol is already net-endian [NETFILTER] bug: nfulnl_msg_config_mode ->copy_range is 32bit [NETFILTER] bug: NFULA_CFG_QTHRESH uses 32bit [IPV6]: Fix ECN bug on big-endian [IPX]: Annotate and fix IPX checksum [IPX]: Trivial parts of endianness annotations commit 59359ff87700f5e742c96a55da9cf0819984c128 Author: David S. Miller Date: Sun Nov 5 16:51:03 2006 -0800 [SPARC]: Fix robust futex syscalls and wire up migrate_pages. When I added the entries for the robust futex syscall entries, I forgot to bump NR_SYSCALLS. The current situation is error-prone because NR_SYSCALLS lives in entry.S where the system call limit checks are enforced. Move the definition to asm/unistd.h in order to make this mistake much more difficult to make. And wire up sys_migrate_pages since the powerpc folks implemented the compat wrapper for us. Signed-off-by: David S. Miller commit 38c94377a36f70e86665231c9f477e445c806618 Author: Paul Moore Date: Sun Nov 5 16:44:06 2006 -0800 [NETLABEL]: Fix build failure. > the build with the attached .config failed, make ends with: > ... > : undefined reference to `cipso_v4_sock_getattr' > net/built-in.o: In function `netlbl_socket_getattr': ... It looks like I was stupid and made NetLabel depend on CONFIG_NET and not CONFIG_INET, the patch below should fix this by making NetLabel depend on CONFIG_INET and CONFIG_SECURITY. Please review and apply for 2.6.19. Signed-off-by: Paul Moore Signed-off-by: David S. Miller commit daccff024ffeb21caa2cc479ccc33b2ec50705b1 Author: Patrick McHardy Date: Sun Nov 5 15:47:04 2006 -0800 [IPV6]: Give sit driver an appropriate module alias. It would be nice to keep things working even with this built as a module, it took me some time to realize my IPv6 tunnel was broken because of the missing sit module. This module alias fixes things until distributions have added an appropriate alias to modprobe.conf. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 36f73d0c3b7efa72cd8b89f2d429ff39bc12f15c Author: Dmitry Mishin Date: Fri Nov 3 16:08:19 2006 -0800 [IPV6]: Add ndisc_netdev_notifier unregister. If inet6_init() fails later than ndisc_init() call, or IPv6 module is unloaded, ndisc_netdev_notifier call remains in the list and will follows in oops later. Signed-off-by: Dmitry Mishin Signed-off-by: David S. Miller commit db38c179a759a9c4722525e8c9f09ac80e372377 Author: Larry Woodman Date: Fri Nov 3 16:05:45 2006 -0800 [NET]: __alloc_pages() failures reported due to fragmentation We have seen a couple of __alloc_pages() failures due to fragmentation, there is plenty of free memory but no large order pages available. I think the problem is in sock_alloc_send_pskb(), the gfp_mask includes __GFP_REPEAT but its never used/passed to the page allocator. Shouldnt the gfp_mask be passed to alloc_skb() ? Signed-off-by: Larry Woodman Signed-off-by: David S. Miller commit 0f37c6057414fb68024793966b1dcb6a135cb844 Author: Al Viro Date: Fri Nov 3 03:49:56 2006 -0800 [PKTGEN]: TCI endianness fixes open-coded variant there works only for little-endian Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 36da4d869f23bc7d1a70a3185218cb626537845c Author: Michael Chan Date: Fri Nov 3 01:01:03 2006 -0800 [TG3]: Fix 2nd ifup failure on 5752M. This fixes a bug reported in: http://bugzilla.kernel.org/show_bug.cgi?id=7438 tg3_close() turns off the PHY if WoL and ASF are both disabled. On the next tg3_open(), some devices such as the 5752M will not be brought up correctly without a PHY reset early in the reset sequence. The PHY clock is needed for some internal MAC blocks to function correctly. This problem is fixed by always resetting the PHY early in tg3_reset_hw() when it is called from tg3_open() or tg3_resume(). tg3_setup_phy() can then be called later in the sequence without the reset_phy parameter set to 1, since the PHY reset is already done. Update version to 3.68. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit febf0a431e42f5a1fdb2b763273700610552ddcc Author: Al Viro Date: Fri Nov 3 00:59:17 2006 -0800 [NETFILTER] bug: skb->protocol is already net-endian htons() is not needed (and no, it's not misspelled ntohs() - userland expects net-endian here). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d1208b999dd367b72168cc3c7f8d8d2c95143c67 Author: Al Viro Date: Fri Nov 3 00:58:41 2006 -0800 [NETFILTER] bug: nfulnl_msg_config_mode ->copy_range is 32bit Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 7ac00a24f379f8ab9d3c968fea3dc030a45956fd Author: Al Viro Date: Fri Nov 3 00:58:17 2006 -0800 [NETFILTER] bug: NFULA_CFG_QTHRESH uses 32bit Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 95026cd242bd4188a036f2eba20994113ed5a5d7 Author: Al Viro Date: Fri Nov 3 00:55:35 2006 -0800 [IPV6]: Fix ECN bug on big-endian __constant_htons(2<<4) is not a replacement for htonl(2<<20). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 02e60370d4dac83f22d5ae75d5512bcb9a3f24b7 Author: Al Viro Date: Fri Nov 3 00:28:23 2006 -0800 [IPX]: Annotate and fix IPX checksum Calculation of IPX checksum got buggered about 2.4.0. The old variant mangled the packet; that got fixed, but calculation itself got buggered. Restored the correct logics, fixed a subtle breakage we used to have even back then: if the sum is 0 mod 0xffff, we want to return 0, not 0xffff. The latter has special meaning for IPX (cheksum disabled). Observation (and obvious fix) nicked from history of FreeBSD ipx_cksum.c... Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 4833ed094097323f5f219820f6ebdc8dd66f501f Author: Al Viro Date: Fri Nov 3 00:27:06 2006 -0800 [IPX]: Trivial parts of endianness annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 10b1fbdb0a0ca91847a534ad26d0bc250c25b74f Author: Linus Torvalds Date: Sat Nov 4 13:03:00 2006 -0800 Make sure "user->sigpending" count is in sync The previous commit (45c18b0bb579b5c1b89f8c99f1b6ffa4c586ba08, aka "Fix unlikely (but possible) race condition on task->user access") fixed a potential oops due to __sigqueue_alloc() getting its "user" pointer out of sync with switch_user(), and accessing a user pointer that had been de-allocated on another CPU. It still left another (much less serious) problem, where a concurrent __sigqueue_alloc and swich_user could cause sigqueue_alloc to do signal pending reference counting for a _different_ user than the one it then actually ended up using. No oops, but we'd end up with the wrong signal accounting. Another case of Oleg's eagle-eyes picking up the problem. This is trivially fixed by just making sure we load whichever "user" structure we decide to use (it doesn't matter _which_ one we pick, we just need to pick one) just once. Acked-by: Oleg Nesterov Cc: Andrew Morton Cc: Ingo Molnar Signed-off-by: Linus Torvalds commit 45c18b0bb579b5c1b89f8c99f1b6ffa4c586ba08 Author: Linus Torvalds Date: Sat Nov 4 10:06:02 2006 -0800 Fix unlikely (but possible) race condition on task->user access There's a possible race condition when doing a "switch_uid()" from one user to another, which could race with another thread doing a signal allocation and looking at the old thread ->user pointer as it is freed. This explains an oops reported by Lukasz Trabinski: http://permalink.gmane.org/gmane.linux.kernel/462241 We fix this by delaying the (reference-counted) freeing of the user structure until the thread signal handler lock has been released, so that we know that the signal allocation has either seen the new value or has properly incremented the reference count of the old one. Race identified by Oleg Nesterov. Cc: Lukasz Trabinski Cc: Oleg Nesterov Cc: Andrew Morton Cc: Ingo Molnar Signed-off-by: Linus Torvalds commit 80491eb90c750fcd7d13830062f27ae9b7cc5f75 Author: Linus Torvalds Date: Sat Nov 4 09:55:00 2006 -0800 Revert unintentional "volatile" changes in ipc/msg.c Commit 5a06a363ef48444186f18095ae1b932dddbbfa89 ("[PATCH] ipc/msg.c: clean up coding style") breaks fakeroot on Alpha (variously hangs or oopses), according to a report by Falk Hueffner. The fact that the code seems to rely on compiler access ordering through the use of "volatile" is a pretty certain sign that the code has locking problems, and we should fix those properly and then remove the whole "volatile" entirely. But in the meantime, the movement of "volatile" was unintentional, and should be reverted. Cc: Falk Hueffner Cc: Andrew Morton Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit ddac0d39cf437d02fde9795ae57d9c4b4c146de9 Author: Jens Axboe Date: Sat Nov 4 12:49:32 2006 +0100 [PATCH] splice: fix problem introduced with inode diet After the inode slimming patch that unionised i_pipe/i_bdev/i_cdev, it's no longer enough to check for existance of ->i_pipe to verify that this is a pipe. Original patch from Eric Dumazet Final solution suggested by Linus. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit aaa9b971398f62ab97c1da4f7c352667eb3452c9 Merge: a0d2db2... d572b87... Author: Linus Torvalds Date: Sat Nov 4 08:11:20 2006 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: JFS: Remove redundant xattr permission checking commit a0d2db26582a67b61f883d1469e561fbdef28419 Merge: ced3985... bb44c30... Author: Linus Torvalds Date: Fri Nov 3 12:28:45 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: PCI: Let PCI_MULTITHREAD_PROBE depend on BROKEN PCI: Revert "PCI: i386/x86_84: disable PCI resource decode on device disable" commit ced3985faebc232deec0dd9cc375cb5a43d18391 Merge: f1f2d87... 18ee91f... Author: Linus Torvalds Date: Fri Nov 3 12:28:27 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB: use MII hooks only if CONFIG_MII is enabled USB Storage: unusual_devs.h entry for Sony Ericsson P990i USB: xpad: additional USB id's added USB: fix compiler issues with newer gcc versions USB: HID: add blacklist AIRcable USB, little beautification USB: usblp: fix system suspend for some systems USB: failure in usblp's error path usbtouchscreen: use endpoint address from endpoint descriptor USB: sierra: Fix id for Sierra Wireless MC8755 in new table USB: new VID/PID-combos for cp2101 hid-core: big-endian fix fix USB: usb-storage: Unusual_dev update USB: add another sierra wireless device id commit f1f2d8713d16a1e198880bbc716eb24fae09c858 Author: Andreas Gruenbacher Date: Thu Nov 2 22:07:29 2006 -0800 [PATCH] Fix user.* xattr permission check for sticky dirs The user.* extended attributes are only allowed on regular files and directories. Sticky directories further restrict write access to the owner and privileged users. (See the attr(5) man page for an explanation.) The original check in ext2/ext3 when user.* xattrs were merged was more restrictive than intended, and when the xattr permission checks were moved into the VFS, read access to user.* attributes on sticky directores ended up being denied in addition. Originally-from: Gerard Neil Signed-off-by: Andreas Gruenbacher Cc: Dave Kleikamp Cc: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ce08464d2c749610a52c4d6c7c11080a7eaaef1 Author: Stephen Rothwell Date: Thu Nov 2 22:07:28 2006 -0800 [PATCH] Fix sys_move_pages when a NULL node list is passed sys_move_pages() uses vmalloc() to allocate an array of structures that is fills with information passed from user mode and then passes to do_stat_pages() (in the case the node list is NULL). do_stat_pages() depends on a marker in the node field of the structure to decide how large the array is and this marker is correctly inserted into the last element of the array. However, vmalloc() doesn't zero the memory it allocates and if the user passes NULL for the node list, then the node fields are not filled in (except for the end marker). If the memory the vmalloc() returned happend to have a word with the marker value in it in just the right place, do_pages_stat will fail to fill the status field of part of the array and we will return (random) kernel data to user mode. Signed-off-by: Stephen Rothwell Cc: Christoph Lameter Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cda5e61a8e0b11826780b8e5a4155683f0557c8b Author: Peer Chen Date: Thu Nov 2 22:07:27 2006 -0800 [PATCH] IDE: Add the support of nvidia PATA controllers of MCP67 to amd74xx.c Add support for PATA controllers of MCP67 to amd74xx.c. Signed-off-by: Peer Chen Cc: Jeff Garzik Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8804023061b3447fbaddbd286d78170ad88d1a43 Author: Oleg Nesterov Date: Thu Nov 2 22:07:26 2006 -0800 [PATCH] fix Documentation/accounting/getdelays.c buf size getdelays reports a "fatal reply error, errno 258". We don't have enough room for multi-threaded exit (PID + TGID). Signed-off-by: Oleg Nesterov Cc: Balbir Singh Cc: Shailabh Nagar Cc: Jay Lan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f604c4bc078213aa1c4576efa0e8dad98522fa7 Author: Amol Lad Date: Thu Nov 2 22:07:25 2006 -0800 [PATCH] drivers/isdn/hysdn/hysdn_sched.c: sleep after taking spinlock fix spin_lock_irq{save,restore} is incorrectly called here (the function can sleep after acquring the lock). done the necessary corrections and removed unwanted cli/sti. Signed-off-by: Amol Lad Signed-off-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43530d2b04b63ac4bb4ac25deee5f1180ccedc2e Author: Stephen Rothwell Date: Thu Nov 2 22:07:24 2006 -0800 [PATCH] powerpc: wire up sys_migrate_pages Signed-off-by: Stephen Rothwell Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3fd593979802f81ff6452596ac61e3840f917589 Author: Stephen Rothwell Date: Thu Nov 2 22:07:24 2006 -0800 [PATCH] Create compat_sys_migrate_pages This is needed on bigendian 64bit architectures. Signed-off-by: Stephen Rothwell Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f6f61649d8c64d7a3a4d143405df9a7bdd4af10 Author: Jeff Dike Date: Thu Nov 2 22:07:23 2006 -0800 [PATCH] uml: include tidying In order to get the __NR_* constants, we need sys/syscall.h. linux/unistd.h works as well since it includes syscall.h, however syscall.h is more parsimonious. We were inconsistent in this, and this patch adds syscall.h includes where necessary and removes linux/unistd.h includes where they are not needed. asm/unistd.h also includes the __NR_* constants, but these are not the glibc-sanctioned ones, so this also removes one such inclusion. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53b173327d283b9bdbfb0c3b6de6f0eb197819d6 Author: Jeff Dike Date: Thu Nov 2 22:07:22 2006 -0800 [PATCH] uml: fix I/O hang Fix a UML hang in which everything would just stop until some I/O happened - a ping, someone whacking the keyboard - at which point everything would start up again as though nothing had happened. The cause was gcc reordering some code which absolutely needed to be executed in the order in the source. When unblock_signals switches signals from off to on, it needs to see if any interrupts had happened in the critical section. The interrupt handlers check signals_enabled - if it is zero, then the handler adds a bit to the "pending" bitmask and returns. unblock_signals checks this mask to see if any signals need to be delivered. The crucial part is this: signals_enabled = 1; save_pending = pending; if(save_pending == 0) return; pending = 0; In order to avoid an interrupt arriving between reading pending and setting it to zero, in which case, the record of the interrupt would be erased, signals are enabled. What happened was that gcc reordered this so that 'save_pending = pending' came before 'signals_enabled = 1', creating a one-instruction window within which an interrupt could arrive, set its bit in pending, and have it be immediately erased. When the I/O workload is purely disk-based, the loss of a block device interrupt stops the entire I/O system because the next block request will wait for the current one to finish. Thus the system hangs until something else causes some I/O to arrive, such as a network packet or console input. The fix to this particular problem is a memory barrier between enabling signals and reading the pending signal mask. An xchg would also probably work. Looking over this code for similar problems led me to do a few more things: - make signals_enabled and pending volatile so that they don't get cached in registers - add an mb() to the return paths of block_signals and unblock_signals so that the modification of signals_enabled doesn't get shuffled into the caller in the event that these are inlined in the future. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2c89a4284ea4ecfba77c6f2d7d6f96d52e801e5 Author: Jeff Mahoney Date: Thu Nov 2 22:07:20 2006 -0800 [PATCH] reiserfs: reset errval after initializing bitmap cache Callers after reiserfs_init_bitmap_cache() expect errval to contain -EINVAL until much later. If a condition fails before errval is reset later, reiserfs_fill_super() will mistakenly return 0, causing an Oops in do_add_mount(). This patch resets errval to -EINVAL after the call. I view this as a temporary fix and real error codes should be used throughout reiserfs_fill_super(). Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3e5a938e7ed718f6d191e8b6b176fcfeb88a294 Author: Andrew Morton Date: Thu Nov 2 22:07:20 2006 -0800 [PATCH] spi section fix WARNING: vmlinux - Section mismatch: reference to .init.text:spi_register_board_info from __ksymtab_gpl between '__ksymtab_spi_register_board_info' (at offset 0xc032f7d0) and '__ksymtab_spi_alloc_master' Fix this by removing the export. Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b918f6e62cd46774f9fc0a3fbba6bd10ad85ee14 Author: Rafael J. Wysocki Date: Thu Nov 2 22:07:19 2006 -0800 [PATCH] swsusp: debugging Add a swsusp debugging mode. This does everything that's needed for a suspend except for actually suspending. So we can look in the log messages and work out a) what code is being slow and b) which drivers are misbehaving. (1) # echo testproc > /sys/power/disk # echo disk > /sys/power/state This should turn off the non-boot CPU, freeze all processes, wait for 5 seconds and then thaw the processes and the CPU. (2) # echo test > /sys/power/disk # echo disk > /sys/power/state This should turn off the non-boot CPU, freeze all processes, shrink memory, suspend all devices, wait for 5 seconds, resume the devices etc. Cc: Pavel Machek Cc: Stefan Seyfried Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90d53909443b3986569b38ef145f09ea2359af75 Author: Andrew Morton Date: Thu Nov 2 22:07:18 2006 -0800 [PATCH] acpi_noirq section fix WARNING: vmlinux - Section mismatch: reference to .init.data:acpi_noirq from .text between 'pcibios_penalize_isa_irq' (at offset 0xc026ffa1) and 'pirq_serverworks_get' Acked-by: "Brown, Len" Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19c6b6ed3f597a583f58e3fc99256cc01ae8c394 Author: Andrew Morton Date: Thu Nov 2 22:07:17 2006 -0800 [PATCH] schedule removal of FUTEX_FD Apparently FUTEX_FD is unfixably racy and nothing uses it (or if it does, it shouldn't). Add a warning printk, give any remaining users six months to migrate off it. Cc: Ulrich Drepper Cc: Ingo Molnar Acked-by: Thomas Gleixner Cc: Rusty Russell Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f46c483357c2d87606bbefb511321e3efd4baae0 Author: Andrew Morton Date: Thu Nov 2 22:07:16 2006 -0800 [PATCH] Add printk_timed_ratelimit() printk_ratelimit() has global state which makes it not useful for callers which wish to perform ratelimiting at a particular frequency. Add a printk_timed_ratelimit() which utilises caller-provided state storage to permit more flexibility. This function can in fact be used for things other than printk ratelimiting and is perhaps poorly named. Cc: Ulrich Drepper Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f6b8876c7e66b0d15af134e2a5b87e55514eb6d Author: Daniel Yeisley Date: Thu Nov 2 22:07:14 2006 -0800 [PATCH] init_reap_node() initialization fix It looks like there is a bug in init_reap_node() in slab.c that can cause multiple oops's on certain ES7000 configurations. The variable reap_node is defined per cpu, but only initialized on a single CPU. This causes an oops in next_reap_node() when __get_cpu_var(reap_node) returns the wrong value. Fix is below. Signed-off-by: Dan Yeisley Cc: Andi Kleen Acked-by: Christoph Lameter Cc: Pekka Enberg Cc: Manfred Spraul Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d13adb604693374c5fce47cd1a2017bcf3178eae Author: Yvan Seth Date: Thu Nov 2 22:07:13 2006 -0800 [PATCH] ipmi_si_intf.c sets bad class_mask with PCI_DEVICE_CLASS Taken from http://bugzilla.kernel.org/show_bug.cgi?id=7439 It looks like device registration in drivers/char/ipmi/ipmi_si_intf.c was cleaned up and a small error was made when setting the class_mask. The fix is simple as the correct mask value is defined in the code but is not used. Acked-by: Corey Minyard Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ef55b8a05c02db7c07d81827c69fe8f124e8654 Author: Srinivasa Ds Date: Thu Nov 2 22:07:12 2006 -0800 [PATCH] NFS4: fix for recursive locking problem When I was performing some operations on NFS, I got below error on server side. ============================================= [ INFO: possible recursive locking detected ] 2.6.19-prep #1 --------------------------------------------- nfsd4/3525 is trying to acquire lock: (&inode->i_mutex){--..}, at: [] mutex_lock+0x21/0x24 but task is already holding lock: (&inode->i_mutex){--..}, at: [] mutex_lock+0x21/0x24 other info that might help us debug this: 2 locks held by nfsd4/3525: #0: (client_mutex){--..}, at: [] mutex_lock+0x21/0x24 #1: (&inode->i_mutex){--..}, at: [] mutex_lock+0x21/0x24 stack backtrace: [] show_trace_log_lvl+0x58/0x16a [] show_trace+0xd/0x10 [] dump_stack+0x19/0x1b [] __lock_acquire+0x778/0x99c [] lock_acquire+0x4b/0x6d [] __mutex_lock_slowpath+0xbc/0x20a [] mutex_lock+0x21/0x24 [] vfs_rmdir+0x76/0xf8 [] nfsd4_clear_clid_dir+0x2c/0x41 [nfsd] [] nfsd4_remove_clid_dir+0xb1/0xe8 [nfsd] [] laundromat_main+0x9b/0x1c3 [nfsd] [] run_workqueue+0x7a/0xbb [] worker_thread+0xd2/0x107 [] kthread+0xc3/0xf2 [] kernel_thread_helper+0x5/0xb =================================================================== Cause for this problem was,2 successive mutex_lock calls on 2 diffrent inodes ,as shown below static int nfsd4_clear_clid_dir(struct dentry *dir, struct dentry *dentry) { int status; /* For now this directory should already be empty, but we empty it of * any regular files anyway, just in case the directory was created by * a kernel from the future.... */ nfsd4_list_rec_dir(dentry, nfsd4_remove_clid_file); mutex_lock(&dir->d_inode->i_mutex); status = vfs_rmdir(dir->d_inode, dentry); ... int vfs_rmdir(struct inode *dir, struct dentry *dentry) { int error = may_delete(dir, dentry, 1); if (error) return error; if (!dir->i_op || !dir->i_op->rmdir) return -EPERM; DQUOT_INIT(dir); mutex_lock(&dentry->d_inode->i_mutex); ... So I have developed the patch to overcome this problem. Signed-off-by: Srinivasa DS Cc: Neil Brown Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77d6e1397a004c9376fed855e4164ca2b1dba2ed Author: Akinobu Mita Date: Thu Nov 2 22:07:10 2006 -0800 [PATCH] edac_mc: fix error handling Call sysdev_class_unregister() on failure in edac_sysfs_memctrl_setup() and decrease identation level for clear logic. Acked-by: Doug Thompson Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7011774db8afca43be466f0f0428434a9edf053e Author: OGAWA Hirofumi Date: Thu Nov 2 22:07:10 2006 -0800 [PATCH] gfs2: ->readpages() fixes This just ignore the remaining pages, and remove unneeded unlock_pages(). Signed-off-by: OGAWA Hirofumi Cc: Steven French Cc: Miklos Szeredi Acked-by: Steven Whitehouse Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e990021bfc65b1a3778479a9e6b4811f9c1ff0e Author: OGAWA Hirofumi Date: Thu Nov 2 22:07:09 2006 -0800 [PATCH] fuse: ->readpages() cleanup This just ignore the remaining pages. Signed-off-by: OGAWA Hirofumi Cc: Steven French Cc: Miklos Szeredi Cc: Steven Whitehouse Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05ac9d4b3d7eac9e8542c83341a0e22d09aecf8f Author: OGAWA Hirofumi Date: Thu Nov 2 22:07:08 2006 -0800 [PATCH] cifs: ->readpages() fixes This just ignore the remaining pages, and will fix a forgot put_pages_list(). Signed-off-by: OGAWA Hirofumi Cc: Steven French Cc: Miklos Szeredi Cc: Steven Whitehouse Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 029e332ea717810172e965ec50f942755ad0c58a Author: OGAWA Hirofumi Date: Thu Nov 2 22:07:06 2006 -0800 [PATCH] Cleanup read_pages() Current read_pages() assume ->readpages() frees the passed pages. This patch free the pages in ->read_pages(), if those were remaining in the pages_list. So, readpages() just can ignore the remaining pages in pages_list. Signed-off-by: OGAWA Hirofumi Cc: Steven French Cc: Miklos Szeredi Cc: Steven Whitehouse Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d861d920a86523bbeb56c19b9906c3fb1b58048 Author: Randy Dunlap Date: Thu Nov 2 22:07:06 2006 -0800 [PATCH] lkdtm: cleanup headers and module_param/MODULE_PARM_DESC Fix module_param/sysfs file permission typo. Clean up MODULE_PARM_DESC strings to avoid fancy (and incorrect) formatting. Fix header includes for lkdtm; add some needed ones, remove unused ones; and fix this gcc warning: drivers/misc/lkdtm.c:150: warning: 'struct buffer_head' declared inside parameter list drivers/misc/lkdtm.c:150: warning: its scope is only this definition or declaration, which is probably not what you want Signed-off-by: Randy Dunlap Cc: Ankita Garg Cc: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86f4f0f9ba6e35fbbc409dfc3d8615c1a9822482 Author: Eric Sandeen Date: Thu Nov 2 22:07:05 2006 -0800 [PATCH] fix UFS superblock alignment issues ufs2 fails to mount on x86_64, claiming bad magic. This is because ufs_super_block_third's fs_un1 member is padded out by 4 bytes for 8-byte alignment, pushing down the rest of the struct. Forcing this to be packed solves it. I took a quick look over other on-disk structures and didn't immediately find other problems. I was able to mount & ls a populated ufs2 filesystem w/ this change. Signed-off-by: Eric Sandeen Cc: Evgeniy Dushistov Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 941c7105dc4f4961727acc518e18e00b9a03cbf3 Author: nkalmala Date: Thu Nov 2 22:07:04 2006 -0800 [PATCH] mm: un-needed add-store operation wastes a few bytes Un-needed add-store operation wastes a few bytes. 8 bytes wasted with -O2, on a ppc. Signed-off-by: nkalmala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7e12b838989b0e432c7a1cdf1e6c6fd936007f6 Author: Pavel Emelianov Date: Thu Nov 2 22:07:03 2006 -0800 [PATCH] Fix ipc entries removal Fix two issuses related to ipc_ids->entries freeing. 1. When freeing ipc namespace we need to free entries allocated with ipc_init_ids(). 2. When removing old entries in grow_ary() ipc_rcu_putref() may be called on entries set to &ids->nullentry earlier in ipc_init_ids(). This is almost impossible without namespaces, but with them this situation becomes possible. Found during OpenVZ testing after obvious leaks in beancounters. Signed-off-by: Pavel Emelianov Cc: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 733b72c31efb0d6b29577655939ccfe835381b52 Author: Randy Dunlap Date: Thu Nov 2 22:07:02 2006 -0800 [PATCH] docbook: merge journal-api into filesystems.tmpl Move journal-api into filesystems.tmpl as a Chapter. Applies on top of the previous docbook: make a filesystems book patch. Remove trailing whitespace from journal-api chapter. Align some of the tags. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6120938365df9976dc07c536e1c14190ead48e3 Author: Randy Dunlap Date: Thu Nov 2 22:07:01 2006 -0800 [PATCH] update some docbook comments Correct a few comments in kernel-doc Doc and source files. (akpm: note: the patch removes a non-ascii character and might have to be applied by hand..) Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87c2b7c045a44f6c1c7af23e64f2b286e6f7130a Author: Heiko Carstens Date: Thu Nov 2 22:06:58 2006 -0800 [PATCH] sys_pselect7 vs compat_sys_pselect7 uaccess error handling 758333458aa719bfc26ec16eafd4ad3a9e96014d fixes the not checked copy_to_user return value of compat_sys_pselect7. I ran into this too because of an old source tree, but my fix would look quite a bit different to Andi's fix. The reason is that the compat function IMHO should behave the very same as the non-compat function if possible. Since sys_pselect7 does not return -EFAULT in this specific case, change the compat code so it behaves like sys_pselect7. Cc: David Woodhouse Cc: Andi Kleen Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7870db4c7fa1b03fec133c4f4e67fdaa04c5ac15 Author: NeilBrown Date: Thu Nov 2 22:06:57 2006 -0800 [PATCH] md: send online/offline uevents when an md array starts/stops This allows udev to do something intelligent when an array becomes available. Acked-by: Greg KH Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df66b8552be5fdab5c4b4d53ee08b99388b9bd02 Author: Andrew Morton Date: Thu Nov 2 22:06:56 2006 -0800 [PATCH] tidy "md: check bio address after mapping through partitions" Neil's xterms are too wide. Cc: Neil Brown Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bd473fcc217adec000f213e8864bf9a161d57e1 Author: Michael Halcrow Date: Thu Nov 2 22:06:56 2006 -0800 [PATCH] eCryptfs: Fix pointer deref I missed a pointer dereference in this kmalloc result check. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18ee91fa9815fa3bb4e51cdcb8229bd0a0f11a70 Author: David Brownell Date: Thu Nov 2 12:29:12 2006 -0800 USB: use MII hooks only if CONFIG_MII is enabled Fix mcs7830 patch The recent mcs7830 update to make the MII support sharable goofed various pre-existing configurations in two ways: - it made the usbnet infrastructure reference MII symbols even when they're not needed in the kernel being built - it didn't enable MII along with the mcs7830 minidriver This patch fixes these two problems. However, there does seem to be a Kconfig reverse dependency bug in that MII gets wrongly enabled in some cases (like USBNET=y and USBNET_MII=n); I think I've noticed that same problem in other situations too. So the result can mean kernels being bloated by stuff that's needlessly enabled ... better than wrongly being disabled, but contributing to bloat. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9b823b43ff308c914530ec7fde5e2d79cb37b51a Author: Jan Mate Date: Fri Oct 20 14:51:44 2006 -0700 USB Storage: unusual_devs.h entry for Sony Ericsson P990i USB Storage: this patch adds support for Sony Ericsson P990i Signed-off-by: Jan Mate Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit d518b2b48a9c11fc381b179709f5321bce1f3b39 Author: Dominic Cerquetti Date: Fri Oct 20 14:51:45 2006 -0700 USB: xpad: additional USB id's added Adding additional USB vendor/product ID's for XBOX pads provided by the XBOX Linux team. Signed-off-by: Dominic Cerquetti Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 11bd44abbd204f580ea91e75c84e012988971012 Author: David Brownell Date: Wed Nov 1 14:26:26 2006 -0800 USB: fix compiler issues with newer gcc versions Remove complaint from newer GCCs; they don't like forward function declarations except in top-level contexts. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 23b0d968c2c82c2574ca97148ce092eff4ab84a6 Author: Naranjo Manuel Francisco Date: Fri Oct 27 16:08:54 2006 -0300 USB: HID: add blacklist AIRcable USB, little beautification This patch add AIRcable USBto USB-HID blacklist, makes some little changes things in the Kconfig to make AIRcable USB look as all the rest of drivers. And it removes the readme part that was on Documentation/usb/usb-serial.txt because it is not needed anymore. Signed-off-by: Naranjo Manuel Francisco commit 5a69ebe1e90d9e8d43131f08d344751cf42254c5 Author: Oliver Neukum Date: Sat Oct 28 18:07:25 2006 +0200 USB: usblp: fix system suspend for some systems this has been confirmed to fix suspend problems with usblp. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 6c8df79f8c0f8d861ea25e6e104a29398d8398f4 Author: Oliver Neukum Date: Sat Oct 28 11:36:59 2006 +0200 USB: failure in usblp's error path if urb submission fails due to a transient error here eg. ENOMEM , the driver is dead. This fixes it. Regards Oliver Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit d8fa59a8f6f7c9a1bc294154fd6805c6b247683d Author: Daniel Ritz Date: Fri Oct 27 22:46:03 2006 +0200 usbtouchscreen: use endpoint address from endpoint descriptor use the endpoint address from the endpoint descriptor instead of the hardcoding it to 0x81. at least some ITM based screen use a different address and don't work without this. Signed-off-by: Daniel Ritz Cc: Ralf Lehmann Cc: J.P. Delport Signed-off-by: Greg Kroah-Hartman commit baafe37c6a58d4ddb8c2c62cd0f20340b4c66b35 Author: Jan Luebbe Date: Fri Oct 27 18:59:24 2006 +0200 USB: sierra: Fix id for Sierra Wireless MC8755 in new table The new version of sierra.c has introduced tables for the 1 port and 3 port variants. The device id i added in my last patch needs to be added to the 3 port table. Signed-off-by: Jan Luebbe Cc: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 78001e3d75c5d3ae1e8dc9875892b9461e4c8d4b Author: Bjorn Schneider Date: Sat Oct 28 12:42:04 2006 +0200 USB: new VID/PID-combos for cp2101 3 new VID/PID combinations (registered with Silicon Laboratories Inc.) added for devices made by Lipowsky Industrie Elektronik GmbH all using the CP2102 usb-to-serial converter (Baby-JTAG, Baby-LIN, HARP-1). Signed-off-by: Bjorn Schneider Signed-off-by: Greg Kroah-Hartman commit 68717950e11eab8ff754b2721d23e9cb3a47b56f Author: Grant Grundler Date: Thu Oct 19 15:09:51 2006 -0700 hid-core: big-endian fix fix Adam Kropelin had posted 32-bit fix in June 2005 about two weeks after I originally had posted my fixes for big endian support. Adam has a UPS device which reports LINEV using 32-bits. Added comments to describe the limitations of the code. extract() is the same version I posted earlier and tested in user space. Made similar changes to implement() routine. I've written (and will shortly post) a test for implement(). Code tested on C3600 (parisc) with USB keyboard/mouse attached. I've dropped test_implement.c and a few other user space test programs on http://iou.parisc-linux.org/~grundler/tests/ -rw-r--r-- 1 grundler grundler 1750 Oct 18 09:13 test_extract.c -rw-r--r-- 1 grundler grundler 561 Jan 25 2006 test_ffs.c -rw-r--r-- 1 grundler users 7175 Apr 8 2005 test_fls.c -rw-r--r-- 1 grundler grundler 206 Sep 1 15:52 test_gettimeofday.c -rw-r--r-- 1 grundler grundler 1886 Oct 19 09:20 test_implement.c -rw-r--r-- 1 grundler users 2707 Jun 4 2005 test_unaligned.c I would appreciate if someone else would look at the output of test_implement.c to make it does The Right Thing. Signed-off-by: Grant Grundler Cc: Matthew Wilcox Cc: Dmitry Torokhov Acked-By: Adam Kropelin Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit bc724b98c5e782c2d6781428ed87768daa34921d Author: Phil Dibowitz Date: Thu Oct 19 00:11:17 2006 -0700 USB: usb-storage: Unusual_dev update The protocol in this entry is needed for some versions of the device but not others. This adds the NEED_OVERRIDE flag to prevent it complaining to users who don't need it. Signed-off-by: Phil Dibowitz commit 90ac3c8124453fb355c10d3e1a27af5c0ab21099 Author: Greg Kroah-Hartman Date: Tue Apr 9 12:14:34 2002 -0700 USB: add another sierra wireless device id As reported by Peter Kucmeroski and Jason Ganovsky. Cc: Peter Kucmeroski Cc: Jason Ganovsky Cc: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit bb44c308ee37c14ab63251e27d6d8b4dc73a10a4 Author: Adrian Bunk Date: Fri Oct 27 16:12:30 2006 -0700 PCI: Let PCI_MULTITHREAD_PROBE depend on BROKEN PCI_MULTITHREAD_PROBE is an interesting feature, but in its current state it seems to be more of a trap for users who accidentally enable it. This patch lets PCI_MULTITHREAD_PROBE depend on BROKEN for 2.6.19. The intention is to get this patch reversed in -mm as soon as it's in Linus' tree, and reverse it for 2.6.20 or 2.6.21 after the fallout of in-kernel problems PCI_MULTITHREAD_PROBE causes got fixed. (akpm: I get enough bug reports already) Signed-off-by: Adrian Bunk Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 6851ecc6e2fa4a01449a0fec9f4abd9aec43afde Author: Greg Kroah-Hartman Date: Thu Nov 2 23:02:24 2006 -0800 PCI: Revert "PCI: i386/x86_84: disable PCI resource decode on device disable" This reverts commit 53e4d30dd666d7f83598957ee4a415eefb47c9a6. It was found that it caused unneeded problems (see http://bugzilla.kernel.org/show_bug.cgi?id=7082 for details of one such issue. Signed-off-by: Greg Kroah-Hartman commit 2de6c39f389f25442389c3ab0f2d9b50e3f4a77d Merge: 0b0e0b5... 4fa2eee... Author: Linus Torvalds Date: Thu Nov 2 17:23:13 2006 -0800 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: pci_ids.h: Add NVIDIA PCI ID commit 0b0e0b5f1a22c20c0f127fb9b457136d6c3ca8ed Merge: 895663c... 8e87d4d... Author: Linus Torvalds Date: Thu Nov 2 17:22:24 2006 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] report rename failure when target file is locked by Windows [CIFS] Allow null user connections [CIFS] Fix readdir breakage when blocksize set too small commit 4fa2eeeac5e13a8579ee45bc172eed690d28fbb7 Author: Peer Chen Date: Thu Nov 2 18:55:48 2006 -0500 pci_ids.h: Add NVIDIA PCI ID Signed-off-by: Jeff Garzik commit 895663cd92574367054e0eb604a7428852f359b8 Author: Peer Chen Date: Thu Nov 2 17:59:46 2006 -0500 [libata] Add support for AHCI controllers of MCP67. Signed-off-by: Peer Chen Signed-off-by: Jeff Garzik commit 05e2867a7bcc76de37e103a97ed48ba6872db797 Author: Peer Chen Date: Thu Nov 2 17:58:21 2006 -0500 [libata] Add support for PATA controllers of MCP67 to pata_amd.c. Signed-off-by: Peer Chen Signed-off-by: Jeff Garzik commit 40eb006685387b2861bd7196be0ab7144c5d5b71 Merge: e957b00... 7a118df... Author: Linus Torvalds Date: Thu Nov 2 14:36:05 2006 -0800 Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband: RDMA/addr: Use client registration to fix module unload race IB/mthca: Fix MAD extended header format for MAD_IFC firmware command IB/uverbs: Return sq_draining value in query_qp response IB/amso1100: Fix incorrect pr_debug() IB/amso1100: Use dma_alloc_coherent() instead of kmalloc/dma_map_single IB/ehca: Fix eHCA driver compilation for uniprocessor RDMA/cma: rdma_bind_addr() leaks a cma_dev reference count IB/iser: Start connection after enabling iSER commit 7a118df3ea23820b9922a1b51cd2f24e464f4c17 Author: Sean Hefty Date: Tue Oct 31 11:12:59 2006 -0800 RDMA/addr: Use client registration to fix module unload race Require registration with ib_addr module to prevent caller from unloading while a callback is in progress. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit e957b00a8caece90cbc2afd0a4cb4c4d61b9efa8 Merge: 096e5bd... 236d333... Author: Linus Torvalds Date: Thu Nov 2 10:14:37 2006 -0800 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] Do not use -msym32 option for modules. [MIPS] Don't use R10000 llsc workaround version for all llsc-full processors. [MIPS] Ocelot G: Fix : "CURRENTLY_UNUSED" is not defined warning. [MIPS] Fix warning about init_initrd() call if !CONFIG_BLK_DEV_INITRD. [MIPS] IP27: Allow SMP ;-) Another changeset messed up by patch. [MIPS] Fix merge screwup by patch(1) Revert "[MIPS] Make SPARSEMEM selectable on QEMU." commit 236d333c3c05c179e31f461285c09271256a1381 Author: Atsushi Nemoto Date: Tue Oct 10 22:13:55 2006 +0900 [MIPS] Do not use -msym32 option for modules. On 64-bit kernel, modules are loaded into XKSEG for now. While XKSEG address is not a sign-extended 32-bit address, we can not use -msym32 option. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 904880e717c5466041485ca6d6e8c6c1ef06d0fd Author: Ralf Baechle Date: Fri Oct 13 11:32:50 2006 +0100 [MIPS] Don't use R10000 llsc workaround version for all llsc-full processors. Found and original patch by bile@landofbile.com. Signed-off-by: Ralf Baechle commit 8b922a851731037b2f1e1669e9b1a0baff3ab5dc Author: Ralf Baechle Date: Mon Oct 30 12:48:04 2006 +0000 [MIPS] Ocelot G: Fix : "CURRENTLY_UNUSED" is not defined warning. CC arch/mips/momentum/ocelot_g/gt-irq.o arch/mips/momentum/ocelot_g/gt-irq.c:30:5: warning: "CURRENTLY_UNUSED" is not defined arch/mips/momentum/ocelot_g/gt-irq.c:199:5: warning: "CURRENTLY_UNUSED" is not defined Signed-off-by: Ralf Baechle commit 9ba126cfbf505f4d5b39ed294cedd241321c7a91 Author: Ralf Baechle Date: Fri Oct 13 11:22:52 2006 +0100 [MIPS] Fix warning about init_initrd() call if !CONFIG_BLK_DEV_INITRD. Signed-off-by: Ralf Baechle commit 1a5c5de1b64ec510a6ab6994702c295db00b9acc Author: Ralf Baechle Date: Thu Nov 2 17:23:33 2006 +0000 [MIPS] IP27: Allow SMP ;-) Another changeset messed up by patch. When lmo commit 4ef893e0515e8bf336dfbd200884f244869fbb43 was merged to kernel.org as e73ea273ef87a04ff59fc368fa33333dca275dde patch happily applied the IP27 segment to IP22. f63f36c18b11e166d0f362ac04dbcd7e6ea23f9e did fix the effects partially - and with a wrong log message. Now fixed for real (tm). Signed-off-by: Ralf Baechle commit 8a88ca8f7fd15d06e53a848c6b3558ed9973327c Author: Ralf Baechle Date: Thu Nov 2 17:23:33 2006 +0000 [MIPS] Fix merge screwup by patch(1) Patch happily applied an Ocelot G patch to Ocelot C when merging linux-mips.org changeset 91ee9a801e65d2981dfe327d2519c7fc6ab02e6b into kernel.org as 6ceb6d3ab2d402cea326320a4143db90a66fd216. Signed-off-by: Ralf Baechle commit 8427829711b35e0e62668618cec577f65c102935 Author: Ralf Baechle Date: Thu Nov 2 02:00:02 2006 +0000 Revert "[MIPS] Make SPARSEMEM selectable on QEMU." This reverts commit 31473747bd441719f9f6a07385684dce547533e0. Another amazing example of patch(1) messing up - lmo changeset 66e8560d11d02bcadc261498471831a6375ad046 was merged twice to kernel.org and ended up doing this rubbish job. Signed-off-by: Ralf Baechle commit 096e5bdaf166791e128ed3b9190542412559333b Merge: eb193e4... 89f6822... Author: Linus Torvalds Date: Thu Nov 2 08:51:26 2006 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: jfs: Add splice support commit eb193e405155c5680ca1560b040b1551566660f9 Merge: 0ca2b77... 6f5b7ef... Author: Linus Torvalds Date: Thu Nov 2 08:50:46 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [NETFILTER]: silence a warning in ebtables [IPV6]: File the fingerprints off ah6->spi/esp6->spi [TCP]: Set default congestion control when no sysctl. [TIPC] net/tipc/port.c: fix NULL dereference commit d572b87946f8c598b3cad86a7913862dd48daadb Author: Dave Kleikamp Date: Thu Nov 2 10:50:40 2006 -0600 JFS: Remove redundant xattr permission checking The vfs handles most permissions for setting and retrieving xattrs. This patch removes a redundant and wrong check so that it won't override the correct behavior which is being fixed in the vfs. Signed-off-by: Dave Kleikamp commit 0ca2b776ab1f4ba99d7f592baa4ff8525e53b050 Merge: aefba08... c7fed9d... Author: Linus Torvalds Date: Thu Nov 2 08:50:02 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Fix futex_atomic_cmpxchg_inatomic implementation. commit 8e87d4dc159148f04f515bc072df22a2c089e7f2 Author: Steve French Date: Thu Nov 2 03:45:24 2006 +0000 [CIFS] report rename failure when target file is locked by Windows Fixes Samba bugzilla bug # 4182 Rename by handle failures (retry after rename by path) were not being returned back. Signed-off-by: Steve French commit aefba081d7b7dfd1c5752f6e6e709d8b5ab80ab7 Merge: 3ccfc65... 732f74a... Author: Linus Torvalds Date: Wed Nov 1 19:16:31 2006 -0800 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: Revert "[PATCH] Add 0x7110 piix to ata_piix.c" [libata] sata_nv: Add PCI IDs [PATCH] ahci: fix status register check in ahci_softreset commit 732f74a46711c0724885703fb689c79139c84a3c Author: Jeff Garzik Date: Wed Nov 1 22:09:21 2006 -0500 Revert "[PATCH] Add 0x7110 piix to ata_piix.c" This reverts commit f833229c96c0bf53c05995e4bd58709d9e9edd67: According to reviewers and the lspci data provided in commit message itself, PCI ID 0x7110 should not have been added to ata_piix. Signed-off-by: Jeff Garzik commit 6f5b7ef6b5816dc497094048d7d8a270004602d6 Author: Meelis Roos Date: Wed Nov 1 18:07:27 2006 -0800 [NETFILTER]: silence a warning in ebtables net/bridge/netfilter/ebtables.c: In function 'ebt_dev_check': net/bridge/netfilter/ebtables.c:89: warning: initialization discards qualifiers from pointer target type So make the char* a const char * and the warning is gone. Signed-off-by: Meelis Roos Signed-off-by: David S. Miller commit c7fed9d75074f7c243ec8ff2c55d04de2839a6f6 Author: David S. Miller Date: Wed Nov 1 16:30:39 2006 -0800 [SPARC64]: Fix futex_atomic_cmpxchg_inatomic implementation. I copied the logic from ll/sc arch implementations, but that was wrong and makes no sense at all. Just do a straight compare-exchange instruction, just like x86. Based upon bug reports from Dennis Gilmore and Fabio Massimo. Signed-off-by: David S. Miller commit 5b1225454f7891970cb5ba87c8ef24edb1fa6c3a Author: Al Viro Date: Wed Nov 1 15:28:58 2006 -0800 [IPV6]: File the fingerprints off ah6->spi/esp6->spi In theory these are opaque 32bit values. However, we end up allocating them sequentially in host-endian and stick unchanged on the wire. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b1736a71404b3961f061c795a81210aa7f945fc0 Author: Stephen Hemminger Date: Tue Oct 31 17:31:33 2006 -0800 [TCP]: Set default congestion control when no sysctl. The setting of the default congestion control was buried in the sysctl code so it would not be done properly if SYSCTL was not enabled. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d55b4c631e89a008e80b003e5aa4291d9ec800ac Author: Adrian Bunk Date: Tue Oct 31 16:59:35 2006 -0800 [TIPC] net/tipc/port.c: fix NULL dereference The correct order is: NULL check before dereference Spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 3ccfc65c5004e5fe5cfbffe43b8acc686680b53e Author: Paul Mackerras Date: Thu Nov 2 09:44:37 2006 +1100 [PATCH] powerpc: Eliminate "exceeds stub group size" linker warning It turns out that the linker warnings on 64-bit powerpc about "section blah exceeds stub group size" were being triggered by conditional branches in head_64.S branching to global symbols, whether in head_64.S or in other files. This eliminates the warnings by making some global symbols in head_64.S no longer global, and by rearranging some branches. Signed-off-by: Paul Mackerras [ Yee-haa. Maybe I'll notice newly introduced real warnings now - Linus ] Signed-off-by: Linus Torvalds commit dd472546edefe0d48613c466b110533514e20455 Merge: f9dadfa... 67cac1e... Author: Linus Torvalds Date: Wed Nov 1 12:00:22 2006 -0800 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] Fix warning in mips-boards generic PCI [MIPS] SMTC: Synchronize cp0 counters on bootup. [MIPS] SMTC: Fix crash if # of TC's > # of VPE's after pt_regs irq cleanup. [MIPS] 16K & 64K page size fixes commit f9dadfa71bc594df09044da61d1c72701121d802 Author: Linus Torvalds Date: Wed Nov 1 10:05:35 2006 -0800 i386: write IO APIC irq routing entries in correct order Since the "mask" bit is in the low word, when we write a new entry, we need to write the high word first, before we potentially unmask it. The exception is when we actually want to mask the interrupt, in which case we want to write the low word first to make sure that the high word doesn't change while the interrupt routing is still active. Signed-off-by: Linus Torvalds commit 67cac1eba7eee92e2b25c1e8e4737968dc7c8522 Author: Yoichi Yuasa Date: Wed Nov 1 18:55:22 2006 +0900 [MIPS] Fix warning in mips-boards generic PCI arch/mips/mips-boards/generic/pci.c: In function `mips_pcibios_init': arch/mips/mips-boards/generic/pci.c:227: warning: comparison of distinct pointer types lacks a cast arch/mips/mips-boards/generic/pci.c:228: warning: comparison of distinct pointer types lacks a cast Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 64c590b7a62ae1272fe4afd7b915de314591f35e Author: Ralf Baechle Date: Wed Nov 1 00:22:00 2006 +0000 [MIPS] SMTC: Synchronize cp0 counters on bootup. Signed-off-by: Ralf Baechle commit cb56837ea5f15fa5279fd490f292134c3a92e5de Author: Ralf Baechle Date: Tue Oct 31 22:49:04 2006 +0000 [MIPS] SMTC: Fix crash if # of TC's > # of VPE's after pt_regs irq cleanup. Signed-off-by: Ralf Baechle commit 242954b5aa8e5ec84f46a84637daf08ee4247c6e Author: Ralf Baechle Date: Tue Oct 24 02:29:01 2006 +0100 [MIPS] 16K & 64K page size fixes Derived from Peter Watkins 's work. Signed-off-by: Ralf Baechle commit 130fe05dbc0114609cfef9815c0c5580b42decfa Author: Linus Torvalds Date: Wed Nov 1 09:11:00 2006 -0800 i386: clean up io-apic accesses This is preparation for fixing the ordering of the accesses that got broken by the commit cf4c6a2f27f5db810b69dcb1da7f194489e8ff88 when factoring out the "common" io apic routing entry accesses. Move the accessor function (that were only used by io_apic.c) out of a header file, and use proper memory-mapped accesses rather than making up our own "volatile" pointers. Signed-off-by: Linus Torvalds commit 4b1c46a383aafc137bc91a0f9698bfc11e062d1b Merge: 30574b6... 4393c4f... Author: Linus Torvalds Date: Wed Nov 1 06:38:20 2006 -0800 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Make alignment exception always check exception table [POWERPC] Disallow kprobes on emulate_step and branch_taken [POWERPC] Make mmiowb's io_sync preempt safe [POWERPC] Make high hugepage areas preempt safe [POWERPC] Make current preempt-safe [POWERPC] qe_lib: qe_issue_cmd writes wrong value to CECDR [POWERPC] Use 4kB iommu pages even on 64kB-page systems [POWERPC] Fix oprofile support for e500 in arch/powerpc [POWERPC] Fix rmb() for e500-based machines it [POWERPC] Fix various offb issues commit 8fc2d9cae99e47e236cb7b77015b9faf69a097cc Author: Peer Chen Date: Wed Nov 1 05:23:11 2006 -0500 [libata] sata_nv: Add PCI IDs Signed-off-by: Jeff Garzik commit 1244a19cde42c268aa159d264fc2df072a3ff82f Author: Tejun Heo Date: Wed Nov 1 17:19:18 2006 +0900 [PATCH] ahci: fix status register check in ahci_softreset ahci_softreset() used to use ahci_tf_read() which reads D2H_REG area to check for the Status register. However, this area is zeroed on initialization and not set by initial signature FIS. Replace it with ahci_check_status(). This bug prevented CLO code from being activated whenever BSY and/or DRQ is set prior to softreset. This fix makes AHCI_FLAG_RESET_NEEDS_CLO flag redundant. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 30574b61611ccd29677989097f8c8a5d9a73d873 Merge: 0ca4323... c6446a4... Author: Linus Torvalds Date: Tue Oct 31 21:17:23 2006 -0800 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: [PATCH] ata_piix: allow 01b MAP for both ICH6M and ICH7M [PATCH] libata: unexport ata_dev_revalidate() [PATCH] Add 0x7110 piix to ata_piix.c [PATCH] sata_sis: fix flags handling for the secondary port commit 4393c4f6788cee65095dd838cfeca6edefbfeb52 Author: Benjamin Herrenschmidt Date: Wed Nov 1 15:11:39 2006 +1100 [POWERPC] Make alignment exception always check exception table The alignment exception used to only check the exception table for -EFAULT, not for other errors. That opens an oops window if we can coerce the kernel into getting an alignment exception for other reasons in what would normally be a user-protected accessor, which can be done via some of the futex ops. This fixes it by always checking the exception tables. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 0d69a052d4d7c4085706b9ac0d1bd28ff90c9fca Author: Gui,Jian Date: Wed Nov 1 10:50:15 2006 +0800 [POWERPC] Disallow kprobes on emulate_step and branch_taken On powerpc, probing on emulate_step function will crash 2.6.18.1 when it is triggered. When kprobe is triggered, emulate_step() is on its kernel path and will cause recursive kprobe fault. And branch_taken() is called in emulate_step(). This disallows kprobes on both of them. Signed-off-by: Paul Mackerras commit 292f86f005e3867277b2126c2399eea3e773a4fc Author: Hugh Dickins Date: Tue Oct 31 18:41:51 2006 +0000 [POWERPC] Make mmiowb's io_sync preempt safe If mmiowb() is always used prior to releasing spinlock as Doc suggests, then it's safe against preemption; but I'm not convinced that's always the case. If preemption occurs between sync and get_paca()->io_sync = 0, I believe there's no problem. But in the unlikely event that gcc does the store relative to another register than r13 (as it did with current), then there's a small danger of setting another cpu's io_sync to 0, after it had just set it to 1. Rewrite ppc64 mmiowb to prevent that. The remaining io_sync assignments in io.h all get_paca()->io_sync = 1, which is harmless even if preempted to the wrong cpu (the context switch itself syncs); and those in spinlock.h are while preemption is disabled. Signed-off-by: Hugh Dickins Signed-off-by: Paul Mackerras commit 96268889ee369b36203b7a06e8aabb197270216e Author: Hugh Dickins Date: Tue Oct 31 18:40:39 2006 +0000 [POWERPC] Make high hugepage areas preempt safe Checking source for other get_paca()->field preemption dangers found that open_high_hpage_areas does a structure copy into its paca while preemption is enabled: unsafe however gcc accomplishes it. Just remove that copy: it's done safely afterwards by on_each_cpu, as in open_low_hpage_areas. Signed-off-by: Hugh Dickins Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 5fe8e8b88e68e517637e3f8287f1fee89e2d9252 Author: Hugh Dickins Date: Tue Oct 31 18:39:31 2006 +0000 [POWERPC] Make current preempt-safe Repeated -j20 kernel builds on a G5 Quad running an SMP PREEMPT kernel would often collapse within a day, some exec failing with "Bad address". In each case examined, load_elf_binary was doing a kernel_read, but generic_file_aio_read's access_ok saw current->thread.fs.seg as USER_DS instead of KERNEL_DS. objdump of filemap.o shows gcc 4.1.0 emitting "mr r5,r13 ... ld r9,416(r5)" here for get_paca()->__current, instead of the expected and much more usual "ld r9,416(r13)"; I've seen other gcc4s do the same, but perhaps not gcc3s. So, if the task is preempted and rescheduled on a different cpu in between the mr and the ld, r5 will be looking at a different paca_struct from the one it's now on, pick up the wrong __current, and perhaps the wrong seg. Presumably much worse could happen elsewhere, though that split is rare. Other architectures appear to be safe (x86_64's read_pda is more limiting than get_paca), but ppc64 needs to force "current" into one instruction. Signed-off-by: Hugh Dickins Signed-off-by: Paul Mackerras commit 302439d2167e0f1e01a6480ac40c06063f4e16a1 Author: Timur Tabi Date: Tue Oct 31 17:53:42 2006 +0800 [POWERPC] qe_lib: qe_issue_cmd writes wrong value to CECDR Changed qe_issue_cmd() to write cmd_input to the CECDR unmodified. It was treating cmd_input as a virtual address and tried to convert it to a physical address. Signed-off-by: Timur Tabi Signed-off-by: Paul Mackerras commit 5d2efba64b231a1733c4048d1708d77e07f26426 Author: Linas Vepstas Date: Mon Oct 30 16:15:59 2006 +1100 [POWERPC] Use 4kB iommu pages even on 64kB-page systems The 10Gigabit ethernet device drivers appear to be able to chew up all 256MB of TCE mappings on pSeries systems, as evidenced by numerous error messages: iommu_alloc failed, tbl c0000000010d5c48 vaddr c0000000d875eff0 npages 1 Some experimentation indicates that this is essentially because one 1500 byte ethernet MTU gets mapped as a 64K DMA region when the large 64K pages are enabled. Thus, it doesn't take much to exhaust all of the available DMA mappings for a high-speed card. This patch changes the iommu allocator to work with its own unique, distinct page size. Although the patch is long, its actually quite simple: it just #defines a distinct IOMMU_PAGE_SIZE and then uses this in all the places that matter. As a side effect, it also dramatically improves network performance on platforms with H-calls on iommu translation inserts/removes (since we no longer call it 16 times for a 1500 bytes packet when the iommu HW is still 4k). In the future, we might want to make the IOMMU_PAGE_SIZE a variable in the iommu_table instance, thus allowing support for different HW page sizes in the iommu itself. Signed-off-by: Linas Vepstas Signed-off-by: Benjamin Herrenschmidt Acked-by: Olof Johansson Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit dd6c89f686bdb2a5de72fab636fc839e5a0add6d Author: Andy Fleming Date: Fri Oct 27 15:06:32 2006 -0500 [POWERPC] Fix oprofile support for e500 in arch/powerpc Fixed a compile error in building the 85xx support with oprofile, and in the process cleaned up some issues with the fsl_booke performance monitor code. * Reorganized FSL Book-E performance monitoring code so that the 7450 wouldn't be built if the e500 was, and cleaned it up so it was more self-contained. * Added a cpu_setup function for FSL Book-E. The original cpu_setup function prototype had no arguments, assuming that the reg_setup function would copy the required information into variables which represented the registers. This was silly for e500, since it has 1 register per counter (rather than 3 for all counters), so the code has been restructured to have cpu_setup take the current counter config array as an argument, with op_powerpc_setup() invoking op_powerpc_cpu_setup() through on_each_cpu(), and op_powerpc_cpu_setup() invoking the model-specific cpu_setup function with an argument. The argument is ignored on all other platforms at present. * Fixed a confusing line where a trinary operator only had two arguments Signed-off-by: Andrew Fleming Signed-off-by: Paul Mackerras commit e0da0daee14862e0a5c49f2059641a8deb27eca2 Author: Andy Fleming Date: Fri Oct 27 14:31:07 2006 -0500 [POWERPC] Fix rmb() for e500-based machines it The e500 core generates an illegal instruction exception when it tries to execute the lwsync instruction, which we currently use for rmb(). This fixes it by using the LWSYNC macro, which turns into a plain sync on 32-bit machines. Signed-off-by: Andrew Fleming Signed-off-by: Paul Mackerras commit 441cbd8dace80545db2ac43175ac1c097d96f75c Author: Benjamin Herrenschmidt Date: Thu Oct 26 15:38:10 2006 +1000 [POWERPC] Fix various offb issues This patch fixes a few issues in offb: - A test was inverted causing the palette hack to never work (no device node was passed down to the init function) - Some cards seem to have their assigned-addresses property in a random order, thus we need to try using of_get_pci_address() first, which will fail if it's not a PCI device, and fallback to of_get_address() in that case. of_get_pci_address() properly parsees assigned-addresses to test the BAR number and thus will get it right whatever the order is. - Some cards (like GXT4500) provide a linebytes of 0xffffffff in the device-tree which does no good. This patch handles that by using the screen width when that happens. (Also fixes btext.c while at it). - Add detection of the GXT4500 in addition to the GXT2000 for the palette hacks (we use the same hack, palette is linear in register space at offset 0x6000). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit c6446a4cdadaf411bafe1565e9fa7666f3c2fe95 Author: Tejun Heo Date: Mon Oct 9 13:23:58 2006 +0900 [PATCH] ata_piix: allow 01b MAP for both ICH6M and ICH7M ICH7M was separated from ICH6M to allow undocumented MAP value 01b which was spotted on an ASUS notebook. However, there is also notebooks with MAP value 01b on ICH6M. This patch re-merges ICH6M and ICH7M entries and allows MAP value 01b for both. This problem has been reported and initial patch provided by Jonathan Dieter. Signed-off-by: Tejun Heo Cc: Jonathan Dieter Cc: Tom Deblauwe Signed-off-by: Jeff Garzik commit 6e42acc4115bc376b8523acbcba2b2b7cc27d016 Author: Tejun Heo Date: Fri Oct 27 19:08:42 2006 -0700 [PATCH] libata: unexport ata_dev_revalidate() ata_dev_revalidate() isn't used outside of libata core. Unexport it. Signed-off-by: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit f833229c96c0bf53c05995e4bd58709d9e9edd67 Author: Jens Axboe Date: Tue Oct 31 09:31:37 2006 +0100 [PATCH] Add 0x7110 piix to ata_piix.c Hi Jeff, I tested the PATA support on my old VAIO notebook, and it failed to find my piix device: 00:07.1 Class 0101: 8086:7111 (rev 01) (prog-if 80 [Master]) Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- Signed-off-by: Jeff Garzik commit cf0e812f0e90ee496af072b136e8bd02770387e6 Author: Tejun Heo Date: Fri Oct 27 19:08:47 2006 -0700 [PATCH] sata_sis: fix flags handling for the secondary port sis_init_one() modifies probe_ent->port_flags after allocating and initializing it using ata_pci_init_native_mode(). This makes port_flags for the secondary port (probe_ent->pinfo2->flags) go out of sync resulting in misdetection of device due to incorrectly initialized SCR access flag. This patch make probe_ent alloc/init happen after the final port flags value is determined. This is fragile but probe_ent and all the related mess are scheduled to go away soon for exactly this reason. We just need to hold everything together till then. This has been spotted and diagnosed and tested by Patrick McHardy. Signed-off-by: Tejun Heo Cc: Patric McHardy Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 0ca43235b34c92278fa903297acef37198ec3e26 Author: Stephen Hemminger Date: Wed Oct 18 13:39:28 2006 -0700 [PATCH] sky2: netpoll on dual port cards The sky2 driver uses a single NAPI poll routine for both ports on dual ported cards (because there is a single IRQ and status ring). Netpoll makes assumptions about the relationship between network device and NAPI that aren't correct on the second port, this will cause the port to never clear work. Most systems, just have single port, so not a big issue. The easy fix is just make the second port, not netpoll capable. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 798b6b19d7a4b6e1ea5340ec8b3b92811e05b81b Author: Stephen Hemminger Date: Sun Oct 22 20:16:57 2006 -0700 [PATCH] skge, sky2, et all. gplv2 only I don't want my code to downgraded to GPLv3 because of cut-n-pasted the comments. These files which I hold copyright on were started before it was clear what GPLv3 was going to be. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 2ceaac755423cb93c1bb2f59ebd1a06f027ac095 Author: David Rientjes Date: Mon Oct 30 14:19:25 2006 -0800 [PATCH] net s2io: return on NULL dev_alloc_skb() Checks for NULL dev_alloc_skb() and returns on true to avoid subsequent dereference. Cc: Jeff Garzik Cc: Christoph Hellwig Signed-off-by: David Rientjes Signed-off-by: Jeff Garzik commit 1e1675ccf758cbb4303ab052d58405cda6c745a7 Author: Jan-Bernd Themann Date: Wed Oct 25 13:11:42 2006 +0200 [PATCH] ehea: kzalloc GFP_ATOMIC fix This patch fixes kzalloc parameters (GFP_ATOMIC instead of GFP_KERNEL) Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit 1e7bed081968c42469bd02842b4190a115008221 Author: Brice Goglin Date: Thu Oct 26 22:51:33 2006 +0200 [PATCH] myri10ge: ServerWorks HT2000 PCI id is already defined in pci_ids.h No need to keep defining PCI_DEVICE_ID_SERVERWORKS_HT2000_PCIE in the driver code since it is now defined in pci_ids.h. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit f479b322a0949d540b45aea645793058b0c50be5 Author: Stephen Hemminger Date: Fri Oct 27 10:22:10 2006 -0700 [PATCH] sky2: not experimental The sky2 driver is no longer in experimental state. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 09669585b5d0cfdebe28250d442693b3baac66a2 Author: Akinobu Mita Date: Sun Oct 29 03:47:12 2006 +0900 [PATCH] n2: fix confusing error code modprobe n2 with no parameters or no such devices will get confusing error message. # modprobe n2 ... Kernel does not have module support This patch replaces return code from -ENOSYS to -EINVAL. Cc: Jeff Garzik Cc: Krzysztof Halasa Signed-off-by: Akinobu Mita drivers/net/wan/n2.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) Signed-off-by: Jeff Garzik commit 9d4df9e0fadfc84cd826e0f7e946691b4d7baee5 Author: Akinobu Mita Date: Sun Oct 29 03:52:14 2006 +0900 [PATCH] tokenring: fix module_init error handling - Call platform_driver_unregister() before return when no cards found. (fixes data corruption when no cards found) - Check platform_device_register_simple() return value Cc: Jeff Garzik Cc: Mike Phillips Signed-off-by: Akinobu Mita drivers/net/tokenring/proteon.c | 9 +++++++-- drivers/net/tokenring/skisa.c | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) Signed-off-by: Jeff Garzik commit 06f0015ace46ce9d313ec02d6b13c47c8e795a6c Author: Lennert Buytenhek Date: Mon Oct 30 19:54:08 2006 +0100 [PATCH] ep93xx_eth: don't report RX errors Flooding the console with error messages for every RX FIFO overrun, checksum error and framing error isn't very sensible. Each of these errors can occur during normal operation, so stop printk'ing error messages for RX errors at all. Signed-off-by: Lennert Buytenhek Signed-off-by: Jeff Garzik commit 79c356f44b26da9fe357ed1a11e7faec4fd94e13 Author: Lennert Buytenhek Date: Mon Oct 30 19:52:54 2006 +0100 [PATCH] ep93xx_eth: fix unlikely(x) > y test Fix unlikely(x) > y test in ep93xx_eth. Signed-off-by: Lennert Buytenhek Signed-off-by: Jeff Garzik commit 2d38caba5fd148976f54930782e8209fa45879a0 Author: Lennert Buytenhek Date: Mon Oct 30 19:52:31 2006 +0100 [PATCH] ep93xx_eth: fix RX/TXstatus ring full handling Ray Lehtiniemi reported that an incoming UDP packet flood can lock up the ep93xx ethernet driver. Herbert Valerio Riedel noted that due to the way ep93xx_eth manages the RX/TXstatus rings, it cannot distinguish a full ring from an empty one, and correctly suggested that this was likely to be causing this lockup to occur. Instead of looking at the hardware's RX/TXstatus ring write pointers to determine when to stop reading from those rings, we should just check every individual RX/TXstatus descriptor's valid bit instead, since there is no other way to distinguish an empty ring from a full ring, and if there is a descriptor waiting, we take the hit of reading the descriptor from memory anyway. Signed-off-by: Lennert Buytenhek Signed-off-by: Jeff Garzik commit d5b9b787b5e1618dfe82a2c2a6972374e85b02db Merge: 16b7b2a... 024e4f2... Author: Linus Torvalds Date: Tue Oct 31 17:03:50 2006 -0800 Merge branch 'release' of master.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of master.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Correct definition of handle_IPI [IA64] move SAL_CACHE_FLUSH check later in boot [IA64] MCA recovery: Montecito support [IA64] cpu-hotplug: Fixing confliction between CPU hot-add and IPI [IA64] don't double >> PAGE_SHIFT pointer for /dev/kmem access commit 024e4f2c5175a482c234cf67ed22368d770bf78f Author: Keith Owens Date: Wed Oct 18 15:36:49 2006 +1000 [IA64] Correct definition of handle_IPI The declaration of handle_IPI in arch/ia64/kernel/smp.c was changed but not the definition of this function. Remove struct pt_regs from handle_IPI(). Signed-off-by: Keith Owens Signed-off-by: Tony Luck commit fa1d19e5d9a94120f31e5783ab44758f46892d94 Author: Troy Heber Date: Wed Oct 25 14:46:15 2006 -0600 [IA64] move SAL_CACHE_FLUSH check later in boot The check to see if the firmware drops interrupts during a SAL_CACHE_FLUSH is done to early in the boot. SAL_CACHE_FLUSH expects to be able to make PAL calls in virtual mode, on some cell based machines a fault occurs causing a MCA. This patch moves the check after mmu_context_init so the TLB and VHPT are properly setup. Signed-off-by Troy Heber Signed-off-by: Tony Luck commit 264b0f99308436deaee38bab99e586612d012fc1 Author: Russ Anderson Date: Wed Oct 25 17:59:47 2006 -0500 [IA64] MCA recovery: Montecito support The information in MCA records is filled in slightly differently on Montecito than on Madison/McKinley. Usually, the cache check and bus check target identifiers have the same address. On Montecito the cache check and bus check target identifiers can be different if a corrected error (ie SBE or unconsumed poison data) was encountered and then an uncorrected error (ie DBE) was consumed. In that case, the cache check target identifier is the physical address of the DBE (that caused the MCA to surface) while the bus check target identifier is the physical address of the SBE. This patch correctly finds the target identifier that triggered the MCA. If there are multiple valid cache target identifiers in the same error record then use the one with the lowest cache level. Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck commit 5ee7737379b1d7f0c977c0f1661fbaf01a8d4721 Author: Kenji Kaneshige Date: Fri Oct 27 19:49:53 2006 +0900 [IA64] cpu-hotplug: Fixing confliction between CPU hot-add and IPI Signed-off-by: Kenji Kaneshige Acked-by: Satoru Takeuchi Acked-by: KAMEZAWA Hiroyuki Signed-off-by: Tony Luck commit 16b7b2ac0148e839da86af8747b6fa4aad43a9b7 Author: Atsushi Nemoto Date: Tue Oct 24 00:21:27 2006 +0900 [MIPS] Fixup migration to GENERIC_TIME Since we already moved to GENERIC_TIME, we should implement alternatives of old do_gettimeoffset routines to get sub-jiffies resolution from gettimeofday(). This patch includes: * MIPS clocksource support (based on works by Manish Lachwani). * remove unused gettimeoffset routines and related codes. * remove unised 64bit do_div64_32(). * simplify mips_hpt_init. (no argument needed, __init tag) * simplify c0_hpt_timer_init. (no need to write to c0_count) * remove some hpt_init routines. * mips_hpt_mask variable to specify bitmask of hpt value. * convert jmr3927_do_gettimeoffset to jmr3927_hpt_read. * convert ip27_do_gettimeoffset to ip27_hpt_read. * convert bcm1480_do_gettimeoffset to bcm1480_hpt_read. * simplify sb1250 hpt functions. (no need to subtract and shift) Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 70e46f48cb5933119712ee27945309a4bfc98282 Author: Ralf Baechle Date: Tue Oct 31 18:33:09 2006 +0000 [MIPS] VSMP: Synchronize cp0 counters on bootup. Signed-off-by: Ralf Baechle commit e79f55a8c7aaae5a33e8c2b29682ec8e603b5434 Author: Ralf Baechle Date: Tue Oct 31 19:53:15 2006 +0000 [MIPS] Flags must be unsigned long. Signed-off-by: Ralf Baechle commit 781b0f8d4f9c90137ea32771346ab49f0e5319b3 Author: Ralf Baechle Date: Tue Oct 31 18:25:10 2006 +0000 [MIPS] VSMP: Fix initialization ordering bug. Signed-off-by: Ralf Baechle commit 3ab0f40f333007eb31dc1e08f578ec224c7d71c2 Author: Yoichi Yuasa Date: Tue Oct 31 13:44:38 2006 +0900 [MIPS] Fix warning of printk format in mips_srs_init() arch/mips/kernel/traps.c:1115: warning: int format, long unsigned int arg (arg 2) Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 38384c8bd82474bf74ea68e4e44aaa14504deb07 Author: Yoichi Yuasa Date: Tue Oct 31 13:38:44 2006 +0900 [MIPS] Yosemite: fix uninitialized variable in titan_i2c_xfer() Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit c21e6d65f70d64b359a37545592f39e28074864e Author: Ralf Baechle Date: Tue Oct 31 13:41:59 2006 +0000 [MIPS] Sort out missuse of __init for prom_getcmdline() Signed-off-by: Ralf Baechle commit e8f05de54055e90e6d58e45866f84ecdb0b48acd Author: Manish Lachwani Date: Sat Jan 22 09:23:38 2005 -0800 [MIPS] Add missing file for support of backplane on TX4927 based board Signed-off-by: Manish Lachwani Signed-off-by: Ralf Baechle commit 0887fa5158fe7da4a46ae526d313ae636440deae Author: Ralf Baechle Date: Tue Oct 31 11:52:03 2006 +0000 [MIPS] TX4927: Remove indent error message that somehow ended in the code. Signed-off-by: Ralf Baechle commit 68586b67ab1a2fd618f79e29a06f10ae886f4b46 Author: Michael S. Tsirkin Date: Mon Oct 30 16:31:52 2006 +0200 IB/mthca: Fix MAD extended header format for MAD_IFC firmware command Several fields in an incoming MAD extended info header were passed into the MAD_IFC firmware command at incorrect offsets (mostly off by 4 bytes). As the result, the HCA will fail to generate traps in which this info is needed (e.g. traps which include the GRH of the incoming packet), in violation of the IB spec. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 80fc115d461031dc66bb7f31b8c84868e370fea6 Author: Randy Dunlap Date: Mon Oct 30 20:41:11 2006 -0800 [PATCH] SCSI: ISCSI build failure SCSI_QLA_ISCSI needs to depend on NET to prevent build (link) failures that are caused by selecting SCSI_ISCSI_ATTRS. Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 5fccbf61be2a7f32d2002b04afca4c5009612a58 Author: Jens Axboe Date: Tue Oct 31 14:21:55 2006 +0100 [PATCH] CFQ: request <-> request merging rr_list fixup In very rare circumstances would we be pruning a merged request and at the same time delete the implicated cfqq from the rr_list, and not readd it when the merged request got added. This could cause io stalls until that process issued io again. Fix it up by putting the rr_list add handling into cfq_add_rq_rb(), identical to how pruning is handled in cfq_del_rq_rb(). This fixes a hang reproducible with fsx-linux. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit eafa6cb18ec7e5424ce54017b5ce6d11dff58b79 Merge: 612b322... 4731f2d... Author: Linus Torvalds Date: Tue Oct 31 08:10:03 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: Titan defconfig update. sh: Fix IPR-IRQ's for IRQ-chip change breakage. sh: Update r7780rp_defconfig. video: Fix include in hp680_bl. sh: Wire up new syscalls. commit 612b322ade7954a1d984fa410a70d4ae50f75c0d Merge: d2c59a2... 1b7c2db... Author: Linus Torvalds Date: Tue Oct 31 08:08:31 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [IPV6]: fix flowlabel seqfile handling [IPV6]: return EINVAL for invalid address with flowlabel lease request [SCTP]: Remove temporary associations from backlog and hash. [SCTP]: Correctly set IP id for SCTP traffic [NetLabel]: protect the CIPSOv4 socket option from setsockopt() [NETFILTER]: ip_tables: compat code module refcounting fix [NETFILTER]: nf_conntrack: add missing unlock in get_next_corpse() [NETFILTER]: ip_tables: compat error way cleanup [NETFILTER]: Missed and reordered checks in {arp,ip,ip6}_tables [NETFILTER]: remove masq/NAT from ip6tables Kconfig help [IPV6]: fix lockup via /proc/net/ip6_flowlabel [NET]: fix uaccess handling [SCTP]: Always linearise packet on input [ETH1394]: Fix unaligned accesses. [DCCP]: fix printk format warnings [NET]: Fix segmentation of linear packets [XFRM] xfrm_user: Fix unaligned accesses. [APPLETALK]: Fix potential OOPS in atalk_sendmsg(). [NET] sealevel: uses arp_broken_ops commit d2c59a22dd7c0a59dfff60a8e9910f76f308b9f2 Merge: 5ddfe96... 5af47db... Author: Linus Torvalds Date: Tue Oct 31 08:08:06 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Add some missing print_symbol() calls. [SPARC64]: Fix Tomatillo/Schizo IRQ handling. commit 5ddfe9691c91a244e8d1be597b6428fcefd58103 Author: NeilBrown Date: Mon Oct 30 22:07:21 2006 -0800 [PATCH] md: check bio address after mapping through partitions. Partitions are not limited to live within a device. So we should range check after partition mapping. Note that 'maxsector' was being used for two different things. I have split off the second usage into 'old_sector' so that maxsector can be still be used for it's primary usage later in the function. Cc: Jens Axboe Signed-off-by: Neil Brown Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45ec4ababe999cb95f9c0cad03b2689cb0b77a2b Author: Michael Halcrow Date: Mon Oct 30 22:07:20 2006 -0800 [PATCH] eCryptfs: Fix handling of lower d_count Fix the use of dget/dput calls to balance out on the lower filesystem. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 316bb95e8ed0ddcd767e8aa54264b6c6190f150c Author: Michael Halcrow Date: Mon Oct 30 22:07:20 2006 -0800 [PATCH] eCryptfs: Remove ecryptfs_umount_begin There is no point to calling the lower umount_begin when the eCryptfs umount_begin is called. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ff1d74f5670329ac4b5959a675f8698ba95be20 Author: Michael Halcrow Date: Mon Oct 30 22:07:19 2006 -0800 [PATCH] eCryptfs: Consolidate lower dentry_open's Opens on lower dentry objects happen in several places in eCryptfs, and they all involve the same steps (dget, mntget, dentry_open). This patch consolidates the lower open events into a single function call. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bba066f4e3854755a303cee37ea37bd080a46b3 Author: Michael Halcrow Date: Mon Oct 30 22:07:18 2006 -0800 [PATCH] eCryptfs: Cipher code to new crypto API Update cipher block encryption code to the new crypto API. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 565d9724b8ce49b530287de34aa17f45f21624d5 Author: Michael Halcrow Date: Mon Oct 30 22:07:17 2006 -0800 [PATCH] eCryptfs: Hash code to new crypto API Update eCryptfs hash code to the new kernel crypto API. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5d9cbde6ce0001e49994df5fcdcbeff8be8037b Author: Michael Halcrow Date: Mon Oct 30 22:07:16 2006 -0800 [PATCH] eCryptfs: Clean up crypto initialization Clean up the crypto initialization code; let the crypto API take care of the key size checks. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a279ff1ea1cf325775ada983035123fcdc8e986 Author: Oleg Nesterov Date: Mon Oct 30 22:07:15 2006 -0800 [PATCH] taskstats: fix sub-threads accounting If there are no listeners, taskstats_exit_send() just returns because taskstats_exit_alloc() didn't allocate *tidstats. This is wrong, each sub-thread should do fill_tgid_exit() on exit, otherwise its ->delays is not recorded in ->signal->stats and lost. Q: We don't send TASKSTATS_TYPE_AGGR_TGID when single-threaded process exits. Is it good? How can the listener figure out that it was actually a process exit, not sub-thread? Signed-off-by: Oleg Nesterov Cc: Balbir Singh Acked-by: Shailabh Nagar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 525fdb6cc929b515ad7e0be40fd023cff8660ed8 Author: Jeff Dike Date: Mon Oct 30 22:07:14 2006 -0800 [PATCH] uml: add INITCALLS This is the UML piece of the INITCALLS tidying. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1480c56feb2a894fd47fb399999a5b320c3e103 Author: Jeff Dike Date: Mon Oct 30 22:07:13 2006 -0800 [PATCH] uml: add _text definition to linker scripts kallsyms now refers to addresses as '_text + 0xADDRESS', rather than just '0xADDRESS', so we need to define _text. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8d7c28ec0b50ac57ddc909ae6eca1519473f300 Author: Paolo 'Blaisorblade' Giarrusso Date: Mon Oct 30 22:07:12 2006 -0800 [PATCH] uml ubd driver: various little changes Fix a small memory leak in ubd_config, and clearify the confusion which lead to it. Then, some little changes not affecting operations - * move init functions together, * add a comment about a potential problem in case of some evolution in the block layer, * mark all initcalls as static __init functions * mark an used once little function as inline * document that mconsole methods are all called in process context (was triggered when checking ubd mconsole methods). Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0bf16bffeef65622603af22151156807323d7dc7 Author: Paolo 'Blaisorblade' Giarrusso Date: Mon Oct 30 22:07:11 2006 -0800 [PATCH] uml ubd driver: do not store error codes as ->fd To simplify error handling, make sure fd is saved into ubd_dev->fd only when we are sure it is an fd and not an error code. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84e945e399ce9710a34035ea81eaf5719aa709af Author: Paolo 'Blaisorblade' Giarrusso Date: Mon Oct 30 22:07:10 2006 -0800 [PATCH] uml ubd driver: use bitfields where possible Use bitfields for boolean fields in ubd data structure. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7f6552f237498c805af9f01aba168b731e0a4ce Author: Paolo 'Blaisorblade' Giarrusso Date: Mon Oct 30 22:07:09 2006 -0800 [PATCH] uml ubd driver: reformat ubd_config Pure whitespace and style fixes split out from subsequent patch. Some changes (err -> ret) don't make sense now, only later, but I split them out anyway since they cluttered the patch. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2fe30a34a141c2188ff2cdd670d031088d9c5d20 Author: Paolo 'Blaisorblade' Giarrusso Date: Mon Oct 30 22:07:09 2006 -0800 [PATCH] uml ubd driver: convert do_ubd to a boolean variable do_ubd is actually just a boolean variable - the way it is used currently is a leftover from the old 2.4 block layer, but it is still used; its use is suspicious, but removing it would be too intrusive for now and needs more thinking. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33f775eea185e8df7701c4afc2c8fcee85c83282 Author: Paolo 'Blaisorblade' Giarrusso Date: Mon Oct 30 22:07:08 2006 -0800 [PATCH] uml ubd driver: ubd_io_lock usage fixup Add some comments about requirements for ubd_io_lock and expand its use. When an irq signals that the "controller" (i.e. another thread on the host, which does the actual requests and is the only one blocked on I/O on the host) has done some work, we call again the request function ourselves (do_ubd_request). We now do that with ubd_io_lock held - that's useful to protect against concurrent calls to elv_next_request and so on. XXX: Maybe we shouldn't call at all the request function. Input needed on this. Are we supposed to plug and unplug the queue? That code "indirectly" does that by setting a flag, called do_ubd, which makes the request function return (it's a residual of 2.4 block layer interface). Meanwhile, however, merge this patch, which improves things. Cc: Jens Axboe Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7fb2c3865ca0f95d92e2864c3dc9220789d83f5 Author: Paolo 'Blaisorblade' Giarrusso Date: Mon Oct 30 22:07:07 2006 -0800 [PATCH] uml ubd driver: change ubd_lock to be a mutex This lock protects ubd setup and teardown, so is only used in process context; beyond that, during such setup memory allocations must be performed and some generic functions which can sleep must be called (such as add_disk()). So the only correct solution is to make it a mutex instead of a spin_lock. No other change is done - this lock must be acquired in different places but it's done afterwards. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f75a4f887a35b99878fc07ed749a90375194b63 Author: Paolo 'Blaisorblade' Giarrusso Date: Mon Oct 30 22:07:06 2006 -0800 [PATCH] uml ubd driver: give better names to some functions. To rethink locking, I needed to understand well what each function does. While doing this I renamed some: * ubd_close -> ubd_close_dev (since it pairs with ubd_open_dev) * ubd_new_disk -> ubd_disk_register (it handles registration with the block layer - one hopes this makes clearer the difference with ubd_add()) Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d314e346d6081e8013a96206e601a48528d8f60 Author: Paolo 'Blaisorblade' Giarrusso Date: Mon Oct 30 22:07:05 2006 -0800 [PATCH] uml ubd driver: var renames Rename the ubd_dev array to ubd_devs and then call any "struct ubd" ubd_dev instead of dev, which doesn't make clear what we're treating (and no, it's not hungarian notation - not any more than calling all vm_area_struct vma or all inodes inode). Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a9d32f682b2b4928dcd4680bc99e98a3d096816 Author: Paolo 'Blaisorblade' Giarrusso Date: Mon Oct 30 22:07:04 2006 -0800 [PATCH] uml ubd driver: document some struct fields Add documentation about some fields in struct ubd, whose meaning is non-obvious due to struct names (should change names altogether, I agree). Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97d88ac83540f9ba9536326c30db4815c5b9169b Author: Paolo 'Blaisorblade' Giarrusso Date: Mon Oct 30 22:07:03 2006 -0800 [PATCH] uml ubd driver: allow using up to 16 UBD devices With 256 minors and 16 minors used per each UBD device, we can allow the use of up to 16 UBD devices per UML. Also chnage parse_unit and leave to the caller (which already do it) the check for excess numbers, since this is just supposed to do raw parsing. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36a561d6a95c4b89ae4845bf91456b4f784b6eec Author: Andrew Morton Date: Mon Oct 30 22:07:03 2006 -0800 [PATCH] find_bd_holder() fix fs/block_dev.c: In function 'find_bd_holder': fs/block_dev.c:666: warning: return makes integer from pointer without a cast fs/block_dev.c:669: warning: return makes integer from pointer without a cast fs/block_dev.c: In function 'add_bd_holder': fs/block_dev.c:685: warning: unused variable 'tmp' fs/block_dev.c: In function 'bd_claim_by_kobject': fs/block_dev.c:773: warning: assignment makes pointer from integer without a cast Acked-by: Jun'ichi Nomura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b7c2dbc07bf0663a41e3dc838992930019f08fd Author: James Morris Date: Tue Oct 31 00:43:44 2006 -0800 [IPV6]: fix flowlabel seqfile handling There's a bug in the seqfile show operation for flowlabel objects, where each hash chain is traversed cumulatively for each element. The following function is called for each element of each chain: static void ip6fl_fl_seq_show(struct seq_file *seq, struct ip6_flowlabel *fl) { while(fl) { seq_printf... fl = fl->next; } } Thus, objects can appear mutliple times when reading /proc/net/ip6_flowlabel, as the above is called for each element in the chain. The solution is to remove the while() loop from the above, and traverse each chain exactly once, per the patch below. This also removes the ip6fl_fl_seq_show() function, which does nothing else. Signed-off-by: James Morris Signed-off-by: David S. Miller commit 0b26c88f29ad8bcf91a2ea8f25a36f2028ebabea Author: Jack Morgenstein Date: Wed Oct 25 12:54:20 2006 +0200 IB/uverbs: Return sq_draining value in query_qp response Return the sq_draining value back to user space for query_qp instead of the en_sqd_async notify value, which is valid only for modify_qp. For query_qp, the draining status should returned. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit d7b748d63c908a0a85099ce546594192ae0926f6 Author: Steve Wise Date: Mon Oct 30 20:52:53 2006 -0800 IB/amso1100: Fix incorrect pr_debug() pr_debug() was printing the wrong stuff. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 8de94ce19dd3c6fc6e9d9658da11cf3d76841ee5 Author: Steve Wise Date: Fri Oct 27 17:28:35 2006 -0500 IB/amso1100: Use dma_alloc_coherent() instead of kmalloc/dma_map_single The Ammasso driver needs to use dma_alloc_coherent() for allocating memory that will be used by the HW for dma. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 04d03bc576f244bfa9692452aab83fa357ac0d57 Author: Paul Mackerras Date: Wed Oct 25 15:28:08 2006 +1000 IB/ehca: Fix eHCA driver compilation for uniprocessor The eHCA driver does not compile for a uniprocessor configuration (CONFIG_SMP=n), due to H_SUCCESS and other symbols being undefined. This fixes it. Signed-off-by: Paul Mackerras Acked-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 255d0c14b3757e8bd85add874e4dca4c3621b39e Author: Krishna Kumar Date: Tue Oct 24 13:22:28 2006 -0700 RDMA/cma: rdma_bind_addr() leaks a cma_dev reference count rdma_bind_addr() leaks a cma_dev reference count in failure case. Signed-off-by: Krishna Kumar Signed-off-by: Sean Hefty commit 2e7a7426282bfa2d7dff6eddc5485af8c79a68f3 Author: Erez Zilber Date: Sun Oct 22 10:28:38 2006 +0200 IB/iser: Start connection after enabling iSER When a connection is started (a new connection or a recovered one), iSER should prepare its resources for full-featured mode and only then notify the iSCSI layer that it is ready to start queueing commands. Signed-off-by: Erez Zilber Signed-off-by: Roland Dreier commit 4731f2dfd5049b7a2b3b5a7131525f6151855f0d Author: Jamie Lenehan Date: Tue Oct 31 12:36:35 2006 +0900 sh: Titan defconfig update. Small defconfig update for titan for 2.6.19-rc3, adding SH-RTC. Signed-off-by: Jamie Lenehan Signed-off-by: Paul Mundt commit bd71ab88deab3358241f22ed6c035c427aacc4e7 Author: Jamie Lenehan Date: Tue Oct 31 12:35:02 2006 +0900 sh: Fix IPR-IRQ's for IRQ-chip change breakage. The conversion from IPR-IRQ to IRQ-chip resulted in the ipr data being allocated in a local variable in make_ipr_irq - breaking anything using IPR interrupts. This changes all of the callers of make_ipr_irq to allocate a static structure containing the IPR data which is then passed to make_ipr_irq. This removes the need for make_ipr_irq to allocate any additional space for the IPR information. Signed-off-by: Jamie Lenehan Signed-off-by: Paul Mundt commit 1f6c526c409ed7ecdd02469c46ab4b4a50ebec45 Author: Paul Mundt Date: Tue Oct 31 12:33:30 2006 +0900 sh: Update r7780rp_defconfig. Small defconfig updates for R7780RP, enabling SH-RTC. Signed-off-by: Paul Mundt commit 1aea7e00f6b83d32d359aeb8d670f1f7aaa88d55 Author: Kristoffer Ericson Date: Tue Oct 31 11:47:27 2006 +0900 video: Fix include in hp680_bl. The hp6xx.h header moved location, causing the build to fail, fix it up. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit 6887d83d6a537b5002edff7efa1a7c600af0ce26 Author: Paul Mundt Date: Tue Oct 31 11:44:25 2006 +0900 sh: Wire up new syscalls. This wires up sys_move_pages, sys_getcpu, and sys_epoll_pwait. Signed-off-by: Paul Mundt commit 5af47db796cb7e06e9bafb0d75ad98693b55f8b6 Author: David S. Miller Date: Mon Oct 30 01:10:20 2006 -0800 [SPARC64]: Add some missing print_symbol() calls. Signed-off-by: David S. Miller commit 9001f2850ff92b52d7654379e7b7feb72f78f161 Author: David S. Miller Date: Sun Oct 29 16:32:31 2006 -0800 [SPARC64]: Fix Tomatillo/Schizo IRQ handling. The code in schizo_irq_trans_init() should set irq_data->sync_reg to the location of the SYNC register if this is Tomatillo, and set it to zero otherwise. But that is not what it is doing. As a result, non-Tomatillo systems were trying to access a non-existent register resulting in bus errors at the first PCI interrupt. Thanks to Roland Stigge for the bug report. Signed-off-by: David S. Miller commit c6817e4c32d8c4118405d2dec30ac1c264349085 Author: James Morris Date: Mon Oct 30 18:56:06 2006 -0800 [IPV6]: return EINVAL for invalid address with flowlabel lease request Currently, when an application requests a lease for a flowlabel via the IPV6_FLOWLABEL_MGR socket option, no error is returned if an invalid type of destination address is supplied as part of the request, leading to a silent failure. This patch ensures that EINVAL is returned to the application in this case. Signed-off-by: James Morris Signed-off-by: David S. Miller commit de76e695a5ce19c121ba7e246b45f258be678a75 Author: Vlad Yasevich Date: Mon Oct 30 18:55:11 2006 -0800 [SCTP]: Remove temporary associations from backlog and hash. Every time SCTP creates a temporary association, the stack hashes it, puts it on a list of endpoint associations and increments the backlog. However, the lifetime of a temporary association is the processing time of a current packet and it's destroyed after that. In fact, we don't really want anyone else finding this association. There is no reason to do this extra work. Signed-off-by: Vlad Yasevich Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit 4f4443088b763ca4ac7521e9b4a881b52c294dec Author: Vlad Yasevich Date: Mon Oct 30 18:54:32 2006 -0800 [SCTP]: Correctly set IP id for SCTP traffic Make SCTP 1-1 style and peeled-off associations behave like TCP when setting IP id. In both cases, we set the inet_sk(sk)->daddr and initialize inet_sk(sk)->id to a random value. Signed-off-by: Vlad Yasevich Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit f8687afefcc821fc47c75775eec87731fe3de360 Author: Paul Moore Date: Mon Oct 30 15:22:15 2006 -0800 [NetLabel]: protect the CIPSOv4 socket option from setsockopt() This patch makes two changes to protect applications from either removing or tampering with the CIPSOv4 IP option on a socket. The first is the requirement that applications have the CAP_NET_RAW capability to set an IPOPT_CIPSO option on a socket; this prevents untrusted applications from setting their own CIPSOv4 security attributes on the packets they send. The second change is to SELinux and it prevents applications from setting any IPv4 options when there is an IPOPT_CIPSO option already present on the socket; this prevents applications from removing CIPSOv4 security attributes from the packets they send. Signed-off-by: Paul Moore Signed-off-by: James Morris Signed-off-by: David S. Miller commit 920b868ae1dfdac77c5e8c97e7067b23680f043e Author: Dmitry Mishin Date: Mon Oct 30 15:14:27 2006 -0800 [NETFILTER]: ip_tables: compat code module refcounting fix This patch fixes bug in iptables modules refcounting on compat error way. As we are getting modules in check_compat_entry_size_and_hooks(), in case of later error, we should put them all in translate_compat_table(), not in the compat_copy_entry_from_user() or compat_copy_match_from_user(), as it is now. Signed-off-by: Dmitry Mishin Acked-by: Vasily Averin Acked-by: Kirill Korotaev Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c073e3fa8b7f9841aa6451885f135656d455f511 Author: Martin Josefsson Date: Mon Oct 30 15:13:58 2006 -0800 [NETFILTER]: nf_conntrack: add missing unlock in get_next_corpse() Add missing unlock in get_next_corpse() in nf_conntrack. It was missed during the removal of listhelp.h . Also remove an unneeded use of nf_ct_tuplehash_to_ctrack() in the same function. Should be applied before 2.6.19 is released. Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ef4512e76679b4f4997f60f93f8a576a0d20c26b Author: Vasily Averin Date: Mon Oct 30 15:13:28 2006 -0800 [NETFILTER]: ip_tables: compat error way cleanup This patch adds forgotten compat_flush_offset() call to error way of translate_compat_table(). May lead to table corruption on the next compat_do_replace(). Signed-off-by: Vasily Averin Acked-by: Dmitry Mishin Acked-by: Kirill Korotaev Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 590bdf7fd2292b47c428111cb1360e312eff207e Author: Dmitry Mishin Date: Mon Oct 30 15:12:55 2006 -0800 [NETFILTER]: Missed and reordered checks in {arp,ip,ip6}_tables There is a number of issues in parsing user-provided table in translate_table(). Malicious user with CAP_NET_ADMIN may crash system by passing special-crafted table to the *_tables. The first issue is that mark_source_chains() function is called before entry content checks. In case of standard target, mark_source_chains() function uses t->verdict field in order to determine new position. But the check, that this field leads no further, than the table end, is in check_entry(), which is called later, than mark_source_chains(). The second issue, that there is no check that target_offset points inside entry. If so, *_ITERATE_MATCH macro will follow further, than the entry ends. As a result, we'll have oops or memory disclosure. And the third issue, that there is no check that the target is completely inside entry. Results are the same, as in previous issue. Signed-off-by: Dmitry Mishin Acked-by: Kirill Korotaev Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 844dc7c88046ecd2e52596730d7cc400d6c3ad67 Author: Patrick McHardy Date: Mon Oct 30 15:12:16 2006 -0800 [NETFILTER]: remove masq/NAT from ip6tables Kconfig help Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit bcd620757d3a4ae78ef0ca41adb5d9e400ed92b6 Author: James Morris Date: Mon Oct 30 15:08:42 2006 -0800 [IPV6]: fix lockup via /proc/net/ip6_flowlabel There's a bug in the seqfile handling for /proc/net/ip6_flowlabel, where, after finding a flowlabel, the code will loop forever not finding any further flowlabels, first traversing the rest of the hash bucket then just looping. This patch fixes the problem by breaking after the hash bucket has been traversed. Note that this bug can cause lockups and oopses, and is trivially invoked by an unpriveleged user. Signed-off-by: James Morris Signed-off-by: David S. Miller commit a27b58fed90cc5654e2daf1d292cc5bc61be4dd7 Author: Heiko Carstens Date: Mon Oct 30 15:06:12 2006 -0800 [NET]: fix uaccess handling Signed-off-by: Heiko Carstens Signed-off-by: David S. Miller commit 28cd7752734563d5b0967b96a6bade7a1dc89c7f Author: Herbert Xu Date: Sun Oct 29 23:46:42 2006 -0800 [SCTP]: Always linearise packet on input I was looking at a RHEL5 bug report involving Xen and SCTP (https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=212550). It turns out that SCTP wasn't written to handle skb fragments at all. The absence of any calls to skb_may_pull is testament to that. It just so happens that Xen creates fragmented packets more often than other scenarios (header & data split when going from domU to dom0). That's what caused this bug to show up. Until someone has the time sits down and audits the entire net/sctp directory, here is a conservative and safe solution that simply linearises all packets on input. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c20e3945c761502b9d5d73ef0ff5f1a84b3a717e Author: David S. Miller Date: Sun Oct 29 16:14:55 2006 -0800 [ETH1394]: Fix unaligned accesses. Several u64 objects are derefernced in situations where the pointer is not guarenteed to be aligned correctly. Use get_unaligned() as needed. Thanks to Will Simoneau for lots of testing and debugging help. Signed-off-by: David S. Miller Acked-by: Stefan Richter commit 234af4840135342ab295b4e1219fd35c27fdd439 Author: Randy Dunlap Date: Sun Oct 29 16:03:30 2006 -0800 [DCCP]: fix printk format warnings Fix printk format warnings: build2.out:net/dccp/ccids/ccid2.c:355: warning: long long unsigned int format, u64 arg (arg 3) build2.out:net/dccp/ccids/ccid2.c:360: warning: long long unsigned int format, u64 arg (arg 3) build2.out:net/dccp/ccids/ccid2.c:482: warning: long long unsigned int format, u64 arg (arg 5) build2.out:net/dccp/ccids/ccid2.c:639: warning: long long unsigned int format, u64 arg (arg 3) build2.out:net/dccp/ccids/ccid2.c:639: warning: long long unsigned int format, u64 arg (arg 4) build2.out:net/dccp/ccids/ccid2.c:674: warning: long long unsigned int format, u64 arg (arg 3) build2.out:net/dccp/ccids/ccid2.c:720: warning: long long unsigned int format, u64 arg (arg 3) Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit c8884edd078748905552d667857259e5358e1232 Author: Herbert Xu Date: Sun Oct 29 15:59:41 2006 -0800 [NET]: Fix segmentation of linear packets skb_segment fails to segment linear packets correctly because it tries to write all linear parts of the original skb into each segment. This will always panic as each segment only contains enough space for one MSS. This was not detected earlier because linear packets should be rare for GSO. In fact it still remains to be seen what exactly created the linear packets that triggered this bug. Basically the only time this should happen is if someone enables GSO emulation on an interface that does not support SG. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 54489c14c058822f7019648b3718bd3820dee802 Author: David S. Miller Date: Fri Oct 27 15:29:47 2006 -0700 [XFRM] xfrm_user: Fix unaligned accesses. Use memcpy() to move xfrm_address_t objects in and out of netlink messages. The vast majority of xfrm_user was doing this properly, except for copy_from_user_state() and copy_to_user_state(). Signed-off-by: David S. Miller commit 201a95afaa324b23188eeec268f6bb0b4b70b710 Author: David S. Miller Date: Fri Oct 27 15:26:21 2006 -0700 [APPLETALK]: Fix potential OOPS in atalk_sendmsg(). atrtr_find() can return NULL, so do not blindly dereference rt->dev before we check for rt being NULL. Signed-off-by: David S. Miller commit d458fd82c9bb536e4a582955e88554a02a92bf78 Author: Randy Dunlap Date: Thu Oct 26 17:15:20 2006 -0700 [NET] sealevel: uses arp_broken_ops On Wed, 25 Oct 2006 18:03:13 +0200 Toralf Förster wrote: > WARNING: "arp_broken_ops" [drivers/net/wan/sealevel.ko] undefined! > make[1]: *** [__modpost] Error 1 > make: *** [modules] Error 2 > > Here's the config: ... > # CONFIG_INET is not set > CONFIG_SEALEVEL_4021=m Sealevel uses arp_broken_ops so it needs to depend on INET. Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 4b952a9b0877dbe8f0f69b2747abe79e3bbd2865 Author: Steve French Date: Mon Oct 30 21:46:13 2006 +0000 [CIFS] Allow null user connections Some servers are configured to only allow null user mounts for guest access. Allow nul user (anonymous) mounts e.g. mount -t cifs //server/share /mnt -o username= Signed-off-by: Steve French commit 7ca85ba752e521f1b5ead1f3b91c562cc3910c7b Author: Steve French Date: Mon Oct 30 21:42:57 2006 +0000 [CIFS] Fix readdir breakage when blocksize set too small Do not treat filldir running out of space as an error that needs to be returned. Fixes Redhat bugzilla bug # 211070 Signed-off-by: Steve French commit 89f68225876db7df638de2884b561facb1870239 Author: Daniel Drake Date: Mon Oct 30 11:47:02 2006 -0600 jfs: Add splice support This allows the splice() and tee() syscalls to be used with JFS. Signed-off-by: Daniel Drake Signed-off-by: Dave Kleikamp commit f2454a1a4b2aca38d3b7887619f43291d773c1ee Author: Jes Sorensen Date: Wed Oct 25 05:49:53 2006 -0400 [IA64] don't double >> PAGE_SHIFT pointer for /dev/kmem access Don't PAGE_SHIFT pointer before handing it to virt_to_page() in xlate_dev_kmem_ptr() as it results in a double shift. Spotted by Bob Montgomery. Signed-off-by: Jes Sorensen Signed-off-by: Tony Luck