commit 89d8ab6993e1d9f3c482ee8c862c03c528f696aa Merge: d80a792... 5efb764... Author: Linus Torvalds Date: Tue Apr 24 11:05:20 2007 -0700 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: drivers/net/hamradio/baycom_ser_fdx build fix usb-net/pegasus: fix pegasus carrier detection sis900: Allocate rx replacement buffer before rx operation [netdrvr] depca: handle platform_device_add() failure commit 5efb764c8653c187912669629c14bb47242a5d05 Author: Andrew Morton Date: Tue Apr 24 12:51:03 2007 -0400 drivers/net/hamradio/baycom_ser_fdx build fix sparc64: drivers/net/hamradio/baycom_ser_fdx.c: In function `ser12_open': drivers/net/hamradio/baycom_ser_fdx.c:417: error: `NR_IRQS' undeclared (first us e in this function) drivers/net/hamradio/baycom_ser_fdx.c:417: error: (Each undeclared identifier is reported only once drivers/net/hamradio/baycom_ser_fdx.c:417: error: for each function it appears i n.) Cc: Folkert van Heusden Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit c43c49bd61fdb9bb085ddafcaadb17d06f95ec43 Author: Dan Williams Date: Tue Apr 24 10:20:06 2007 -0400 usb-net/pegasus: fix pegasus carrier detection Broken by 4a1728a28a193aa388900714bbb1f375e08a6d8e which switched the return semantics of read_mii_word() but didn't fix usage of read_mii_word() to conform to the new semantics. Setting carrier to off based on the NO_CARRIER flag is also incorrect as that flag only triggers on TX failure and therefore isn't correct when no frames are being transmitted. Since there is already a 2*HZ MII carrier check going on, defer to that. Add a TRUST_LINK_STATUS feature flag for adapters where the LINK_STATUS flag is actually correct, and use that rather than the NO_CARRIER flag. Signed-off-by: Dan Williams Signed-off-by: Jeff Garzik commit b748d9e3b80dc7e6ce6bf7399f57964b99a4104c Author: Neil Horman Date: Fri Apr 20 09:54:58 2007 -0400 sis900: Allocate rx replacement buffer before rx operation The sis900 driver appears to have a bug in which the receive routine passes the skbuff holding the received frame to the network stack before refilling the buffer in the rx ring. If a new skbuff cannot be allocated, the driver simply leaves a hole in the rx ring, which causes the driver to stop receiving frames and become non-recoverable without an rmmod/insmod according to reporters. This patch reverses that order, attempting to allocate a replacement buffer first, and receiving the new frame only if one can be allocated. If no skbuff can be allocated, the current skbuf in the rx ring is recycled, dropping the current frame, but keeping the NIC operational. Signed-off-by: Neil Horman Signed-off-by: Jeff Garzik commit d91c088b39e3c66d309938de858775bb90fd1ead Author: Andrea Righi Date: Tue Apr 24 12:40:57 2007 -0400 [netdrvr] depca: handle platform_device_add() failure The following patch fixes a kernel bug in depca_platform_probe(). We don't use a dynamic pointer for pldev->dev.platform_data, so it seems that the correct way to proceed if platform_device_add(pldev) fails is to explicitly set the pldev->dev.platform_data pointer to NULL, before calling the platform_device_put(pldev), or it will be kfree'ed by platform_device_release(). Signed-off-by: Jeff Garzik commit d80a7920731a964b8c3492667a8069e5385ec794 Merge: 32bd33e... 8689b51... Author: Linus Torvalds Date: Tue Apr 24 09:36:53 2007 -0700 Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 * 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6: [PATCH] i386: Fix some warnings added by earlier patch [PATCH] x86-64: Always flush all pages in change_page_attr [PATCH] x86: Remove noreplacement option [PATCH] x86-64: make GART PTEs uncacheable commit 32bd33e21eeab63e7265bb3cba9ed94ab1ab816e Merge: 4bf3631... 01abc2a... Author: Linus Torvalds Date: Tue Apr 24 09:32:07 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6: Revert "adjust legacy IDE resource setting (v2)" commit 4bf3631cdb012591667ab927fcd7719d92837833 Author: Jiri Kosina Date: Mon Apr 23 14:41:21 2007 -0700 8250: fix possible deadlock between serial8250_handle_port() and serial8250_interrupt() Commit 40b36daa introduced possibility that serial8250_backup_timeout() -> serial8250_handle_port() locks port.lock without disabling irqs, thus allowing deadlock against interrupt handler (port.lock is acquired in serial8250_interrupt()). Spotted by lockdep. Signed-off-by: Jiri Kosina Cc: Dave Jones Cc: Russell King Cc: Alex Williamson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5408b88ecb8b7127334a34c55d4e0174434f4ec Author: Akinobu Mita Date: Mon Apr 23 14:41:20 2007 -0700 fault injection: add entry to MAINTAINERS Add maintainer for fault injection support. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98f85d30ced96ac466f30419de8b3fac341ebe75 Author: Jiri Slaby Date: Mon Apr 23 14:41:20 2007 -0700 Char: icom, mark __init as __devinit Two functions are called from __devinit context, but they are marked as __init. Fix this. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b7f375505f5611efb562065b57814b28a81abc3 Author: Jeff Mahoney Date: Mon Apr 23 14:41:17 2007 -0700 reiserfs: fix xattr root locking/refcount bug The listxattr() and getxattr() operations are only protected by a read lock. As a result, if either of these operations run in parallel, a race condition exists where the xattr_root will end up being cached twice, which results in the leaking of a reference and a BUG() on umount. This patch refactors get_xa_root(), __get_xa_root(), and create_xa_root(), into one get_xa_root() function that takes the appropriate locking around the entire critical section. Reported, diagnosed and tested by Andrea Righi Signed-off-by: Jeff Mahoney Cc: Andrea Righi Cc: "Vladimir V. Saveliev" Cc: Edward Shishkin Cc: Alex Zarochentsev Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a641fceb6bb6b0930db1aadbda1aaf5711d65d6 Author: Jean Delvare Date: Mon Apr 23 14:41:16 2007 -0700 hwmon/w83627ehf: Don't redefine REGION_OFFSET On ia64, kernel headers define REGION_OFFSET so we can't use that. Reported by Andrew Morton. Signed-off-by: Jean Delvare Acked-by: David Hubbard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 179fb0c726fa34a1ecbb9385a01c704babb9c0ab Author: Olaf Hering Date: Mon Apr 23 14:41:15 2007 -0700 do not truncate irq number for icom adapter irq values are u32, not u8. Large irq numbers will be truncated, free_irq may free a different irq. Remove incorrectly sized struct member and use the one from pci_dev. Signed-off-by: Olaf Hering Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91fcd412e957f433e9f1abeb0b1926dbeb66ca80 Author: Bastian Blank Date: Mon Apr 23 14:41:14 2007 -0700 Allow reading tainted flag as user The commit 34f5a39899f3f3e815da64f48ddb72942d86c366 restricted reading of the tainted value. The attached patch changes this back to a write-only check and restores the read behaviour of older versions. Signed-off-by: Bastian Blank Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 94e22e13ad063c614b458a019b428ffc118e5c06 Author: Andrew Morton Date: Mon Apr 23 14:41:13 2007 -0700 acpi-thermal: fix mod_timer() interval Use relative time, not absolute. Discovered by Jung-Ik (John) Lee . Cc: Jung-Ik (John) Lee Acked-by: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c959df9f01cfb2f43b4d1f58631ee1e9c50541b6 Author: Latchesar Ionkov Date: Mon Apr 23 14:41:11 2007 -0700 v9fs: don't use primary fid when removing file v9fs_insert uses v9fs_fid_lookup (which also locks the fid) to get the primary fid associated with the dentry and destroys the v9fs_fid struct after removing the file. If another process called v9fs_fid_lookup on the same dentry, it may wait undefinitely for the fid's lock (as the struct is freed). This patch changes v9fs_remove to use a cloned fid, so the primary fid is not locked and freed. Signed-off-by: Latchesar Ionkov Cc: Eric Van Hensbergen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f51a5a9de86a948b9a30daab90fb003f51446dcd Author: Stefan Richter Date: Mon Apr 23 14:41:10 2007 -0700 ieee1394: update MAINTAINERS database - update Ben's address - replace Ben's contact by mine as raw1394's 2nd contact - eth1394's and pcilynx's maintenance doesn't really differ from that of other parts of the stack like video1394 Signed-off-by: Stefan Richter Acked-by: Ben Collins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e8c7d0fd5b4999675c7d5cd95d0eb7106b756b3 Author: Christoph Lameter Date: Mon Apr 23 14:41:09 2007 -0700 page migration: fix NR_FILE_PAGES accounting NR_FILE_PAGES must be accounted for depending on the zone that the page belongs to. If we replace the page in the radix tree then we may have to shift the count to another zone. Suggested-by: Ethan Solomita Eventually-typed-in-by: Christoph Lameter Cc: Martin Bligh Cc: Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10ccaf4b7121fb839442be7e079baa8fd0b28caf Author: Miguel Ojeda Date: Mon Apr 23 14:41:09 2007 -0700 Fix spelling in drivers/video/Kconfig Signed-off-by: Miguel Ojeda Sandonis Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39a3bfdd3779636018ca0e2b8fe0a32378eed67b Author: Michael Buesch Date: Mon Apr 23 14:41:08 2007 -0700 Add mbuesch to .mailmap Signed-off-by: Michael Buesch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 671d40f4aa20d31121695e33393c9bd87053f4fa Author: Alexey Dobriyan Date: Mon Apr 23 14:41:07 2007 -0700 paride drivers: initialize spinlocks pcd_lock and pf_spin_lock are passed to blk_init_queue() which, seeing them as valid lock pointer, sets it as ->queue_lock. The problem is that pcd_lock and pf_spin_lock aren't initialized anywhere. Signed-off-by: Alexey Dobriyan Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f318a63ba018d1f30521b733e86fc2d0207e496b Author: David Brownell Date: Mon Apr 23 14:41:06 2007 -0700 MAINTAINERS: use lists.linux-foundation.org Update various mailing list addresses to use "lists.linux-foundation.org" instead of "lists.osdl.org", to help phase out the old addresses. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e40f2ab0a7e36706ee78b78b3792f08f208cd44 Author: Balbir Singh Date: Mon Apr 23 14:41:05 2007 -0700 Taskstats fix the structure members alignment issue We broke the the alignment of members of taskstats to the 8 byte boundary with the CSA patches. In the current kernel, the taskstats structure is not suitable for use by 32 bit applications in a 64 bit kernel. On x86_64 Offsets of taskstats' members (64 bit kernel, 64 bit application) @taskstats'offsetof[@taskstats'indices] = ( 0, # version 4, # ac_exitcode 8, # ac_flag 9, # ac_nice 16, # cpu_count 24, # cpu_delay_total 32, # blkio_count 40, # blkio_delay_total 48, # swapin_count 56, # swapin_delay_total 64, # cpu_run_real_total 72, # cpu_run_virtual_total 80, # ac_comm 112, # ac_sched 113, # ac_pad 116, # ac_uid 120, # ac_gid 124, # ac_pid 128, # ac_ppid 132, # ac_btime 136, # ac_etime 144, # ac_utime 152, # ac_stime 160, # ac_minflt 168, # ac_majflt 176, # coremem 184, # virtmem 192, # hiwater_rss 200, # hiwater_vm 208, # read_char 216, # write_char 224, # read_syscalls 232, # write_syscalls 240, # read_bytes 248, # write_bytes 256, # cancelled_write_bytes ); Offsets of taskstats' members (64 bit kernel, 32 bit application) @taskstats'offsetof[@taskstats'indices] = ( 0, # version 4, # ac_exitcode 8, # ac_flag 9, # ac_nice 12, # cpu_count 20, # cpu_delay_total 28, # blkio_count 36, # blkio_delay_total 44, # swapin_count 52, # swapin_delay_total 60, # cpu_run_real_total 68, # cpu_run_virtual_total 76, # ac_comm 108, # ac_sched 109, # ac_pad 112, # ac_uid 116, # ac_gid 120, # ac_pid 124, # ac_ppid 128, # ac_btime 132, # ac_etime 140, # ac_utime 148, # ac_stime 156, # ac_minflt 164, # ac_majflt 172, # coremem 180, # virtmem 188, # hiwater_rss 196, # hiwater_vm 204, # read_char 212, # write_char 220, # read_syscalls 228, # write_syscalls 236, # read_bytes 244, # write_bytes 252, # cancelled_write_bytes ); This is one way to solve the problem without re-arranging structure members is to pack the structure. The patch adds an __attribute__((aligned(8))) to the taskstats structure members so that 32 bit applications using taskstats can work with a 64 bit kernel. Using __attribute__((packed)) would break the 64 bit alignment of members. The fix was tested on x86_64. After the fix, we got Offsets of taskstats' members (64 bit kernel, 64 bit application) @taskstats'offsetof[@taskstats'indices] = ( 0, # version 4, # ac_exitcode 8, # ac_flag 9, # ac_nice 16, # cpu_count 24, # cpu_delay_total 32, # blkio_count 40, # blkio_delay_total 48, # swapin_count 56, # swapin_delay_total 64, # cpu_run_real_total 72, # cpu_run_virtual_total 80, # ac_comm 112, # ac_sched 113, # ac_pad 120, # ac_uid 124, # ac_gid 128, # ac_pid 132, # ac_ppid 136, # ac_btime 144, # ac_etime 152, # ac_utime 160, # ac_stime 168, # ac_minflt 176, # ac_majflt 184, # coremem 192, # virtmem 200, # hiwater_rss 208, # hiwater_vm 216, # read_char 224, # write_char 232, # read_syscalls 240, # write_syscalls 248, # read_bytes 256, # write_bytes 264, # cancelled_write_bytes ); Offsets of taskstats' members (64 bit kernel, 32 bit application) @taskstats'offsetof[@taskstats'indices] = ( 0, # version 4, # ac_exitcode 8, # ac_flag 9, # ac_nice 16, # cpu_count 24, # cpu_delay_total 32, # blkio_count 40, # blkio_delay_total 48, # swapin_count 56, # swapin_delay_total 64, # cpu_run_real_total 72, # cpu_run_virtual_total 80, # ac_comm 112, # ac_sched 113, # ac_pad 120, # ac_uid 124, # ac_gid 128, # ac_pid 132, # ac_ppid 136, # ac_btime 144, # ac_etime 152, # ac_utime 160, # ac_stime 168, # ac_minflt 176, # ac_majflt 184, # coremem 192, # virtmem 200, # hiwater_rss 208, # hiwater_vm 216, # read_char 224, # write_char 232, # read_syscalls 240, # write_syscalls 248, # read_bytes 256, # write_bytes 264, # cancelled_write_bytes ); Signed-off-by: Balbir Singh Cc: Jay Lan Cc: Shailabh Nagar Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc83815c3afe1bd8d0f0961a668a96caabb049be Author: Jiri Slaby Date: Mon Apr 23 14:41:04 2007 -0700 Char: mxser, fix TIOCMIWAIT There was schedule() missing in the TIOCMIWAIT ioctl. Solve it by moving the code to the wait_event_interruptible. Signed-off-by: Jiri Slaby Cc: Jan Yenya Kasprzak Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b446a4a5757fe1287bf3472efcdde6b59dfd63ad Author: Jiri Slaby Date: Mon Apr 23 14:41:03 2007 -0700 Char: mxser_new, fix TIOCMIWAIT There was schedule() missing in the TIOCMIWAIT ioctl. Solve it by moving the code to the wait_event_interruptible. Cc: Jan "Yenya" Kasprzak Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 67d2bc58afdd5168dce54ae06f5f30038c59f498 Author: Jan Yenya Kasprzak Date: Mon Apr 23 14:41:02 2007 -0700 Char: mxser_new, fix recursive locking Signed-off-by: Jan "Yenya" Kasprzak Acked-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d124cbba316737af8f3a6959edb95bbd130a4d8 Author: Hugh Dickins Date: Mon Apr 23 14:41:02 2007 -0700 fix OOM killing processes wrongly thought MPOL_BIND I only have CONFIG_NUMA=y for build testing: surprised when trying a memhog to see lots of other processes killed with "No available memory (MPOL_BIND)". memhog is killed correctly once we initialize nodemask in constrained_alloc(). Signed-off-by: Hugh Dickins Acked-by: Christoph Lameter Acked-by: William Irwin Acked-by: KAMEZAWA Hiroyuki Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fdc30b3d448bf86dd45f9df3e8ac0d36a3bdd9b2 Author: Taku Izumi Date: Mon Apr 23 14:41:00 2007 -0700 Fix possible NULL pointer access in 8250 serial driver I encountered the following kernel panic. The cause of this problem was NULL pointer access in check_modem_status() in 8250.c. I confirmed this problem is fixed by the attached patch, but I don't know this is the correct fix. sadc[4378]: NaT consumption 2216203124768 [1] Modules linked in: binfmt_misc dm_mirror dm_mod thermal processor fan container button sg e100 eepro100 mii ehci_hcd ohci_hcd Pid: 4378, CPU 0, comm: sadc psr : 00001210085a2010 ifs : 8000000000000289 ip : [] Not tainted ip is at check_modem_status+0xf1/0x360 Call Trace: [] show_stack+0x40/0xa0 [] show_regs+0x840/0x880 [] die+0x1c0/0x2c0 [] die_if_kernel+0x50/0x80 [] ia64_fault+0x11e0/0x1300 [] ia64_leave_kernel+0x0/0x280 [] check_modem_status+0xf0/0x360 [] serial8250_get_mctrl+0x20/0xa0 [] uart_read_proc+0x250/0x860 [] proc_file_read+0x1d0/0x4c0 [] vfs_read+0x1b0/0x300 [] sys_read+0x70/0xe0 [] ia64_ret_from_syscall+0x0/0x20 [] __kernel_syscall_via_break+0x0/0x20 Fix the possible NULL pointer access in check_modem_status() in 8250.c. The check_modem_status() would access 'info' member of uart_port structure, but it is not initialized before uart_open() is called. The check_modem_status() can be called through /proc/tty/driver/serial before uart_open() is called. Signed-off-by: Kenji Kaneshige Signed-off-by: Taku Izumi Cc: Russell King Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 650a7c974f1b91de9732c0f720e792837f8abfd6 Author: David Rientjes Date: Mon Apr 23 21:36:13 2007 -0700 oom: kill all threads that share mm with killed task oom_kill_task() calls __oom_kill_task() to OOM kill a selected task. When finding other threads that share an mm with that task, we need to kill those individual threads and not the same one. (Bug introduced by f2a2a7108aa0039ba7a5fe7a0d2ecef2219a7584) Acked-by: William Irwin Acked-by: Christoph Lameter Cc: Nick Piggin Cc: Andrew Morton Cc: Andi Kleen Signed-off-by: David Rientjes Signed-off-by: Linus Torvalds commit 8689b517be3e3f65f8ba20490beccca13c5879fa Author: Andi Kleen Date: Tue Apr 24 13:05:37 2007 +0200 [PATCH] i386: Fix some warnings added by earlier patch Signed-off-by: Andi Kleen commit 90767bd13febfdf8a5f5077e2bb975f79d6b919c Author: Andi Kleen Date: Tue Apr 24 13:05:37 2007 +0200 [PATCH] x86-64: Always flush all pages in change_page_attr change_page_attr on x86-64 only flushed the TLB for pages that got reverted. That's not correct: it has to be flushed in all cases. This bug was added in some earlier changes. Just flush all pages for now. This could be done more efficiently, but for this late in the release this seem to be the best fix. Pointed out by Jan Beulich Signed-off-by: Andi Kleen commit 9ce883becb83190061369940de9c415595836c9b Author: Andi Kleen Date: Tue Apr 24 13:05:37 2007 +0200 [PATCH] x86: Remove noreplacement option noreplacement is dangerous on modern systems because it will not replace the context switch FNSAVE with SSE aware FXSAVE. But other places in the kernel still assume SSE and do FXSAVE and the CPU will then access FXSAVE information with FNSAVE and cause corruption. Easiest way to avoid this is to remove the option. It was mostly for paranoia reasons anyways and alternative()s have been stable for some time. Thanks to Jeremy F. for reporting and helping debug it. Signed-off-by: Andi Kleen commit cf6387daf8858bdcb3e123034ca422e8979d73f1 Author: Joachim Deguara Date: Tue Apr 24 13:05:36 2007 +0200 [PATCH] x86-64: make GART PTEs uncacheable This patches fixes the silent data corruption problems being seen using the GART iommu where 4kB of data where incorrect (seen mostly on Nvidia CK804 systems). This fix, to mark the memory regin the GART PTEs reside on as uncacheable, also brings the code in line with the AGP specification. Signed-off-by: Joachim Deguara Signed-off-by: Andi Kleen commit 01abc2aa0f447bce2f6beb06dd0607ba0f01c5bb Author: Bartlomiej Zolnierkiewicz Date: Mon Apr 23 23:19:36 2007 +0200 Revert "adjust legacy IDE resource setting (v2)" This reverts commit ed8ccee0918ad063a4741c0656fda783e02df627. It causes hang on boot for some users and we don't yet know why: http://bugzilla.kernel.org/show_bug.cgi?id=7562 http://lkml.org/lkml/2007/4/20/404 http://lkml.org/lkml/2007/3/25/113 Just reverse it for 2.6.21-final, having broken X server is somehow better than unbootable system. Signed-off-by: Bartlomiej Zolnierkiewicz commit c445a31cd7f469d77acc37538ab43a99530968b8 Author: S.Çağlar Onur Date: Sun Apr 22 00:52:48 2007 +0300 Add missing USRobotics Wireless Adapter (Model 5423) id into zd1211rw USRobotics Wireless Adapter (Model 5423) works well with current zd1211rw driver also (i have tested 2.6.18, 2.6.20 and 2.6.21-rc7). It just needs its ID added to the list of devices. Signed-off-by: S.Çağlar Onur Signed-off-by: Linus Torvalds commit 66c7d2f1d9cb19e46717b26fb49550b5e82985fe Merge: 36e82df... c3b99f0... Author: Linus Torvalds Date: Mon Apr 23 11:13:19 2007 -0700 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: [SUNHME]: Fix module unload. [SUNLANCE]: Fix module unload. [SUNQE]: Fix MAC address assignment. [SBUS] vfc_dev.c: kzalloc commit 36e82dfda526e2dea26060e8766bda5a8110c4e6 Merge: 0f85102... 7c5050e... Author: Linus Torvalds Date: Mon Apr 23 11:13:00 2007 -0700 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: [PPP]: Fix skbuff.c:BUG due incorrect logic in process_input_packet() commit c3b99f0db9b2ef4292ef774bae1ea0d6f1e8d82a Author: Marcel van Nies Date: Sat Apr 21 15:34:55 2007 -0700 [SUNHME]: Fix module unload. Signed-off-by: Marcel van Nies Signed-off-by: David S. Miller commit 9f9b6693ed8254177bafcb823b0ea3659d61adb0 Author: Marcel van Nies Date: Sat Apr 21 15:34:10 2007 -0700 [SUNLANCE]: Fix module unload. Signed-off-by: Marcel van Nies Signed-off-by: David S. Miller commit d0dc1129c2e5a5a0e53940cad44333e6bd2f9af3 Author: Marcel van Nies Date: Sat Apr 21 15:31:58 2007 -0700 [SUNQE]: Fix MAC address assignment. The MAC address assignment at module loading is simply forgotten. The bug at module unloading is caused by an incorrect call. The bug at module unloading does not only happen for sunqe, sunlance and sunhme (sbus) suffer from it too. I've tested this on my SS20. Signed-off-by: Marcel van Nies Signed-off-by: David S. Miller commit 2e6679a0aa352e6b74f6385c49cd4dca3dc7201f Author: vignesh babu Date: Tue Apr 17 12:42:09 2007 -0700 [SBUS] vfc_dev.c: kzalloc Replacing kmalloc/memset combination with kzalloc. Signed-off-by: vignesh babu Signed-off-by: David S. Miller commit 0f851021c0f91e5073fa89f26b5ac68e23df8e11 Merge: ea8df8c... 8929fea... Author: Linus Torvalds Date: Fri Apr 20 22:58:16 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6: ide/Kconfig: add missing range check for IDE_MAX_HWIFS hpt366: fix kernel oops with HPT302N ide/pci/delkin_cb.c: add new PCI ID commit ea8df8c5e609a53f4d03d133baea9561412f4303 Merge: 241c39b... 1d464c2... Author: Linus Torvalds Date: Fri Apr 20 22:57:51 2007 -0700 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 wrong checksum for split TCP packets on 64-bit MIPS [MIPS] Fix BUG(), BUG_ON() handling [MIPS] Retry {save,restore}_fp_context if failed in atomic context. [MIPS] Disallow CpU exception in kernel again. [MIPS] Add missing silicon revisions for BCM112x commit 241c39b9ac4bf847013aa06cce6d4d61426a2006 Author: Trond Myklebust Date: Fri Apr 20 16:12:55 2007 -0400 RPC: Fix the TCP resend semantics for NFSv4 Fix a regression due to the patch "NFS: disconnect before retrying NFSv4 requests over TCP" The assumption made in xprt_transmit() that the condition "req->rq_bytes_sent == 0 and request is on the receive list" should imply that we're dealing with a retransmission is false. Firstly, it may simply happen that the socket send queue was full at the time the request was initially sent through xprt_transmit(). Secondly, doing this for each request that was retransmitted implies that we disconnect and reconnect for _every_ request that happened to be retransmitted irrespective of whether or not a disconnection has already occurred. Fix is to move this logic into the call_status request timeout handler. Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds commit 2b82f190c81bf1524447c021df4e9ce8ef379bd5 Author: Trond Myklebust Date: Fri Apr 20 16:12:50 2007 -0400 NFS: Fix race in nfs_set_page_dirty Protect nfs_set_page_dirty() against races with nfs_inode_add_request. Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds commit 612c9384fd0486686699f7d49b774f0c7a79c511 Author: Trond Myklebust Date: Fri Apr 20 16:12:45 2007 -0400 NFS: Fix the 'desynchronized value of nfs_i.ncommit' error Redirtying a request that is already marked for commit will screw up the accounting for NR_UNSTABLE_NFS as well as nfs_i.ncommit. Ensure that all requests on the commit queue are labelled with the PG_NEED_COMMIT flag, and avoid moving them onto the dirty list inside nfs_page_mark_flush(). Also inline nfs_mark_request_dirty() into nfs_page_mark_flush() for atomicity reasons. Avoid dropping the spinlock until we're done marking the request in the radix tree and have added it to the ->dirty list. Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds commit 6d677e3504cd173b2ff7fc393ee4241b3c0f92a6 Author: Trond Myklebust Date: Fri Apr 20 16:12:40 2007 -0400 NFS: Don't clear PG_writeback until after we've processed unstable writes Ensure that we don't release the PG_writeback lock until after the page has either been redirtied, or queued on the nfs_inode 'commit' list. Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds commit 8e821cad12e80cd1a8a3fbadf91f62f17f32549e Author: Trond Myklebust Date: Fri Apr 20 16:12:34 2007 -0400 NFS: clean up the unstable write code Get rid of the inlined #ifdefs. Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds commit 7ab77e03c1f665d5dee78f1248fffd11fa0c5154 Author: Dave Jones Date: Fri Apr 20 15:58:00 2007 -0400 Longhaul - Revert ACPI C3 on Longhaul ver. 2 Support for Longhaul ver. 2 broke driver for VIA C3 Eden 600MHz with Samuel 2 core. Processor is not able to switch frequency anymore. I don't know much about this issue at the moment, but until (if ever) I will know why, this part should be reversed. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds commit a993800655ee516b6f6a6fc4c2ee13fedfb0590b Author: Jens Axboe Date: Fri Apr 20 08:55:52 2007 +0200 cfq-iosched: fix sequential write regression We have a 10-15% performance regression for sequential writes on TCQ/NCQ enabled drives in 2.6.21-rcX after the CFQ update went in. It has been reported by Valerie Clement and the Intel testing folks. The regression is because of CFQ's now more aggressive queue control, limiting the depth available to the device. This patches fixes that regression by allowing a greater depth when only one queue is busy. It has been tested to not impact sync-vs-async workloads too much - we still do a lot better than 2.6.20. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 8929fea39cb0ab3e455fe00e7eb6806c32155cd2 Author: Bartlomiej Zolnierkiewicz Date: Fri Apr 20 22:16:58 2007 +0200 ide/Kconfig: add missing range check for IDE_MAX_HWIFS ide_hwif_to_major[] has only 10 entries as there are 10 major numbers reserved for IDE (if somebody needs more it shouldn't be hard to fix). Signed-off-by: Bartlomiej Zolnierkiewicz commit 38b66f8444050c7cdfad759b8b556338e1fcb4da Author: Sergei Shtylyov Date: Fri Apr 20 22:16:58 2007 +0200 hpt366: fix kernel oops with HPT302N The driver crashes the kernel on HPT302N chips due to the missing initializer for 'hpt302n.settings' having been unfortunately overlooked so far. :-< Much thanks to Mike Mattie for pin-pointing the reason of crash. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2571b16dde15dacf0e338cc5fe8fb3142122eb5a Author: Mark Lord Date: Fri Apr 20 22:16:58 2007 +0200 ide/pci/delkin_cb.c: add new PCI ID Add PCI ID for a newer variant of cardbus CF/IDE adapter card. Signed-off-by: Mark Lord Signed-off-by: Bartlomiej Zolnierkiewicz commit 1d464c26b5625215c4b35fb336c8f3c57d248c2e Author: Dave Johnson Date: Wed Apr 18 10:39:41 2007 -0400 [MIPS] Fix wrong checksum for split TCP packets on 64-bit MIPS I've traced down an off-by-one TCP checksum calculation error under the following conditions: 1) The TCP code needs to split a full-sized packet due to a reduced MSS (typically due to the addition of TCP options mid-stream like SACK). _AND_ 2) The checksum of the 2nd fragment is larger than the checksum of the original packet. After subtraction this results in a checksum for the 1st fragment with bits 16..31 set to 1. (this is ok) _AND_ 3) The checksum of the 1st fragment's TCP header plus the previously 32bit checksum of the 1st fragment DOES NOT cause a 32bit overflow when added together. This results in a checksum of the TCP header plus TCP data that still has the upper 16 bits as 1's. _THEN_ 4) The TCP+data checksum is added to the checksum of the pseudo IP header with csum_tcpudp_nofold() incorrectly (the bug). The problem is the checksum of the TCP+data is passed to csum_tcpudp_nofold() as an 32bit unsigned value, however the assembly code acts on it as if it is a 64bit unsigned value. This causes an incorrect 32->64bit extension if the sum has bit 31 set. The resulting checksum is off by one. This problems is data and TCP header dependent due to #2 and #3 above so it doesn't occur on every TCP packet split. Signed-off-by: Dave Johnson Signed-off-by: Ralf Baechle commit ba755f8ec80fdbf2b5212622eabf7355464c6327 Author: Atsushi Nemoto Date: Thu Apr 12 20:02:54 2007 +0900 [MIPS] Fix BUG(), BUG_ON() handling With commit 63dc68a8cf60cb110b147dab1704d990808b39e2, kernel can not handle BUG() and BUG_ON() properly since get_user() returns false for kernel code. Use __get_user() to skip unnecessary access_ok(). This patch also make BRK_BUG code encoded in the TNE instruction. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit faea62346444ce5b1dba8fb5291d95b676522c42 Author: Atsushi Nemoto Date: Mon Apr 16 23:19:44 2007 +0900 [MIPS] Retry {save,restore}_fp_context if failed in atomic context. The save_fp_context()/restore_fp_context() might sleep on accessing user stack and therefore might lose FPU ownership in middle of them. If these function failed due to "in_atomic" test in do_page_fault, touch the sigcontext area in non-atomic context and retry these save/restore operation. This is a replacement of a (broken) fix which was titled "Allow CpU exception in kernel partially". Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 5323180db75d562a287cb2020b07c9422df13df6 Author: Atsushi Nemoto Date: Sat Apr 14 02:37:26 2007 +0900 [MIPS] Disallow CpU exception in kernel again. The commit 4d40bff7110e9e1a97ff8c01bdd6350e9867cc10 ("Allow CpU exception in kernel partially") was broken. The commit was to fix theoretical problem but broke usual case. Revert it for now. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 9a9943575ade643368849e2c963094ac637867e0 Author: Mark Mason Date: Fri Apr 13 10:32:25 2007 -0700 [MIPS] Add missing silicon revisions for BCM112x Recent versions of the BCM112X processors aren't recognized by Linux (preventing Linux from booting on those processors). This patch adds support for those that are missing. Signed-off-by: Mark Mason Signed-off-by: Ralf Baechle commit 46fcc86dd71d70211e965102fb69414c90381880 Author: Linus Torvalds Date: Thu Apr 19 18:21:01 2007 -0700 Revert "e1000: fix NAPI performance on 4-port adapters" This reverts commit 60cba200f11b6f90f35634c5cd608773ae3721b7. It's been linked to lockups of the e1000 hardware, see for example https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=229603 but it's likely that the commit itself is not really introducing the bug, but just allowing an unrelated problem to rear its ugly head (ie one current working theory is that the code exposes us to a hardware race condition by decreasing the amount of time we spend in each NAPI poll cycle). We'll revert it until root cause is known. Intel has a repeatable reproduction on two different machines and bus traces of the hardware doing something bad. Acked-by: Jesse Brandeburg Cc: Jeff Garzik Cc: David S. Miller Cc: Greg KH Cc: Dave Jones Cc: Auke Kok Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 2b858bd02ffca71391161f5709588fc70da79531 Merge: 93cd791... f3769e9... Author: Linus Torvalds Date: Thu Apr 19 17:25:28 2007 -0700 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: pata_sis: Fix oops on boot commit f3769e9db11df38c211881a5f11b2e38a8e4477a Author: Alan Cox Date: Thu Apr 19 11:09:52 2007 +0100 pata_sis: Fix oops on boot A small number of SiS setups require special handling (not many judging by how long this dumb bug survived). A couple of Fedora 7 devel testers hit an Oops on pata_sis loading which is caused by terminal confusion between chipset as 'the chipset we have found' and chipset as 'array iterator' Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 7c5050e3e49f6d89af0d63111611693d9625d1f5 Author: Paul Mackerras Date: Thu Apr 19 13:05:52 2007 -0700 [PPP]: Fix skbuff.c:BUG due incorrect logic in process_input_packet() From: Paul Mackerras This fixes: Subject: kernel BUG at net/core/skbuff.c in linux-2.6.21-rc6 process_input_packet() treats the case where the first byte is 0xff (PPP_ALLSTATIONS) but the second byte is 0x03 (PPP_UI) as indicating a packet with a PPP protocol number of 0xff. Arguably that's wrong since PPP protocol 0xff is reserved, and the RFC does envision the possibility of receiving frames where the control field has values other than 0x03. Signed-off-by: David S. Miller commit 93cd791e02bbdb504aba024a14fdc07fe246bc71 Author: Stephen Hemminger Date: Wed Apr 11 14:48:03 2007 -0700 sky2: version 1.14 Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit d2adf4f65a70f94cbb3bb4dffd4bbc70cc383071 Author: Stephen Hemminger Date: Wed Apr 11 14:48:02 2007 -0700 sky2: no jumbo on Yukon FE The Yukon FE (100mbit only) chips do not support large packets. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit b628ed986d681c708aec64418c2c7f6a6b715855 Author: Stephen Hemminger Date: Wed Apr 11 14:48:01 2007 -0700 sky2: EC-U performance and jumbo support The Yukon EC Ultra chips have transmit settings for store and forward and PCI buffering. By setting these appropriately, normal performance goes from 750Mbytes/sec to 940Mbytes/sec (non-jumbo). It is also possible to do Jumbo mode, but it means turning off TSO and checksum offload so the performance gets worse. There isn't enough buffering for checksum offload to work. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 4f44d8ba09280a7f0887ab60277940d6c72f2b43 Author: Stephen Hemminger Date: Wed Apr 11 14:48:00 2007 -0700 sky2: disable ASF on all chip types Need to make sure and disable ASF on all chip types. Otherwise, there may be random reboots. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 40b01727a5a65597160f1738d3fbe63de902f0cb Author: Stephen Hemminger Date: Wed Apr 11 14:47:59 2007 -0700 sky2: handle descriptor errors There should never be descriptor error unless hardware or driver is buggy. But if an error occurs, print useful information, clear irq, and recover. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 0a17e4c252ce951615f3c1fccae6d6262c8d4187 Author: Stephen Hemminger Date: Wed Apr 11 14:47:58 2007 -0700 sky2: disable support for 88E8056 This device is having all sorts of problems that lead to data corruption and system instability. It gets receive status and data out of order, it generates descriptor and TSO errors, etc. Until the problems are resolved, it should not be used by anyone who cares about there system. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit bf41a7c5d94a3d197002bdf11892529b47a63e99 Author: Dave Jiang Date: Thu Apr 12 10:57:06 2007 -0700 gianfar needs crc32 lib dependency Gianfar needs crc32 to be selected to compile. Signed-off-by: Dave Jiang -- drivers/net/Kconfig | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) -- Signed-off-by: Jeff Garzik commit 33bdeec80649f2eab36039f63d69c65378493cbe Author: Linas Vepstas Date: Mon Apr 16 22:54:13 2007 -0700 spidernet: Fix problem sending IP fragments The basic structure of "normal" UDP/IP/Ethernet frames (that actually work): - It starts with the Ethernet header (dest MAC, src MAC, etc.) - The next part is occupied by the IP header (version info, length of packet, id=0, fragment offset=0, checksum, from / to address, etc.) - Then comes the UDP header (src / dest port, length, checksum) - Actual payload - Ethernet checksum Now what's different for IP fragment: - The IP header has id set to some value (same for all fragments), offset is set appropriately (i.e. 0 for first fragment, following according to size of other fragments), size is the length of the frame. - UDP header is unchanged. I.e. length is according to full UDP datagram, not just the part within the actual frame! But this is only true within the first frame: all following frames don't have a valid UDP-header at all. The spidernet silicon seems to be quite intelligent: It's able to compute (IP / UDP / Ethernet) checksums on the fly and tests if frames are conforming to RFC -- at least conforming to RFC on complete frames. But IP fragments are different as explained above: I.e. for IP fragments containing part of a UDP datagram it sees incompatible length in the headers for IP and UDP in the first frame and, thus, skips this frame. But the content *is* correct for IP fragments. For all following frames it finds (most probably) no valid UDP header at all. But this *is* also correct for IP fragments. The Linux IP-stack seems to be clever in this point. It expects the spidernet to calculate the checksum (since the module claims to be able to do so) and marks the skb's for "normal" frames accordingly (ip_summed set to CHECKSUM_HW). But for the IP fragments it does not expect the driver to be capable to handle the frames appropriately. Thus all checksums are allready computed. This is also flaged within the skb (ip_summed set to CHECKSUM_NONE). Unfortunately the spidernet driver ignores that hints. It tries to send the IP fragments of UDP datagrams as normal UDP/IP frames. Since they have different structure the silicon detects them the be not "well-formed" and skips them. The following one-liner against 2.6.21-rc2 changes this behavior. If the IP-stack claims to have done the checksumming, the driver should not try to checksum (and analyze) the frame but send it as is. Signed-off-by: Norbert Eicker Signed-off-by: Linas Vepstas Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 1ca03cbc2057f61390e8e8a3234dc0bb0a8fe57a Author: Divy Le Ray Date: Tue Apr 17 11:06:36 2007 -0700 cxgb3 - PHY interrupts and GPIO pins. Remove assumption that PHY interrupts use GPIOs 3 and 5. Deal with PHY interrupts connected to any GPIO pins. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 606fcd0b94f7531f52a9b07008a4461213cbcd27 Author: Divy Le Ray Date: Tue Apr 17 11:06:30 2007 -0700 cxgb3 - Fix low memory conditions Reuse the incoming skb when a clientless abort req is recieved. The release of RDMA connections HW resources might be deferred in low memory situations. Ensure that no further activity is passed up to the RDMA driver for these connections. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 895e1fc7226e6732bc77138955b6c7dfa279f57a Merge: ac57b3a... 6b8d0f9... Author: Linus Torvalds Date: Thu Apr 19 09:49:59 2007 -0700 Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: KVM: Fix off-by-one when writing to a nonpae guest pde commit 6b8d0f9b180cb93513bb65f705b299370f0357a1 Author: Avi Kivity Date: Wed Apr 18 11:18:18 2007 +0300 KVM: Fix off-by-one when writing to a nonpae guest pde Nonpae guest pdes are shadowed by two pae ptes, so we double the offset twice: once to account for the pte size difference, and once because we need to shadow pdes for a single guest pde. But when writing to the upper guest pde we also need to truncate the lower bits, otherwise the multiply shifts these bits into the pde index and causes an access to the wrong shadow pde. If we're at the end of the page (accessing the very last guest pde) we can even overflow into the next host page and oops. Signed-off-by: Avi Kivity commit ac57b3a9ce280763296f99e32187a0b4384d9389 Author: Denis Lunev Date: Wed Apr 18 17:05:58 2007 -0700 [NETLINK]: Don't attach callback to a going-away netlink socket There is a race between netlink_dump_start() and netlink_release() that can lead to the situation when a netlink socket with non-zero callback is freed. Here it is: CPU1: CPU2 netlink_release(): netlink_dump_start(): sk = netlink_lookup(); /* OK */ netlink_remove(); spin_lock(&nlk->cb_lock); if (nlk->cb) { /* false */ ... } spin_unlock(&nlk->cb_lock); spin_lock(&nlk->cb_lock); if (nlk->cb) { /* false */ ... } nlk->cb = cb; spin_unlock(&nlk->cb_lock); ... sock_orphan(sk); /* * proceed with releasing * the socket */ The proposal it to make sock_orphan before detaching the callback in netlink_release() and to check for the sock to be SOCK_DEAD in netlink_dump_start() before setting a new callback. Signed-off-by: Denis Lunev Signed-off-by: Kirill Korotaev Signed-off-by: Pavel Emelianov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit bfb6709d0b239af5e3ce5859aae926e1b79ba84b Author: Olaf Kirch Date: Wed Apr 18 15:07:22 2007 -0700 [IrDA]: Correctly handling socket error This patch fixes an oops first reported in mid 2006 - see http://lkml.org/lkml/2006/8/29/358 The cause of this bug report is that when an error is signalled on the socket, irda_recvmsg_stream returns without removing a local wait_queue variable from the socket's sk_sleep queue. This causes havoc further down the road. In response to this problem, a patch was made that invoked sock_orphan on the socket when receiving a disconnect indication. This is not a good fix, as this sets sk_sleep to NULL, causing applications sleeping in recvmsg (and other places) to oops. This is against the latest net-2.6 and should be considered for -stable inclusion. Signed-off-by: Olaf Kirch Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit d0cf0d9940ef27b46fcbbd9e0cc8427c30fe05eb Author: Vlad Yasevich Date: Wed Apr 18 14:11:06 2007 -0700 [SCTP]: Do not interleave non-fragments when in partial delivery The way partial delivery is currently implemnted, it is possible to intereleave a message (either from another steram, or unordered) that is not part of partial delivery process. The only way to this is for a message to not be a fragment and be 'in order' or unorderd for a given stream. This will result in bypassing the reassembly/ordering queues where things live duing partial delivery, and the message will be delivered to the socket in the middle of partial delivery. This is a two-fold problem, in that: 1. the app now must check the stream-id and flags which it may not be doing. 2. this clearing partial delivery state from the association and results in ulp hanging. This patch is a band-aid over a much bigger problem in that we don't do stream interleave. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit fefaa75e0451c76225863644be01e4fd70884153 Author: David S. Miller Date: Tue Apr 17 21:48:10 2007 -0700 [IPSEC] af_key: Fix thinko in pfkey_xfrm_policy2msg() Make sure to actually assign the determined mode to rq->sadb_x_ipsecrequest_mode. Noticed by Joe Perches. Signed-off-by: David S. Miller commit 80d74d5123bf3aecd32302809c4e61bb8a16786b Merge: 245d95a... 19bb350... Author: Linus Torvalds Date: Tue Apr 17 16:51:32 2007 -0700 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: [BRIDGE]: Unaligned access when comparing ethernet addresses [SCTP]: Unmap v4mapped addresses during SCTP_BINDX_REM_ADDR operation. [SCTP]: Fix assertion (!atomic_read(&sk->sk_rmem_alloc)) failed message [NET]: Set a separate lockdep class for neighbour table's proxy_queue [NET]: Fix UDP checksum issue in net poll mode. [KEY]: Fix conversion between IPSEC_MODE_xxx and XFRM_MODE_xxx. [NET]: Get rid of alloc_skb_from_cache commit 245d95a423664761d9399656098523db6988e9cc Merge: 71bfa15... 608d826... Author: Linus Torvalds Date: Tue Apr 17 16:50:59 2007 -0700 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: IB/mthca: Fix data corruption after FMR unmap on Sinai commit 71bfa15142177279ec63c0e400314bb81f3d7122 Merge: 080dfbe... 1714f9b... Author: Linus Torvalds Date: Tue Apr 17 16:44:05 2007 -0700 Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 * 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6: [PATCH] x86: Fix potential overflow in perfctr reservation [PATCH] x86: Fix gcc 4.2 _proxy_pda workaround commit 080dfbe176c8dd87fc8f27e2941f31171b738f60 Author: Olof Johansson Date: Tue Apr 17 00:32:29 2007 -0700 Minor bug fixes to i2c-pasemi * Last write during i2c_xfer is of the wrong byte (off-by-1). * Read length is wrong for some of the reads (mistakenly used the PEC version) Signed-off-by: Olof Johansson Signed-off-by: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 56a3b5ebee0be7af723bfad56def48ebf899b7fb Author: Jean Delvare Date: Tue Apr 17 00:32:28 2007 -0700 i2c-pasemi: Depend on PPC_PASEMI again Looks like a local change I made to be able to test-compile the i2c-pasemi driver leaked upstream. Signed-off-by: Jean Delvare Acked-by: Olof Johansson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33725ad36d48c09e9537d3d7e680471c298539a9 Author: Jean Delvare Date: Tue Apr 17 00:32:27 2007 -0700 hwmon/w83627ehf: Fix the fan5 clock divider write Users have been complaining about the w83627ehf driver flooding their logs with debug messages like: w83627ehf 9191-0a10: Increasing fan 4 clock divider from 64 to 128 or: w83627ehf 9191-0290: Increasing fan 4 clock divider from 4 to 8 The reason is that we failed to actually write the LSB of the encoded clock divider value for that fan, causing the next read to report the same old value again and again. Additionally, the fan number was improperly reported, making the bug harder to find. Signed-off-by: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93da28790c17345f4db10358dfb19b4c241d8ba3 Author: Russell King Date: Tue Apr 17 00:32:26 2007 -0700 Provide dummy devm_ioport_* if !HAS_IOPORT Provide an dummy implementation of devm_ioport_map() and devm_ioport_unmap() to allow drivers (eg, pata_platform) to build for platforms where CONFIG_NO_IOPORT is selected. Signed-off-by: Russell King Cc: Alan Cox Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30f3deeee81cf22546da1b0b89a937bb991dea23 Author: NeilBrown Date: Mon Apr 16 22:53:25 2007 -0700 knfsd: use a spinlock to protect sk_info_authunix sk_info_authunix is not being protected properly so the object that it points to can be cache_put twice, leading to corruption. We borrow svsk->sk_defer_lock to provide the protection. We should probably rename that lock to have a more generic name - later. Thanks to Gabriel for reporting this. Cc: Greg Banks Cc: Gabriel Barazer Signed-off-by: Neil Brown Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 94256dd680f837dc14dd7d1377c5326fb3362721 Author: Andrew Morton Date: Mon Apr 16 22:53:25 2007 -0700 drivers/macintosh/smu.c: fix locking snafu It got its lock and unlock backwards. Fixes http://bugzilla.kernel.org/show_bug.cgi?id=8334 (obviously, this code could be using plain old spin_lock_irq(), too) Cc: Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07a0cfec30848319cc86f21cce0d2efeca593e1a Author: Evgeniy Dushistov Date: Mon Apr 16 22:53:24 2007 -0700 ufs proper handling of zero link case This patch should fix or partly fix this bug: http://bugzilla.kernel.org/show_bug.cgi?id=8276 The problem is: - if we see "zero link case" during reading inode operation, we call ufs_error(which remount fs readonly), but not "mark" inode as bad (1) - in readonly case we do not fill some data structures, which are used in read and write case (2) - VFS call ufs_delete_inode if link count is zero (3) so (1)->(3)->(2) cause oops, this patch should fix such scenario Signed-off-by: Evgeniy Dushistov Cc: Jim Paris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d2c5b415ccd6c322e18adaed3a5b21f7ec555ef Author: Ben Dooks Date: Mon Apr 16 22:53:22 2007 -0700 spi: fix use of set_cs in spi_s3c24xx driver It turns out that the last patch to change set_cs to be kept in the controller's structure instead of the platform data was an incomplete change, and did not change the references to platfrom data in the setup xfer code. (This can prevent an oops.) Reported-by: Signed-off-by: Ben Dooks Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88ed39b064575b4f42ecb737ec2daa66717de173 Author: Ivan Kokshaysky Date: Mon Apr 16 22:53:21 2007 -0700 alpha: build fixes - force architecture Override compiler .arch directive for generic kernel build. Signed-off-by: Ivan Kokshaysky Signed-off-by: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7fc1a1abc1eca1278d6d37ec54b72005d15b5c1e Author: Ivan Kokshaysky Date: Mon Apr 16 22:53:21 2007 -0700 alpha: more fixes for specific machine types arch/alpha/kernel/sys_sx164.c Earlier firmware revisions need MVI fix as well. arch/alpha/kernel/sys_nautilus.c On UP1500 firmware reports wrong AGP IRQ (10 instead of 5). This causes interrupt storm if there is a PCI device that uses IRQ 5. Signed-off-by: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b75b05b73cdefd1d10074e9dad60812f9731a5e Author: Ivan Kokshaysky Date: Mon Apr 16 22:53:17 2007 -0700 alpha: fixes for specific machine types Files: arch/alpha/kernel/core_mcpcia.c arch/alpha/kernel/sys_rawhide.c include/asm-alpha/core_mcpcia.h Determine correct hose configuration; RAWHIDE family can have 2 or 4 hoses, so make sure non-existent hoses are ignored. arch/alpha/kernel/err_titan.c Supply a needed #include arch/alpha/kernel/module.c Add some useful output to the relocation overflow messages. arch/alpha/kernel/sys_noritake.c Supply necessary noritake_end_irq() to correct interrupt handling. This fixes a problem first noted by hangs during boot probing with a DE500-BA TULIP NIC present. arch/alpha/kernel/sys_sio.c Correct saving of original PIRQ register (PCI IRQ routing); change default PIRQ setting to leave PCI IRQs 9 and 14 free to be used for sound (Multia) and IDE (any), respectively. include/asm-alpha/io.h Supply the "isa_virt_to_bus" routine. Signed-off-by: Jay Estabrook Signed-off-by: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a93258ce302c2b597289770cb7de8dba7c6c219 Author: Benjamin Herrenschmidt Date: Mon Apr 16 22:53:16 2007 -0700 fix bogon in /dev/mem mmap'ing on nommu While digging through my MAP_FIXED changes, I found that rather obvious bug in /dev/mem mmap implementation for nommu archs. get_unmapped_area() is expected to return an address, not a pfn. Signed-off-by: Benjamin Herrenschmidt Acked-By: David Howells Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 112654208bd6f092e064973b8fa680e37ffa74a6 Author: Randy Dunlap Date: Mon Apr 16 22:53:15 2007 -0700 kernel-doc: fix plist.h comments Make kernel-doc comments match macro names. Correct parameter names in a few places. Remove '#' from beginning of kernel-doc comment macro names. Remove extra (erroneous) blank lines in kernel-doc. Warning(plist.h:100): Cannot understand * #PLIST_HEAD_INIT - static struct plist_head initializer on line 100 - I thought it was a doc line Warning(plist.h:112): Cannot understand * #PLIST_NODE_INIT - static struct plist_node initializer on line 112 - I thought it was a doc line Warning(plist.h:103): No description found for parameter '_lock' Warning(plist.h:129): No description found for parameter 'lock' Warning(plist.h:158): No description found for parameter 'pos' Warning(plist.h:169): No description found for parameter 'pos' Warning(plist.h:169): No description found for parameter 'n' Warning(plist.h:179): No description found for parameter 'mem' This still leaves one warning & one error that need attention: Error(plist.h:219): cannot understand prototype: '(' Warning(plist.h): no structured comments found Acked-by: Inaky Perez-Gonzalez Cc: Daniel Walker Cc: Thomas Gleixner Cc: Oleg Nesterov Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4bbafda70a0fc95c6595bffd6825ef264050d01 Author: Alan Cox Date: Mon Apr 16 22:53:13 2007 -0700 exec.c: fix coredump to pipe problem and obscure "security hole" The patch checks for "|" in the pattern not the output and doesn't nail a pid on to a piped name (as it is a program name not a file) Also fixes a very very obscure security corner case. If you happen to have decided on a core pattern that starts with the program name then the user can run a program called "|myevilhack" as it stands. I doubt anyone does this. Signed-off-by: Alan Cox Confirmed-by: Christopher S. Aker Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4b7e8754e3198eb5392568e523da6440143c2cd Author: Don Zickus Date: Mon Apr 16 22:53:12 2007 -0700 allow vmsplice to work in 32-bit mode on ppc64 Trivial change to pass vmsplice arguments through the compat layer on pp64. Signed-off-by: Don Zickus Acked-by: Stephen Rothwell Acked-by: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19bb3506e27096eea5f7b71b89621ad1203ed318 Author: Evgeny Kravtsunov Date: Tue Apr 17 12:31:24 2007 -0700 [BRIDGE]: Unaligned access when comparing ethernet addresses compare_ether_addr() implicitly requires that the addresses passed are 2-bytes aligned in memory. This is not true for br_stp_change_bridge_id() and br_stp_recalculate_bridge_id() in which one of the addresses is unsigned char *, and thus may not be 2-bytes aligned. Signed-off-by: Evgeny Kravtsunov Signed-off-by: Kirill Korotaev Signed-off-by: Pavel Emelianov commit 0304ff8a2d5f57defb011c7f261b4c1b3eff96d1 Author: Paolo Galtieri Date: Tue Apr 17 12:52:36 2007 -0700 [SCTP]: Unmap v4mapped addresses during SCTP_BINDX_REM_ADDR operation. During the sctp_bindx() call to add additional addresses to the endpoint, any v4mapped addresses are converted and stored as regular v4 addresses. However, when trying to remove these addresses, the v4mapped addresses are not converted and the operation fails. This patch unmaps the addresses on during the remove operation as well. Signed-off-by: Paolo Galtieri Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit ea2bc483ff5caada7c4aa0d5fbf87d3a6590273d Author: Tsutomu Fujii Date: Tue Apr 17 12:49:53 2007 -0700 [SCTP]: Fix assertion (!atomic_read(&sk->sk_rmem_alloc)) failed message In current implementation, LKSCTP does receive buffer accounting for data in sctp_receive_queue and pd_lobby. However, LKSCTP don't do accounting for data in frag_list when data is fragmented. In addition, LKSCTP doesn't do accounting for data in reasm and lobby queue in structure sctp_ulpq. When there are date in these queue, assertion failed message is printed in inet_sock_destruct because sk_rmem_alloc of oldsk does not become 0 when socket is destroyed. Signed-off-by: Tsutomu Fujii Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit c2ecba71717c4f60671175fd26083c35a4b9ad58 Author: Pavel Emelianov Date: Tue Apr 17 12:45:31 2007 -0700 [NET]: Set a separate lockdep class for neighbour table's proxy_queue Otherwise the following calltrace will lead to a wrong lockdep warning: neigh_proxy_process() `- lock(neigh_table->proxy_queue.lock); arp_redo /* via tbl->proxy_redo */ arp_process neigh_event_ns neigh_update skb_queue_purge `- lock(neighbor->arp_queue.lock); This is not a deadlock actually, as neighbor table's proxy_queue and the neighbor's arp_queue are different queues. Lockdep thinks there is a deadlock as both queues are initialized with skb_queue_head_init() and thus have a common class. Signed-off-by: David S. Miller commit 5e7d7fa57323dfb48fb09464cf4542daa7ce8a72 Author: Aubrey.Li Date: Tue Apr 17 12:40:20 2007 -0700 [NET]: Fix UDP checksum issue in net poll mode. In net poll mode, the current checksum function doesn't consider the kind of packet which is padded to reach a specific minimum length. I believe that's the problem causing my test case failed. The following patch fixed this issue. Signed-off-by: Aubrey.Li Signed-off-by: David S. Miller commit 55569ce256ce29f4624f0007213432c1ed646584 Author: Kazunori MIYAZAWA Date: Tue Apr 17 12:32:20 2007 -0700 [KEY]: Fix conversion between IPSEC_MODE_xxx and XFRM_MODE_xxx. We should not blindly convert between IPSEC_MODE_xxx and XFRM_MODE_xxx just by incrementing / decrementing because the assumption is not true any longer. Signed-off-by: Kazunori MIYAZAWA Singed-off-by: YOSHIFUJI Hideaki commit b4dfa0b1fb39c7ffe74741d60668825de6a47b69 Author: Herbert Xu Date: Tue Apr 17 12:28:27 2007 -0700 [NET]: Get rid of alloc_skb_from_cache Since this was added originally for Xen, and Xen has recently (~2.6.18) stopped using this function, we can safely get rid of it. Good timing too since this function has started to bit rot. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 6f29e35e2d4cdbc3e8785982314e54ec5df4ad37 Author: Badari Pulavarty Date: Fri Apr 13 08:13:42 2007 -0700 cache_k8_northbridges() overflows beyond allocation cache_k8_northbridges() is storing config values to incorrect locations (in flush_words) and also its overflowing beyond the allocation, causing slab verification failures. Signed-off-by: Badari Pulavarty Signed-off-by: Linus Torvalds commit 608d8268be392444f825b4fc8fc7c8b509627129 Author: Michael S. Tsirkin Date: Mon Apr 16 17:04:55 2007 +0300 IB/mthca: Fix data corruption after FMR unmap on Sinai In mthca_arbel_fmr_unmap(), the high bits of the key are masked off. This gets rid of the effect of adjust_key(), which makes sure that bits 3 and 23 of the key are equal when the Sinai throughput optimization is enabled, and so it may happen that an FMR will end up with bits 3 and 23 in the key being different. This causes data corruption, because when enabling the throughput optimization, the driver promises the HCA firmware that bits 3 and 23 of all memory keys will always be equal. Fix by re-applying adjust_key() after masking the key. Thanks to Or Gerlitz for reproducing the problem, and Ariel Shahar for help in debug. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 1d00e832f0d65039abdebf83054b323a9aa05687 Merge: 94a0550... 1af1e32... Author: Linus Torvalds Date: Mon Apr 16 13:21:11 2007 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 4313/1: S3C24XX: Update s3c2410 defconfig to 2.6.21-rc6 [ARM] Update mach-types commit 1af1e32adef775dfc103f9679417009f2cf838ab Author: Ben Dooks Date: Mon Apr 9 10:15:20 2007 +0100 [ARM] 4313/1: S3C24XX: Update s3c2410 defconfig to 2.6.21-rc6 Update defconfig to the latest kernel version and enable the h1940 LED driver Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 4c467e758a55e455264a994646b789ddb625fcaa Author: Russell King Date: Sun Apr 8 09:57:26 2007 +0100 [ARM] Update mach-types Signed-off-by: Russell King commit 1714f9bfc92d6ee67e84127332a1fae27772acfe Author: Andi Kleen Date: Mon Apr 16 10:30:27 2007 +0200 [PATCH] x86: Fix potential overflow in perfctr reservation While reviewing this code again I found a potential overflow of the bitmap. The p4 oprofile can theoretically set bits beyond the reservation bitmap for specific configurations. Avoid that by sizing the bitmaps properly. Signed-off-by: Andi Kleen commit 08269c6d38e003adb12f55c6d795daa89bdc1bae Author: Andi Kleen Date: Mon Apr 16 10:30:27 2007 +0200 [PATCH] x86: Fix gcc 4.2 _proxy_pda workaround Due to an over aggressive optimizer gcc 4.2 cannot optimize away _proxy_pda in all cases (counter intuitive, but true). This breaks loading of some modules. The earlier workaround to just export a dummy symbol didn't work unfortunately because the module code ignores exports with 0 value. Make it 1 instead. Signed-off-by: Andi Kleen