commit b578f3fcca1e78624dfb5f358776e63711d7fda2 Merge: 507e2fb... ccc9c8b... Author: Linus Torvalds Date: Wed Feb 11 16:28:08 2009 -0800 Merge git://git.infradead.org/users/cbou/battery-2.6.29 * git://git.infradead.org/users/cbou/battery-2.6.29: pcf50633_charger: Fix typo commit 507e2fbaaacb6f164b4125b87c5002f95143174b Author: Ian Dall Date: Wed Feb 11 13:04:46 2009 -0800 w1: w1 temp calculation overflow fix Addresses http://bugzilla.kernel.org/show_bug.cgi?id=12646 When the temperature exceeds 32767 milli-degrees the temperature overflows to -32768 millidegrees. These are bothe well within the -55 - +125 degree range for the sensor. Fix overflow in left-shift of a u8. Signed-off-by: Ian Dall Signed-off-by: Evgeniy Polyakov Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d48a542b42747c36a5937447d9c3de7c897ea50 Author: Paul Clements Date: Wed Feb 11 13:04:45 2009 -0800 nbd: fix I/O hang on disconnected nbds Fix a problem that causes I/O to a disconnected (or partially initialized) nbd device to hang indefinitely. To reproduce: # ioctl NBD_SET_SIZE_BLOCKS /dev/nbd23 514048 # dd if=/dev/nbd23 of=/dev/null bs=4096 count=1 ...hangs... This can also occur when an nbd device loses its nbd-client/server connection. Although we clear the queue of any outstanding I/Os after the client/server connection fails, any additional I/Os that get queued later will hang. This bug may also be the problem reported in this bug report: http://bugzilla.kernel.org/show_bug.cgi?id=12277 Testing would need to be performed to determine if the two issues are the same. This problem was introduced by the new request handling thread code ("NBD: allow nbd to be used locally", 3/2008), which entered into mainline around 2.6.25. The fix, which is fairly simple, is to restore the check for lo->sock being NULL in do_nbd_request. This causes I/O to an uninitialized nbd to immediately fail with an I/O error, as it did prior to the introduction of this bug. Signed-off-by: Paul Clements Reported-by: Jon Nelson Acked-by: Pavel Machek Cc: [2.6.26.x, 2.6.27.x, 2.6.28.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9480c53e9b2aa13a06283ffb96bb8f1873ac4e9a Author: Jeremy Fitzhardinge Date: Wed Feb 11 13:04:41 2009 -0800 mm: rearrange exit_mmap() to unlock before arch_exit_mmap Christophe Saout reported [in precursor to: http://marc.info/?l=linux-kernel&m=123209902707347&w=4]: > Note that I also some a different issue with CONFIG_UNEVICTABLE_LRU. > Seems like Xen tears down current->mm early on process termination, so > that __get_user_pages in exit_mmap causes nasty messages when the > process had any mlocked pages. (in fact, it somehow manages to get into > the swapping code and produces a null pointer dereference trying to get > a swap token) Jeremy explained: Yes. In the normal case under Xen, an in-use pagetable is "pinned", meaning that it is RO to the kernel, and all updates must go via hypercall (or writes are trapped and emulated, which is much the same thing). An unpinned pagetable is not currently in use by any process, and can be directly accessed as normal RW pages. As an optimisation at process exit time, we unpin the pagetable as early as possible (switching the process to init_mm), so that all the normal pagetable teardown can happen with direct memory accesses. This happens in exit_mmap() -> arch_exit_mmap(). The munlocking happens a few lines below. The obvious thing to do would be to move arch_exit_mmap() to below the munlock code, but I think we'd want to call it even if mm->mmap is NULL, just to be on the safe side. Thus, this patch: exit_mmap() needs to unlock any locked vmas before calling arch_exit_mmap, as the latter may switch the current mm to init_mm, which would cause the former to fail. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Lee Schermerhorn Cc: Christophe Saout Cc: Keir Fraser Cc: Christophe Saout Cc: Alex Williamson Cc: [2.6.28.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3abdbf90a3ffb006108c831c56b092e35483b6ec Author: Jiri Slaby Date: Wed Feb 11 13:04:40 2009 -0800 parport: parport_serial, don't bind netmos ibm 0299 Since netmos 9835 with subids 0x1014(IBM):0x0299 is now bound with serial/8250_pci, because it has no parallel ports and subdevice id isn't in the expected form, return -ENODEV from probe function. This is performed in netmos preinit_hook. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89e1219004b3657cc014521663eeef0744f1c99d Author: Federico Cuello Date: Wed Feb 11 13:04:39 2009 -0800 writeback: fix break condition Commit dcf6a79dda5cc2a2bec183e50d829030c0972aaa ("write-back: fix nr_to_write counter") fixed nr_to_write counter, but didn't set the break condition properly. If nr_to_write == 0 after being decremented it will loop one more time before setting done = 1 and breaking the loop. [akpm@linux-foundation.org: coding-style fixes] Cc: Artem Bityutskiy Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c5979631b4b03c9288776562c18036765e398c1 Author: Heiko Carstens Date: Wed Feb 11 13:04:38 2009 -0800 syscall define: fix uml compile bug With the new system call defines we get this on uml: arch/um/sys-i386/built-in.o: In function `sys_call_table': (.rodata+0x308): undefined reference to `sys_sigprocmask' Reason for this is that uml passes the preprocessor option -Dsigprocmask=kernel_sigprocmask to gcc when compiling the kernel. This causes SYSCALL_DEFINE3(sigprocmask, ...) to be expanded to SYSCALL_DEFINEx(3, kernel_sigprocmask, ...) and finally to a system call named sys_kernel_sigprocmask. However sys_sigprocmask is missing because of this. To avoid macro expansion for the system call name just concatenate the name at first define instead of carrying it through severel levels. This was pointed out by Al Viro. Signed-off-by: Heiko Carstens Cc: Geert Uytterhoeven Cc: Al Viro Reviewed-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e4a9b59282914fe057ab17027f55123964bc2e2 Author: Carsten Otte Date: Wed Feb 11 13:04:37 2009 -0800 ext2/xip: refuse to change xip flag during remount with busy inodes For a reason that I was unable to understand in three months of debugging, mount ext2 -o remount stopped working properly when remounting from regular operation to xip, or the other way around. According to a git bisect search, the problem was introduced with the VM_MIXEDMAP/PTE_SPECIAL rework in the vm: commit 70688e4dd1647f0ceb502bbd5964fa344c5eb411 Author: Nick Piggin Date: Mon Apr 28 02:13:02 2008 -0700 xip: support non-struct page backed memory In the failing scenario, the filesystem is mounted read only via root= kernel parameter on s390x. During remount (in rc.sysinit), the inodes of the bash binary and its libraries are busy and cannot be invalidated (the bash which is running rc.sysinit resides on subject filesystem). Afterwards, another bash process (running ifup-eth) recurses into a subshell, runs dup_mm (via fork). Some of the mappings in this bash process were created from inodes that could not be invalidated during remount. Both parent and child process crash some time later due to inconsistencies in their address spaces. The issue seems to be timing sensitive, various attempts to recreate it have failed. This patch refuses to change the xip flag during remount in case some inodes cannot be invalidated. This patch keeps users from running into that issue. [akpm@linux-foundation.org: cleanup] Signed-off-by: Carsten Otte Cc: Nick Piggin Cc: Jared Hulbert Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfebe563bd0a3ff97e1bc167123120d59c7a84db Author: Li Zefan Date: Wed Feb 11 13:04:36 2009 -0800 cgroups: fix lockdep subclasses overflow I enabled all cgroup subsystems when compiling kernel, and then: # mount -t cgroup -o net_cls xxx /mnt # mkdir /mnt/0 This showed up immediately: BUG: MAX_LOCKDEP_SUBCLASSES too low! turning off the locking correctness validator. It's caused by the cgroup hierarchy lock: for (i = 0; i < CGROUP_SUBSYS_COUNT; i++) { struct cgroup_subsys *ss = subsys[i]; if (ss->root == root) mutex_lock_nested(&ss->hierarchy_mutex, i); } Now we have 9 cgroup subsystems, and the above 'i' for net_cls is 8, but MAX_LOCKDEP_SUBCLASSES is 8. This patch uses different lockdep keys for different subsystems. Signed-off-by: Li Zefan Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01c4a4283137d24c9cc3785f1f312e895a18f273 Author: KOSAKI Motohiro Date: Wed Feb 11 13:04:35 2009 -0800 cgroups: add Li Zefan as a maintainer Add Li Zefan as co-maintainer. Acked-by: Paul Menage Acked-by: Li Zefan Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c318c7ac49f9139f55da619bbace6137e1509390 Author: Roel Kluin Date: Wed Feb 11 13:04:34 2009 -0800 rtc: t reaches -1, tested 0 With a postfix decrement t will reach -1 rather than 0, so neither the warning nor the `goto error_out' will occur. Signed-off-by: Roel Kluin Acked-by: Manuel Lauss Acked-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4870bc5ee8c7a37541a3eb1208b5c76c13a078a Author: Randy Dunlap Date: Wed Feb 11 13:04:33 2009 -0800 kernel-doc: fix syscall wrapper processing Fix kernel-doc processing of SYSCALL wrappers. The SYSCALL wrapper patches played havoc with kernel-doc for syscalls. Syscalls that were scanned for DocBook processing reported warnings like this one, for sys_tgkill: Warning(kernel/signal.c:2285): No description found for parameter 'tgkill' Warning(kernel/signal.c:2285): No description found for parameter 'pid_t' Warning(kernel/signal.c:2285): No description found for parameter 'int' because the macro parameters all "look like" function parameters, although they are not: /** * sys_tgkill - send signal to one specific thread * @tgid: the thread group ID of the thread * @pid: the PID of the thread * @sig: signal to be sent * * This syscall also checks the @tgid and returns -ESRCH even if the PID * exists but it's not belonging to the target process anymore. This * method solves the problem of threads exiting and PIDs getting reused. */ SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid_t, pid, int, sig) { ... This patch special-cases the handling SYSCALL_DEFINE* function prototypes by expanding them to long sys_foobar(type1 arg1, type1 arg2, ...) Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f40b45a2e45b0f02aeedfcfbb28d8e2d4b8b86b1 Author: Randy Dunlap Date: Wed Feb 11 13:04:31 2009 -0800 kernel-doc: preferred ending marker and examples Fix kernel-doc-nano-HOWTO.txt to use */ as the ending marker in kernel-doc examples and state that */ is the preferred ending marker. Signed-off-by: Randy Dunlap Reported-by: Robert Love Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e9c23724328ae4e56c42a35a717a956d7d3001d Author: KAMEZAWA Hiroyuki Date: Wed Feb 11 13:04:29 2009 -0800 memcg: use __GFP_NOWARN in page cgroup allocation page_cgroup's page allocation at init/memory hotplug uses kmalloc() and vmalloc(). If kmalloc() failes, vmalloc() is used. This is because vmalloc() is very limited resource on 32bit systems. We want to use kmalloc() first. But in this kind of call, __GFP_NOWARN should be specified. Reported-by: Heiko Carstens Signed-off-by: KAMEZAWA Hiroyuki Acked-by: Balbir Singh Acked-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4097456cd1d9285e876fc5d08a789462804cc28 Author: Uwe Kleine-Koenig Date: Wed Feb 11 13:04:28 2009 -0800 video/framebuffer: move the probe func into .devinit.text in Blackfin LCD driver Signed-off-by: Uwe Kleine-Koenig Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7dcce1334fa5879dc12bee001962e8f74bce60f1 Author: Marcel Selhorst Date: Wed Feb 11 13:04:27 2009 -0800 tpm: correct email address for tpm_infineon-driver Update my email address. Signed-off-by: Marcel Selhorst Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 508b9f8efdad123b202b228f71f59feba51e4fb5 Author: MinChan Kim Date: Wed Feb 11 13:04:27 2009 -0800 mm: fix mlocked page counter mismatch When I tested following program, I found that the mlocked counter is strange. It cannot free some mlocked pages. It is because try_to_unmap_file() doesn't check real page mappings in vmas. That is because the goal of an address_space for a file is to find all processes into which the file's specific interval is mapped. It is related to the file's interval, not to pages. Even if the page isn't really mapped by the vma, it returns SWAP_MLOCK since the vma has VM_LOCKED, then calls try_to_mlock_page. After this the mlocked counter is increased again. COWed anon page in a file-backed vma could be a such case. This patch resolves it. -- my test program -- int main() { mlockall(MCL_CURRENT); return 0; } -- before -- root@barrios-target-linux:~# cat /proc/meminfo | egrep 'Mlo|Unev' Unevictable: 0 kB Mlocked: 0 kB -- after -- root@barrios-target-linux:~# cat /proc/meminfo | egrep 'Mlo|Unev' Unevictable: 8 kB Mlocked: 8 kB Signed-off-by: MinChan Kim Acked-by: Lee Schermerhorn Acked-by: KOSAKI Motohiro Tested-by: Lee Schermerhorn Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02ac597c9b86af49b2016aa98aee20ab59dbf0d2 Author: Jan Kara Date: Wed Feb 11 13:04:26 2009 -0800 ext3: revert "ext3: wait on all pending commits in ext3_sync_fs" This reverts commit c87591b719737b4e91eb1a9fa8fd55a4ff1886d6. Since journal_start_commit() is now fixed to return 1 when we started a transaction commit, there's some transaction waiting to be committed or there's a transaction already committing, we don't need to call ext3_force_commit() in ext3_sync_fs(). Furthermore ext3_force_commit() can unnecessarily create sync transaction which is expensive so it's worthwhile to remove it when we can. Cc: Eric Sandeen Cc: Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8fe4cd0dc5ea43760c59eb256404188272cc95dd Author: Jan Kara Date: Wed Feb 11 13:04:25 2009 -0800 jbd: fix return value of journal_start_commit() journal_start_commit() returns 1 if either a transaction is committing or the function has queued a transaction commit. But it returns 0 if we raced with somebody queueing the transaction commit as well. This resulted in ext3_sync_fs() not functioning correctly (description from Arthur Jones): In the case of a data=ordered umount with pending long symlinks which are delayed due to a long list of other I/O on the backing block device, this causes the buffer associated with the long symlinks to not be moved to the inode dirty list in the second phase of fsync_super. Then, before they can be dirtied again, kjournald exits, seeing the UMOUNT flag and the dirty pages are never written to the backing block device, causing long symlink corruption and exposing new or previously freed block data to userspace. This can be reproduced with a script created by Eric Sandeen : #!/bin/bash umount /mnt/test2 mount /dev/sdb4 /mnt/test2 rm -f /mnt/test2/* dd if=/dev/zero of=/mnt/test2/bigfile bs=1M count=512 touch /mnt/test2/thisisveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryverylongfilename ln -s /mnt/test2/thisisveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryverylongfilename /mnt/test2/link umount /mnt/test2 mount /dev/sdb4 /mnt/test2 ls /mnt/test2/ This patch fixes journal_start_commit() to always return 1 when there's a transaction committing or queued for commit. Cc: Eric Sandeen Cc: Mike Snitzer Cc: Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc3501d411d34823fb9be248a95a0c44f945866f Author: Sven Wegener Date: Wed Feb 11 13:04:23 2009 -0800 mm: fix dirty_bytes/dirty_background_bytes sysctls on 64bit arches We need to pass an unsigned long as the minimum, because it gets casted to an unsigned long in the sysctl handler. If we pass an int, we'll access four more bytes on 64bit arches, resulting in a random minimum value. [rientjes@google.com: fix type of `old_bytes'] Signed-off-by: Sven Wegener Cc: Peter Zijlstra Cc: Dave Chinner Cc: Christoph Lameter Cc: David Rientjes Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35887b1cf74dc751dd0574b26515142d3cea9376 Author: Andres Salomon Date: Wed Feb 11 13:04:23 2009 -0800 gx1fb: properly alloc cmap and plug cmap leak We weren't properly allocating the cmap for depths greater than 8bpp, which caused pain for things like DirectFB. Also, we never freed the cmap memory upon module unload.. Signed-off-by: Andres Salomon Cc: Marco La Porta Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b14caecdbe7730bf82c8510f1ba52e00273e15c4 Author: Andres Salomon Date: Wed Feb 11 13:04:22 2009 -0800 gxfb: properly alloc cmap and plug cmap leak We weren't properly allocating the cmap for depths greater than 8bpp, which caused pain for things like DirectFB. Also, we never freed the cmap memory upon module unload.. Signed-off-by: Andres Salomon Cc: Marco La Porta Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 067f1293cc5916f8d88b602beeb8787d58515608 Author: Marco La Porta Date: Wed Feb 11 13:04:20 2009 -0800 lxfb: properly alloc cmap in all cases and don't leak the memory We weren't properly allocating the cmap for depths greater than 8bpp, which caused pain for things like DirectFB. Also, we never freed the cmap memory upon module unload.. [dilinger@debian.org: dropped unnecessary code and clean up patch] [dilinger@debian.org: add error checking and handling] Signed-off-by: Andres Salomon Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57f63bc8fe79e6598e7253f10f53f58c9fdc57be Author: Robert Jarzmik Date: Wed Feb 11 13:04:19 2009 -0800 rtc: update maintainership of pxa rtc driver Signed-off-by: Robert Jarzmik Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1001c9fb8721ab395e21f571ed2aaa523cdd1e29 Author: Daisuke Nishimura Date: Wed Feb 11 13:04:18 2009 -0800 migration: migrate_vmas should check "vma" migrate_vmas() should check "vma" not "vma->vm_next" for for-loop condition. Signed-off-by: Daisuke Nishimura Cc: Christoph Lameter Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17c9d12e126cb0de8d535dc1908c4819d712bc68 Author: Mel Gorman Date: Wed Feb 11 16:34:16 2009 +0000 Do not account for hugetlbfs quota at mmap() time if mapping [SHM|MAP]_NORESERVE Commit 5a6fe125950676015f5108fb71b2a67441755003 brought hugetlbfs more in line with the core VM by obeying VM_NORESERVE and not reserving hugepages for both shared and private mappings when [SHM|MAP]_NORESERVE are specified. However, it is still taking filesystem quota unconditionally. At fault time, if there are no reserves and attempt is made to allocate the page and account for filesystem quota. If either fail, the fault fails. The impact is that quota is getting accounted for twice. This patch partially reverts 5a6fe125950676015f5108fb71b2a67441755003. To help prevent this mistake happening again, it improves the documentation of hugetlb_reserve_pages() Reported-by: Andy Whitcroft Signed-off-by: Mel Gorman Acked-by: Andy Whitcroft Signed-off-by: Linus Torvalds commit 6c6f1f0f4db31a192916eaa31ec2f114fda7d5e5 Merge: 94dba89... fc631c8... Author: Linus Torvalds Date: Wed Feb 11 08:25:06 2009 -0800 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: revert recent sync wakeup changes commit 94dba895333a4321f27360e42b807260ae36bda4 Merge: 9ce04f9... 4da94d49... Author: Linus Torvalds Date: Wed Feb 11 08:24:32 2009 -0800 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: timers: fix TIMER_ABSTIME for process wide cpu timers timers: split process wide cpu clocks/timers, fix x86: clean up hpet timer reinit timers: split process wide cpu clocks/timers, remove spurious warning timers: split process wide cpu clocks/timers signal: re-add dead task accumulation stats. x86: fix hpet timer reinit for x86_64 sched: fix nohz load balancer on cpu offline commit 9ce04f9238cafcfd09a502f2bc8c13b5f44ec590 Merge: b3f2caa... 06eb23b... Author: Linus Torvalds Date: Wed Feb 11 08:23:22 2009 -0800 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: ptrace, x86: fix the usage of ptrace_fork() i8327: fix outb() parameter order x86: fix math_emu register frame access x86: math_emu info cleanup x86: include correct %gs in a.out core dump x86, vmi: put a missing paravirt_release_pmd in pgd_dtor x86: find nr_irqs_gsi with mp_ioapic_routing x86: add clflush before monitor for Intel 7400 series x86: disable intel_iommu support by default x86: don't apply __supported_pte_mask to non-present ptes x86: fix grammar in user-visible BIOS warning x86/Kconfig.cpu: make Kconfig help readable in the console x86, 64-bit: print DMI info in the oops trace commit b3f2caaaa82440af06b39c2c92e4fa8122d75465 Merge: 93431dd... f47a454... Author: Linus Torvalds Date: Wed Feb 11 08:22:26 2009 -0800 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing, x86: fix constraint for parent variable tracing, x86: fix fixup section to return to original code profiling: fix broken profiling regression commit 93431dd7afa908292753acccb68785efaa366f5b Merge: da8dbb8... 95ec807... Author: Linus Torvalds Date: Wed Feb 11 08:21:29 2009 -0800 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] Update default configuration. [S390] dasd: fix race in dasd timer handling [S390] dasd: bus_id -> dev_name() conversion. [S390] Fix init irq proc build break. [S390] vdso: fix per cpu vdso pointer in lowcore commit da8dbb88db2af1e963090bd549a9a7dccffe991c Merge: 1385a7a... f99fb8a... Author: Linus Torvalds Date: Wed Feb 11 08:21:11 2009 -0800 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/mm: Fix _PAGE_COHERENT support on classic ppc32 HW commit fc631c82e1734d718ff0832558f64c8f5d185f26 Author: Peter Zijlstra Date: Wed Feb 11 14:27:17 2009 +0100 sched: revert recent sync wakeup changes Intel reported a 10% regression (mysql+sysbench) on a 16-way machine with these patches: 1596e29: sched: symmetric sync vs avg_overlap d942fb6: sched: fix sync wakeups Revert them. Reported-by: "Zhang, Yanmin" Bisected-by: Lin Ming Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 4da94d49b2ecb0a26e716a8811c3ecc542c2a65d Author: Peter Zijlstra Date: Wed Feb 11 11:30:27 2009 +0100 timers: fix TIMER_ABSTIME for process wide cpu timers The POSIX timer interface allows for absolute time expiry values through the TIMER_ABSTIME flag, therefore we have to synchronize the timer to the clock every time we start it. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 3fccfd67df79c6351a156eb25a7a514e5f39c4d9 Author: Peter Zijlstra Date: Tue Feb 10 16:37:31 2009 +0100 timers: split process wide cpu clocks/timers, fix To decrease the chance of a missed enable, always enable the timer when we sample it, we'll always disable it when we find that there are no active timers in the jiffy tick. This fixes a flood of warnings reported by Mike Galbraith. Reported-by: Mike Galbraith Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 95ec807e0a42188ec1ce29cf939816ad1e22f2d3 Author: Martin Schwidefsky Date: Wed Feb 11 10:37:32 2009 +0100 [S390] Update default configuration. Signed-off-by: Martin Schwidefsky commit 48cae885d5a896030588978f503c73c5ed5e62b1 Author: Stefan Weinhuber Date: Wed Feb 11 10:37:31 2009 +0100 [S390] dasd: fix race in dasd timer handling In dasd_device_set_timer and dasd_block_set_timer we interpret the return value of mod_timer in a wrong way. If the timer expires in the small window between our check of timer_pending and the call to mod_timer, then the timer will be set, mod_timer returns zero and we will call add_timer for a timer that is already pending. As del_timer and mod_timer do all the necessary checking themselves, we can simplify our code and remove the race a the same time. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit ca0b4b7d2cb57a2e24d7e48ce9b411b9baa3bf63 Author: Cornelia Huck Date: Wed Feb 11 10:37:30 2009 +0100 [S390] dasd: bus_id -> dev_name() conversion. bus_id usage crept in again; fix it. Signed-off-by: Cornelia Huck Signed-off-by: Heiko Carstens commit 0addff81513a71b279a5eca5bf7cba2052c8b737 Author: Sachin Sant Date: Wed Feb 11 10:37:29 2009 +0100 [S390] Fix init irq proc build break. Embed init_irq_proc(s390) within CONFIG_PROC_FS to fix a build break. Signed-off-by : Sachin Sant commit d5e842c4b79cc8e454c4fbbc1ce6a43d43184367 Author: Martin Schwidefsky Date: Wed Feb 11 10:37:28 2009 +0100 [S390] vdso: fix per cpu vdso pointer in lowcore The vdso_per_cpu_data entry in the lowcore structure uses __u32 instead of __u64. If the data page is above 4GB the pointer is truncated and the kernel crashes. Reported-by: Mijo Safradin Signed-off-by: Martin Schwidefsky commit 06eb23b1ba39c61ee5d5faeb42a097635693e370 Author: Oleg Nesterov Date: Mon Feb 9 02:02:33 2009 +0100 ptrace, x86: fix the usage of ptrace_fork() I noticed by pure accident we have ptrace_fork() and friends. This was added by "x86, bts: add fork and exit handling", commit bf53de907dfdaac178c92d774aae7370d7b97d20. I can't test this, ds_request_bts() returns -EOPNOTSUPP, but I strongly believe this needs the fix. I think something like this program int main(void) { int pid = fork(); if (!pid) { ptrace(PTRACE_TRACEME, 0, NULL, NULL); kill(getpid(), SIGSTOP); fork(); } else { struct ptrace_bts_config bts = { .flags = PTRACE_BTS_O_ALLOC, .size = 4 * 4096, }; wait(NULL); ptrace(PTRACE_SETOPTIONS, pid, NULL, PTRACE_O_TRACEFORK); ptrace(PTRACE_BTS_CONFIG, pid, &bts, sizeof(bts)); ptrace(PTRACE_CONT, pid, NULL, NULL); sleep(1); } return 0; } should crash the kernel. If the task is traced by its natural parent ptrace_reparented() returns 0 but we should clear ->btsxxx anyway. Signed-off-by: Oleg Nesterov Acked-by: Markus Metzger Signed-off-by: Ingo Molnar commit f47a454db9129d2e61b224a40f4365cdd4f83042 Author: Steven Rostedt Date: Tue Feb 10 11:53:23 2009 -0500 tracing, x86: fix constraint for parent variable The constraint used for retrieving and restoring the parent function pointer is incorrect. The parent variable is a pointer, and the address of the pointer is modified by the asm statement and not the pointer itself. It is incorrect to pass it in as an output constraint since the asm will never update the pointer. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 7d6d49b1f5551b87bd59c66c10747b89367760fd Merge: acd8957... e3944bf... Author: Ingo Molnar Date: Wed Feb 11 09:49:01 2009 +0100 Merge branch 'tip/tracing/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent commit f99fb8a2cbf0fd9ce9b2d5d298943d0d4dc479f7 Author: Kumar Gala Date: Tue Feb 10 10:57:46 2009 +0000 powerpc/mm: Fix _PAGE_COHERENT support on classic ppc32 HW The following commit: commit 64b3d0e8122b422e879b23d42f9e0e8efbbf9744 Author: Benjamin Herrenschmidt Date: Thu Dec 18 19:13:51 2008 +0000 powerpc/mm: Rework usage of _PAGE_COHERENT/NO_CACHE/GUARDED broke setting of the _PAGE_COHERENT bit in the PPC HW PTE. Since we now actually set _PAGE_COHERENT in the Linux PTE we shouldn't be clearing it out before we propogate it to the PPC HW PTE. Reported-by: Martyn Welch Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 1385a7ae654264fb2d9d3c6c3c7a3df28d29ab53 Merge: 1db8508... f6f35bb... Author: Linus Torvalds Date: Tue Feb 10 15:54:50 2009 -0800 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] AACI: timeout will reach -1 [ARM] Storage class should be before const qualifier [ARM] pxa: stop and disable IRQ for each DMA channels at startup [ARM] pxa: make more SSCR0 bit definitions visible on multiple processors [ARM] pxa: fix missing of __REG() definition for ac97 registers access [ARM] pxa: fix NAND and MMC clock initialization for pxa3xx commit 1db8508cf483dc1ecf66141f90a7c03659d69512 Author: Stefan Richter Date: Tue Feb 10 23:27:32 2009 +0100 hugetlbfs: fix build failure with !CONFIG_HUGETLBFS Fix regression due to 5a6fe125950676015f5108fb71b2a67441755003, "Do not account for the address space used by hugetlbfs using VM_ACCOUNT" which added an argument to the function hugetlb_file_setup() but not to the macro hugetlb_file_setup(). Reported-by: Chris Clayton Signed-off-by: Stefan Richter Acked-by: Mel Gorman Signed-off-by: Linus Torvalds commit c36c63c511fa088fcc247a8e888b04f248be8435 Merge: 226b791... 0b2f828... Author: Linus Torvalds Date: Tue Feb 10 11:55:12 2009 -0800 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc: Add missing sparsemem.h include powerpc/pci: mmap anonymous memory when legacy_mem doesn't exist powerpc/cell: Add missing #include for oprofile powerpc/ftrace: Fix math to calculate offset in TOC powerpc: Don't emulate mr. instructions powerpc/fsl-booke: Fix mapping functions to use phys_addr_t arch/powerpc: Eliminate double sizeof powerpc/cpm2: Fix set interrupt type powerpc/83xx: Fix TSEC0 workability on MPC8313E-RDB boards powerpc/83xx: Fix missing #{address,size}-cells in mpc8313erdb.dts powerpc/83xx: Build breakage for CONFIG_PM but no CONFIG_SUSPEND commit 226b79104f625f3f58a8388b8b32a4b90415bf02 Merge: 29ef011... aeb3987... Author: Linus Torvalds Date: Tue Feb 10 11:48:49 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Fix probe_kernel_{read,write}(). sparc64: Kill .fixup section bloat. sparc64: Don't hook up pcr_ops on spitfire chips. sparc64: Call dump_stack() in die_nmi(). commit 29ef01179d37168a021293ede77afbf091a49af4 Merge: 5a6fe12... 4906f99... Author: Linus Torvalds Date: Tue Feb 10 11:48:11 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (23 commits) bridge: Fix LRO crash with tun IPv6: fix to set device name when new IPv6 over IPv6 tunnel device is created. gianfar: Fix boot hangs while bringing up gianfar ethernet netfilter: xt_sctp: sctp chunk mapping doesn't work netfilter: ctnetlink: fix echo if not subscribed to any multicast group netfilter: ctnetlink: allow changing NAT sequence adjustment in creation netfilter: nf_conntrack_ipv6: don't track ICMPv6 negotiation message netfilter: fix tuple inversion for Node information request netxen: fix msi-x interrupt handling de2104x: force correct order when writing to rx ring tun: Fix unicast filter overflow drivers/isdn: introduce missing kfree drivers/atm: introduce missing kfree sunhme: Don't match PCI devices in SBUS probe. 9p: fix endian issues [attempt 3] net_dma: call dmaengine_get only if NET_DMA enabled 3c509: Fix resume from hibernation for PnP mode. sungem: Soft lockup in sungem on Netra AC200 when switching interface up RxRPC: Fix a potential NULL dereference r8169: Don't update statistics counters when interface is down ... commit 5a6fe125950676015f5108fb71b2a67441755003 Author: Mel Gorman Date: Tue Feb 10 14:02:27 2009 +0000 Do not account for the address space used by hugetlbfs using VM_ACCOUNT When overcommit is disabled, the core VM accounts for pages used by anonymous shared, private mappings and special mappings. It keeps track of VMAs that should be accounted for with VM_ACCOUNT and VMAs that never had a reserve with VM_NORESERVE. Overcommit for hugetlbfs is much riskier than overcommit for base pages due to contiguity requirements. It avoids overcommiting on both shared and private mappings using reservation counters that are checked and updated during mmap(). This ensures (within limits) that hugepages exist in the future when faults occurs or it is too easy to applications to be SIGKILLed. As hugetlbfs makes its own reservations of a different unit to the base page size, VM_ACCOUNT should never be set. Even if the units were correct, we would double account for the usage in the core VM and hugetlbfs. VM_NORESERVE may be set because an application can request no reserves be made for hugetlbfs at the risk of getting killed later. With commit fc8744adc870a8d4366908221508bb113d8b72ee, VM_NORESERVE and VM_ACCOUNT are getting unconditionally set for hugetlbfs-backed mappings. This breaks the accounting for both the core VM and hugetlbfs, can trigger an OOM storm when hugepage pools are too small lockups and corrupted counters otherwise are used. This patch brings hugetlbfs more in line with how the core VM treats VM_NORESERVE but prevents VM_ACCOUNT being set. Signed-off-by: Mel Gorman Signed-off-by: Linus Torvalds commit e3944bfac961cd7fc82f3b3143c55dc375748569 Author: Steven Rostedt Date: Tue Feb 10 13:07:13 2009 -0500 tracing, x86: fix fixup section to return to original code Impact: fix to prevent a kernel crash on fault If for some reason the pointer to the parent function on the stack takes a fault, the fix up code will not return back to the original faulting code. This can lead to unpredictable results and perhaps even a kernel panic. A fault should not happen, but if it does, we should simply disable the tracer, warn, and continue running the kernel. It should not lead to a kernel crash. Signed-off-by: Steven Rostedt commit b52af40923fc91a12e3c7152d833e0c0c6a508f6 Author: Clemens Ladisch Date: Tue Feb 10 09:21:07 2009 +0100 i8327: fix outb() parameter order In i8237A_resume(), when resetting the DMA controller, the parameters to dma_outb() were mixed up. Signed-off-by: Clemens Ladisch [ cleaned up the file a tiny bit. ] Signed-off-by: Ingo Molnar commit f6f35bbe7c6494e66590cf519e21da2dd8d59e01 Author: Roel Kluin Date: Sun Feb 8 15:22:25 2009 +0100 [ARM] AACI: timeout will reach -1 With a postfix decrement the timeout will reach -1 rather than 0, so the warning will not be issued. Signed-off-by: Roel Kluin Signed-off-by: Russell King commit e0fc4f97ab6b11594d0b0658ef6cf02bd68f3b4e Author: Tobias Klauser Date: Mon Feb 9 21:35:39 2009 +0100 [ARM] Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Russell King commit 0b2f82872ff855b92e9e8356b90ef429d96d6977 Author: Michael Neuling Date: Sun Feb 8 14:49:39 2009 +0000 powerpc: Add missing sparsemem.h include arch/powerpc/platforms/pseries/hotplug-memory.c uses remove_section_mapping() but doesn't include sparsemem.h which defines it. This can cause compilation fails for some configs. Signed-off-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit 5b11abfdb572bf9284e596dd198ac2aaf95b6616 Author: Benjamin Herrenschmidt Date: Sun Feb 8 14:27:21 2009 +0000 powerpc/pci: mmap anonymous memory when legacy_mem doesn't exist The new legacy_mem file in sysfs is causing problems with X on machines that don't support legacy memory access. The way I initially implemented it, we would fail with -ENXIO when trying to mmap it, thus exposing to X that we do support the API but there is no legacy memory. Unfortunately, X poor error handling is causing it to fail to start when it gets this error. This implements a workaround hack that instead maps anonymous memory instead (using shmem if VM_SHARED is set, just like /dev/zero does). Signed-off-by: Benjamin Herrenschmidt commit d87bf76679bd37593ae4a3133f5da9395a4963ac Author: Michael Neuling Date: Sun Feb 8 13:04:14 2009 +0000 powerpc/cell: Add missing #include for oprofile arch/powerpc/oprofile/cell/spu_profiler.c is missing a asm/time.h include which is required for ppc_proc_freq. This can cause compile failures for some config combinations. Signed-off-by: Michael Neuling Acked-by: Arnd Bergmann Signed-off-by: Benjamin Herrenschmidt commit f25f9074c24f1451a74942c4bc089bb53e47f462 Author: Steven Rostedt Date: Sat Feb 7 20:22:40 2009 +0000 powerpc/ftrace: Fix math to calculate offset in TOC Impact: fix dynamic ftrace with large modules in PPC64 The math to calculate the offset into the TOC that is taken from reading the trampoline is incorrect. The bottom half of the offset is a signed extended short. The current code was using an OR to create the offset when it should have been using an addition. Signed-off-by: Steven Rostedt Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit eef336189b2b5ae68bfbef0df24176a4a152d981 Author: Ananth N Mavinakayanahalli Date: Fri Feb 6 02:02:00 2009 +0000 powerpc: Don't emulate mr. instructions Currently emulate_step() emulates mr. instructions without updating cr0 and this can be disastrous. Don't emulate mr. This bug has been around for a while, but I am not sure if its a worthy -stable candidate. I'll leave it to Ben do decide. Signed-off-by: Ananth N Mavinakayanahalli Signed-off-by: Benjamin Herrenschmidt commit 6c24b17453c8dc444a746e45b8a404498fc9fcf7 Author: Kumar Gala Date: Mon Feb 9 21:08:07 2009 -0600 powerpc/fsl-booke: Fix mapping functions to use phys_addr_t Fixed v_mapped_by_tlbcam() and p_mapped_by_tlbcam() to use phys_addr_t instead of unsigned long. In 36-bit physical mode we really need these functions to deal with phys_addr_t when trying to match a physical address or when returning one. Signed-off-by: Kumar Gala commit acd895795d35d7c6405f20301a846d16998795ec Author: Hugh Dickins Date: Mon Feb 9 19:20:50 2009 +0000 profiling: fix broken profiling regression Impact: fix broken /proc/profile on UP machines Commit c309b917cab55799ea489d7b5f1b77025d9f8462 "cpumask: convert kernel/profile.c" broke profiling. prof_cpu_mask was previously initialized to CPU_MASK_ALL, but left uninitialized in that commit. We need to copy cpu_possible_mask (cpu_online_mask is not enough). Signed-off-by: Hugh Dickins Signed-off-by: Ingo Molnar commit d315760ffa261c15ff92699ac6f514112543d7ca Author: Tejun Heo Date: Mon Feb 9 22:17:39 2009 +0900 x86: fix math_emu register frame access do_device_not_available() is the handler for #NM and it declares that it takes a unsigned long and calls math_emu(), which takes a long argument and surprisingly expects the stack frame starting at the zero argument would match struct math_emu_info, which isn't true regardless of configuration in the current code. This patch makes do_device_not_available() take struct pt_regs like other exception handlers and initialize struct math_emu_info with pointer to it and pass pointer to the math_emu_info to math_emulate() like normal C functions do. This way, unless gcc makes a copy of struct pt_regs in do_device_not_available(), the register frame is correctly accessed regardless of kernel configuration or compiler used. This doesn't fix all math_emu problems but it at least gets it somewhat working. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit 4906f9985e310fc01f956256b0d58ac28b0dcb19 Author: Herbert Xu Date: Mon Feb 9 15:07:18 2009 -0800 bridge: Fix LRO crash with tun > Kernel BUG at drivers/net/tun.c:444 > invalid opcode: 0000 [1] SMP > last sysfs file: /class/net/lo/ifindex > CPU 0 > Modules linked in: tun ipt_MASQUERADE iptable_nat ip_nat xt_state ip_conntrack > nfnetlink ipt_REJECT xt_tcpudp iptable_filter d > Pid: 6912, comm: qemu-kvm Tainted: G 2.6.18-128.el5 #1 > RIP: 0010:[] [] > :tun:tun_chr_readv+0x2b1/0x3a6 > RSP: 0018:ffff8102202c5e48 EFLAGS: 00010246 > RAX: 0000000000000000 RBX: ffff8102202c5e98 RCX: 0000000004010000 > RDX: ffff810227063680 RSI: ffff8102202c5e9e RDI: ffff8102202c5e92 > RBP: 0000000000010ff6 R08: 0000000000000000 R09: 0000000000000001 > R10: ffff8102202c5e94 R11: 0000000000000202 R12: ffff8102275357c0 > R13: ffff81022755e500 R14: 0000000000000000 R15: ffff8102202c5ef8 > FS: 00002ae4398db980(0000) GS:ffffffff803ac000(0000) knlGS:0000000000000000 > CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b > CR2: 00002ae4ab514000 CR3: 0000000221344000 CR4: 00000000000026e0 > Process qemu-kvm (pid: 6912, threadinfo ffff8102202c4000, task > ffff81022e58d820) > Stack: 00000000498735cb ffff810229d1a3c0 0000000000000000 ffff81022e58d820 > ffffffff8008a461 ffff81022755e528 ffff81022755e528 ffffffff8009f925 > 000005ea05ea0000 ffff8102209d0000 00001051143e1600 ffffffff8003c00e > Call Trace: > [] default_wake_function+0x0/0xe > [] enqueue_hrtimer+0x55/0x70 > [] hrtimer_start+0xbc/0xce > [] :tun:tun_chr_read+0x1a/0x1f > [] vfs_read+0xcb/0x171 > [] sys_read+0x45/0x6e > [] system_call+0x7e/0x83 > > > Code: 0f 0b 68 40 62 6f 88 c2 bc 01 f6 42 0a 08 74 0c 80 4c 24 41 > RIP [] :tun:tun_chr_readv+0x2b1/0x3a6 > RSP > <0>Kernel panic - not syncing: Fatal exception This crashed when an LRO packet generated by bnx2x reached a tun device through the bridge. We're supposed to drop it at the bridge. However, because the check was placed in br_forward instead of __br_forward, it's only effective if we are sending the packet through a single port. This patch fixes it by moving the check into __br_forward. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 20461c1740cac5e02733221c9f653098a703f55a Author: Noriaki TAKAMIYA Date: Mon Feb 9 15:01:19 2009 -0800 IPv6: fix to set device name when new IPv6 over IPv6 tunnel device is created. When the user creates IPv6 over IPv6 tunnel, the device name created by the kernel isn't set to t->parm.name, which is referred as the result of ioctl(). Signed-off-by: Noriaki TAKAMIYA Signed-off-by: David S. Miller commit 8707bdd48ab705a459ac1b12014075a139d1d4f9 Author: Jarek Poplawski Date: Mon Feb 9 14:59:30 2009 -0800 gianfar: Fix boot hangs while bringing up gianfar ethernet Ira Snyder found that commit 8c7396aebb68994c0519e438eecdf4d5fa9c7844 "gianfar: Merge Tx and Rx interrupt for scheduling clean up ring" can cause hangs. It's because there was removed clearing of interrupts in gfar_schedule_cleanup() (which is called by an interrupt handler) in case when netif scheduling has been disabled. This patch brings back this action and a comment. Reported-by: Ira Snyder Reported-by: Peter Korsgaard Bisected-by: Ira Snyder Tested-by: Peter Korsgaard Tested-by: Ira Snyder Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit d4e2675a61890a84849a24affedf80d5cae8b199 Author: Qu Haoran Date: Mon Feb 9 14:34:56 2009 -0800 netfilter: xt_sctp: sctp chunk mapping doesn't work When user tries to map all chunks given in argument, kernel works on a copy of the chunkmap, but at the end it doesn't check the copy, but the orginal one. Signed-off-by: Qu Haoran Signed-off-by: Nicolas Dichtel Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1f9da256163e3ff91a12d0b861091f0e525139df Author: Pablo Neira Ayuso Date: Mon Feb 9 14:34:26 2009 -0800 netfilter: ctnetlink: fix echo if not subscribed to any multicast group This patch fixes echoing if the socket that has sent the request to create/update/delete an entry is not subscribed to any multicast group. With the current code, ctnetlink would not send the echo message via unicast as nfnetlink_send() would be skip. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c969aa7d2cd5621ad4129dae6b6551af422944c6 Author: Pablo Neira Ayuso Date: Mon Feb 9 14:33:57 2009 -0800 netfilter: ctnetlink: allow changing NAT sequence adjustment in creation This patch fixes an inconsistency in the current ctnetlink code since NAT sequence adjustment bit can only be updated but not set in the conntrack entry creation. This patch is used by conntrackd to successfully recover newly created entries that represent connections with helpers and NAT payload mangling. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3f9007135c1dc896db9a9e35920aafc65b157230 Author: Eric Leblond Date: Mon Feb 9 14:33:20 2009 -0800 netfilter: nf_conntrack_ipv6: don't track ICMPv6 negotiation message This patch removes connection tracking handling for ICMPv6 messages related to Stateless Address Autoconfiguration, MLD, and MLDv2. They can not be tracked because they are massively using multicast (on pre-defined address). But they are not invalid and should not be detected as such. Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a51f42f3c940e5582c40454ece066d033bc7e24f Author: Eric Leblond Date: Mon Feb 9 14:33:03 2009 -0800 netfilter: fix tuple inversion for Node information request The patch fixes a typo in the inverse mapping of Node Information request. Following draft-ietf-ipngwg-icmp-name-lookups-09, "Querier" sends a type 139 (ICMPV6_NI_QUERY) packet to "Responder" which answer with a type 140 (ICMPV6_NI_REPLY) packet. Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4c098bcd55fad34dcf224bf8343db6a9ac58fc68 Merge: d006b2b... 284b066... Author: Linus Torvalds Date: Mon Feb 9 14:00:16 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: don't use spin_is_contended commit d006b2b620ebf87a1d5592fbd7ae75d4a6da8423 Merge: 7d16766... 049a6ac... Author: Linus Torvalds Date: Mon Feb 9 13:59:51 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB: Storage: Update unusual_devs entry for Datafab KECF-USB USB: Correct Makefile to make isp1760 buildable USB: option: New mobile broadband modems to be supported USB: two more usb ids for ti_usb_3410_5052 USB: ftdi_sio: unlock_kernel() on error in set_serial_info() USB: usb-storage: add Pentax to the bad-vendor list USB: ftdi_sio: add support for the NDI Polaris system USB: usb-serial: fix the aircable_init failure path USB: usb-storage: remove WARN from last-sector hacks Revert USB: option: add Pantech cards USB: cdc-acm.c: remove duplicate lines for MTK gps support USB: fsl_qe_udc: Fix stalled TX requests bug USB: fsl_qe_udc: Fix muram corruption by disabled endpoints USB: fsl_qe_udc: Fix disconnects reporting during bus reset USB: fsl_qe_udc: Fix QE USB controller initialization USB: fsl_qe_udc: Fix recursive locking bug in ch9getstatus() USB: fsl_qe_udc: Fix oops on QE UDC probe failure commit 7d1676629e9262f441540ecb0cde57e5cafc632f Merge: 6707fbb... 6136ac8... Author: Linus Torvalds Date: Mon Feb 9 13:58:40 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: Staging: panel: fix lcd panel driver build failure Staging: android: fix up units in timed_gpio Staging: android: ram_console: Disable ECC when early init is enabled and validate buffer size Staging: at76_usb: Add support for OQO Model 01+ Staging: at76_usb: fix bugs introduced by "Staging: at76_usb: cleanup dma on stack issues" Revert Staging: at76_usb: update drivers/staging/at76_usb w/ mac80211 port commit 6707fbb56c8fd3121e334291d170934bcaca2e7f Merge: 896abeb... 732553e... Author: Linus Torvalds Date: Mon Feb 9 13:58:22 2009 -0800 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] powernow-k8: Get transition latency from ACPI _PSS table [CPUFREQ] Make ignore_nice_load setting of ondemand work as expected. commit 284b066af41579f62649048fdec5c5e7091703e6 Author: Chris Mason Date: Mon Feb 9 16:22:03 2009 -0500 Btrfs: don't use spin_is_contended Btrfs was using spin_is_contended to see if it should drop locks before doing extent allocations during btrfs_search_slot. The idea was to avoid expensive searches in the tree unless the lock was actually contended. But, spin_is_contended is specific to the ticket spinlocks on x86, so this is causing compile errors everywhere else. In practice, the contention could easily appear some time after we started doing the extent allocation, and it makes more sense to always drop the lock instead. Signed-off-by: Chris Mason commit 6136ac86b719716694884a84cd9d403207cc52b9 Author: Sachin P. Sant Date: Tue Feb 3 21:10:58 2009 +0530 Staging: panel: fix lcd panel driver build failure * Fix build break for lcd panel driver. Signed-off-by : Sachin Sant Cc: Willy Tarreau Signed-off-by: Greg Kroah-Hartman commit d88dfb8dc4bfb66066e7c68727c219faaa541206 Author: Greg Kroah-Hartman Date: Wed Feb 4 15:05:05 2009 -0800 Staging: android: fix up units in timed_gpio The last build fix I did messed up the units of the sysfs file. This puts them back to be milliseconds, like they originally were. Thanks to Juha Motorsportcom for pointing this out. Reported-by: Juha Motorsportcom Cc: Mike Lockwood Signed-off-by: Greg Kroah-Hartman commit 5701c0519b7a357a602fda5c96f26197ecfc4c85 Author: Arve Hjønnevåg Date: Fri Jan 30 20:21:09 2009 -0800 Staging: android: ram_console: Disable ECC when early init is enabled and validate buffer size Signed-off-by: Arve Hjønnevåg Signed-off-by: Greg Kroah-Hartman commit 07f269862a2981f1512de5393e2d0ce5b2ee8305 Author: Jamie Lentin Date: Wed Feb 4 13:38:44 2009 +0000 Staging: at76_usb: Add support for OQO Model 01+ Add USB device ID for OQO 01+'s internal wireless LAN An OQO employee mentions the chip's true identity here:- ftp://ftp.oqo.com/unsupported/linux/OQOLinux.html Signed-off-by: Jamie Lentin Signed-off-by: Greg Kroah-Hartman commit ea8f9fe634da9042c01ca2f4e459a7b187056021 Author: Jason Andryuk Date: Fri Jan 30 09:05:03 2009 -0500 Staging: at76_usb: fix bugs introduced by "Staging: at76_usb: cleanup dma on stack issues" Tracking down the firmware loading problem led to this commit. $ git bisect bad 0d1d1424330cc1934f2b2742f0cfa2c31e6a250b is first bad commit commit 0d1d1424330cc1934f2b2742f0cfa2c31e6a250b Author: Oliver Neukum Date: Thu Dec 18 13:16:40 2008 +0100 Staging: at76_usb: cleanup dma on stack issues - no DMA on stack - cleanup unclear endianness issue Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman :040000 040000 c4fee9ea0fef25926229d810d19dc2f89cca9401 8b165a35d16280d2413b2700a6080ef290ca1009 M drivers The "no DMA on stack" conversion was incomplete with respect to updating the arguments passed to usb_control_msg. The value 40 is hardcoded as it was prior to conversion. The driver can now load firmware, but is not fully functional. Signed-off-by: Jason Andryuk Cc: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 89cb7e7fd6c0917bb9236ea48bf538d4668ed009 Author: Greg Kroah-Hartman Date: Tue Feb 3 16:28:48 2009 -0800 Revert Staging: at76_usb: update drivers/staging/at76_usb w/ mac80211 port Reverts 02227c28391b5059a7710d6039c52912b0ee2c1d (Had to be done by hand due to other patches that had come after this.) Turns out that we don't want the mac80211 port of this driver just yet, as there is a different driver working on adding this support. So keep things old and different for now. This is being reverted at the request of the linux-wireless developers. Cc: Kalle Valo Cc: John W. Linville Signed-off-by: Greg Kroah-Hartman commit 049a6acb503ca7acc11d563db79a2d54f054e0d0 Author: Nick Holloway Date: Sun Jan 25 16:58:43 2009 +0000 USB: Storage: Update unusual_devs entry for Datafab KECF-USB This device suffers from the off-by-one error when reporting the capacity, so add US_FL_FIX_CAPACITY to the existing entry. Signed-off-by: Nick Holloway Signed-off-by: Greg Kroah-Hartman commit 26e1287594864169577327fef233befc9739be3b Author: Ivan Kuten Date: Fri Feb 6 17:42:34 2009 +0800 USB: Correct Makefile to make isp1760 buildable Signed-off-by: Ivan Kuten Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Greg Kroah-Hartman commit c200b9c9e8ec93cdd262cfa1699ad92e883d4876 Author: Dirk De Schepper Date: Fri Feb 6 20:48:34 2009 +0000 USB: option: New mobile broadband modems to be supported - New Novatel and Dell mobile broadband modem products added - Dell pid variables used in stead of numerical PIDs for known products Signed-off-by: Dirk De Schepper Cc: stable Signed-off-by: Matthias Urlichs Signed-off-by: Greg Kroah-Hartman commit 97dcf0416e390fc5c997d4ea60e6f975c7b7a1c3 Author: Oliver Neukum Date: Wed Feb 4 16:38:33 2009 +0100 USB: two more usb ids for ti_usb_3410_5052 This patch adds device IDs and balances the counts to make the hot ID additioning mechanism work. Signed-off-by: Oliver Neukum Cc: stable Cc: Chris Adams Signed-off-by: Greg Kroah-Hartman commit 64905b48098761e779bb848e69365c018894ea81 Author: Dan Carpenter Date: Tue Feb 3 11:11:38 2009 +0300 USB: ftdi_sio: unlock_kernel() on error in set_serial_info() There was one error path where unlock_kernel() wasn't called. This was found with a code checker (http://repo.or.cz/w/smatch.git/) Compile tested only, sorry. Signed-off-by: Dan Carpenter Signed-off-by: Greg Kroah-Hartman commit 506e9469833c66ed6bb9acd902e208f7301b6adb Author: Alan Stern Date: Wed Feb 4 15:48:03 2009 -0500 USB: usb-storage: add Pentax to the bad-vendor list This patch (as1202) adds Pentax to usb-storage's list of bad vendors whose devices always need the CAPACITY_HEURISTICS flag. This is in addition to the existing entries: Nokia, Nikon, and Motorola. Signed-off-by: Alan Stern Tested-by: Virgo Pärna Cc: stable Signed-off-by: Greg Kroah-Hartman commit e38c287447e5a3ff905a59dd81269c14cd12ffa1 Author: Stephane Clerambault Date: Mon Feb 2 13:39:12 2009 -0800 USB: ftdi_sio: add support for the NDI Polaris system Add support for the NDI Polaris system *http://www.ndigital.com/). Cc: Ian Abbott Cc: Oliver Neukum Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 78c8fb3717cdff35ad118e17ac7495d0cf21a61f Author: Dave Young Date: Sun Feb 1 18:54:54 2009 +0800 USB: usb-serial: fix the aircable_init failure path The failure path of aircable_init is wrong, fix the order of (goto) labels. Signed-off-by: Dave Young Acked-by: Naranjo Manuel Francisco Signed-off-by: Greg Kroah-Hartman commit 0d020aae0a154cffce680a7775c74788fa0bea92 Author: Alan Stern Date: Mon Feb 2 09:51:01 2009 -0500 USB: usb-storage: remove WARN from last-sector hacks This patch (as1201) removes the WARN() from the last-sector hacks in usb-storage, thereby making the code match the version now in .27-stable and .28-stable. The WARN() isn't needed, since there is no longer any intention of assuming that all storage devices have an even number of sectors, and it annoys users for no good reason. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 6b40c0057a7935bcf63a38a924094c7e61d4731f Author: Greg Kroah-Hartman Date: Tue Feb 3 16:02:21 2009 -0800 Revert USB: option: add Pantech cards Revert 8b6346ec899713a90890c9e832f7eff91ea73504 as these devices really work just fine with the cdc-acm driver, as they follow the spec properly. Thanks to Chuck Ebbert for pointing out the problem here. Cc: Chuck Ebbert Cc: Dan Williams Cc: stable Signed-off-by: Greg Kroah-Hartman commit 2057ac86da09955c9f8671e36d4f6bd1e7a5d7d2 Author: James Treacy Date: Thu Jan 29 20:17:17 2009 -0500 USB: cdc-acm.c: remove duplicate lines for MTK gps support The same patch to add support for MTK gps loggers was submitted by two different people and applied twice. Remove the redundant lines. Signed-off-by: James Treacy Signed-off-by: Greg Kroah-Hartman commit af3ddbd76304f9f602c970f9b09a0c9d8cf8336c Author: Anton Vorontsov Date: Thu Dec 25 17:15:14 2008 +0300 USB: fsl_qe_udc: Fix stalled TX requests bug While disabling an endpoint the driver nuking any pending requests, thus completing them with -ESHUTDOWN status. But the driver doesn't clear the tx_req, which means that a next TX request (after ep_enable), might get stalled, since the driver won't queue the new reqests. This patch fixes a bug I'm observing with ethernet gadget while playing with ifconfig usb0 up/down (the up/down sequence disables and enables `in' and `out' endpoints). Signed-off-by: Anton Vorontsov Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 82341b3690fce8f70998e3cfb79fbffff0eb7e6b Author: Anton Vorontsov Date: Thu Dec 25 17:15:11 2008 +0300 USB: fsl_qe_udc: Fix muram corruption by disabled endpoints Before freeing an endpoint's muram memory, we should stop all activity of the endpoint, otherwise the QE UDC controller might do nasty things with the muram memory that isn't belong to that endpoint anymore. The qe_ep_reset() effectively flushes the hardware fifos, finishes all late transaction and thus prevents the corruption. Signed-off-by: Anton Vorontsov Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ef84e4055f3561495c4c0e0dfb0b9f4a6e20479d Author: Anton Vorontsov Date: Thu Dec 25 17:15:09 2008 +0300 USB: fsl_qe_udc: Fix disconnects reporting during bus reset Freescale QE UDC controllers can't report the "port change" states, so the only way to handle disconnects is to process bus reset interrupts. The bus reset can take some time, that is, few irqs. Gadgets may print the disconnection events, and this causes few repetitive messages in the kernel log. This patch fixes the issue by using the usb_state machine, if the usb controller has been already reset, just quit the reset irq early. Signed-off-by: Anton Vorontsov Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 2247818a329687f30d1e5c3a62efc33d07c47522 Author: Anton Vorontsov Date: Thu Dec 25 17:15:07 2008 +0300 USB: fsl_qe_udc: Fix QE USB controller initialization qe_udc_reg_init() leaves the USB controller enabled before muram memory initialized. Sometimes the uninitialized muram memory confuses the controller, and it start sending the busy interrupts. Fix this by disabling the controller, it will be enabled later by the gadget driver, at bind time. Signed-off-by: Anton Vorontsov Signed-off-by: Greg Kroah-Hartman commit a30551db66afa1b53a4fa7ceadddb7122bdcf491 Author: Anton Vorontsov Date: Thu Dec 25 17:15:05 2008 +0300 USB: fsl_qe_udc: Fix recursive locking bug in ch9getstatus() The call chain is this: qe_udc_irq() <- grabs the udc->lock spinlock rx_irq() qe_ep0_rx() ep0_setup_handle() setup_received_handle() ch9getstatus() qe_ep_queue() <- tries to grab the udc->lock again It seems unsafe to temporarily drop the lock in the ch9getstatus(), so to fix that bug the lock-less __qe_ep_queue() function implemented and used by the ch9getstatus(). Signed-off-by: Anton Vorontsov Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 94f341db3dd080851f918da37e84659ef760da26 Author: Anton Vorontsov Date: Thu Dec 25 17:15:02 2008 +0300 USB: fsl_qe_udc: Fix oops on QE UDC probe failure In case of probing errors the driver kfrees the udc_controller, but it doesn't set the pointer to NULL. When usb_gadget_register_driver is called, it checks for udc_controller != NULL, the check passes and the driver accesses nonexistent memory. Fix this by setting udc_controller to NULL in case of errors. While at it, also implement irq_of_parse_and_map()'s failure and cleanup cases. Signed-off-by: Anton Vorontsov Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 896abeb743579fc8be0d16d15d6768a158a3a109 Merge: f06da26... 9d9b87c... Author: Linus Torvalds Date: Mon Feb 9 10:30:19 2009 -0800 Merge branch 'for-2.6.29' of git://linux-nfs.org/~bfields/linux * 'for-2.6.29' of git://linux-nfs.org/~bfields/linux: lockd: fix regression in lockd's handling of blocked locks commit 9d9b87c1218be78ddecbc85ec3bb91c79c1d56ab Author: J. Bruce Fields Date: Wed Feb 4 17:35:38 2009 -0500 lockd: fix regression in lockd's handling of blocked locks If a client requests a blocking lock, is denied, then requests it again, then here in nlmsvc_lock() we will call vfs_lock_file() without FL_SLEEP set, because we've already queued a block and don't need the locks code to do it again. But that means vfs_lock_file() will return -EAGAIN instead of FILE_LOCK_DENIED. So we still need to translate that -EAGAIN return into a nlm_lck_blocked error in this case, and put ourselves back on lockd's block list. The bug was introduced by bde74e4bc64415b1 "locks: add special return value for asynchronous locks". Thanks to Frank van Maarseveen for the report; his original test case was essentially for i in `seq 30`; do flock /nfsmount/foo sleep 10 & done Tested-by: Frank van Maarseveen Reported-by: Frank van Maarseveen Cc: Miklos Szeredi Signed-off-by: J. Bruce Fields commit f06da264cfb0f9444d41ca247213e419f90aa72a Author: Linus Torvalds Date: Mon Feb 9 08:57:29 2009 -0800 i915: Fix more size_t format string warnings The DRI people seem to have a hard time getting these right (see also commit aeb565dfc3ac4c8b47c5049085b4c7bfb2c7d5d7). Signed-off-by: Linus Torvalds commit ff7473300d429118aa97368ba5a16bc63aecfc75 Merge: d7c41b6... d2f5935... Author: Linus Torvalds Date: Mon Feb 9 08:52:28 2009 -0800 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/i915: select framebuffer support automatically drm/i915: add get_vblank_counter function for GM45 drm/i915: capture last_vblank count at IRQ uninstall time too drm/i915: Unlock mutex on i915_gem_fault() error path drm/i915: Quiet the message on get/setparam ioctl with an unknown value. drm/i915: skip LVDS initialization on Apple Mac Mini drm/i915: sync SDVO code with stable userland modesetting driver drm/i915: Unref the object after failing to set tiling mode. drm/i915: add fence register management to execbuf drm/i915: Return error from i915_gem_object_get_fence_reg() when failing. drm/i915: Set up an MTRR covering the GTT at driver load. drm/i915: Skip SDVO/HDMI init when the chipset tells us it's not present. drm/i915: Suppress GEM teardown on X Server exit in KMS mode. drm/radeon: fix ioremap conflict with AGP mappings i915: fix unneeded locking in i915 LVDS get modes code. commit d7c41b616518457e3bfece12e3f59f15d7450eeb Merge: a8e807f... 4f3e797... Author: Linus Torvalds Date: Mon Feb 9 08:52:02 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: scatterwalk - Avoid flush_dcache_page on slab pages crypto: shash - Fix tfm destruction crypto: api - Fix zeroing on free crypto: shash - Fix module refcount crypto: api - Fix algorithm test race that broke aead initialisation commit a8e807f7607ab633de7be4e2f4c350923cc2cb63 Author: David Howells Date: Mon Feb 9 16:47:36 2009 +0000 FRV: in_interrupt() requires #inclusion of linux/hardirq.h not asm/hardirq.h now in_interrupt() requires #inclusion of linux/hardirq.h not asm/hardirq.h now. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit a5ef7ca0e2636bad0ccd07b996d775348ae2b65e Author: Kyle McMartin Date: Sun Feb 8 17:39:58 2009 -0500 x86: spinlocks: define dummy __raw_spin_is_contended Architectures other than mips and x86 are not using ticket spinlocks. Therefore, the contention on the lock is meaningless, since there is nobody known to be waiting on it (arguably /fairly/ unfair locks). Dummy it out to return 0 on other architectures. Signed-off-by: Kyle McMartin Acked-by: Ralf Baechle Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit ae6af41f5a4841f06eb92bc86ad020ad44ae2a30 Author: Tejun Heo Date: Mon Feb 9 22:17:39 2009 +0900 x86: math_emu info cleanup Impact: cleanup * Come on, struct info? s/struct info/struct math_emu_info/ * Use struct pt_regs and kernel_vm86_regs instead of defining its own register frame structure. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit 914c3d630b29b07d04908eab1b246812dadd5bd6 Author: Tejun Heo Date: Mon Feb 9 22:17:39 2009 +0900 x86: include correct %gs in a.out core dump Impact: dump the correct %gs into a.out core dump aout_dump_thread() read %gs but didn't include it in core dump. Fix it. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar commit 55a8ba4b7f76bebd7e8ce3f74c04b140627a1bad Author: Alok Kataria Date: Fri Feb 6 10:29:35 2009 -0800 x86, vmi: put a missing paravirt_release_pmd in pgd_dtor Commit 6194ba6ff6ccf8d5c54c857600843c67aa82c407 ("x86: don't special-case pmd allocations as much") made changes to the way we handle pmd allocations, and while doing that it dropped a call to paravirt_release_pd on the pgd page from the pgd_dtor code path. As a result of this missing release, the hypervisor is now unaware of the pgd page being freed, and as a result it ends up tracking this page as a page table page. After this the guest may start using the same page for other purposes, and depending on what use the page is put to, it may result in various performance and/or functional issues ( hangs, reboots). Since this release is only required for VMI, I now release the pgd page from the (vmi)_pgd_free hook. Signed-off-by: Alok N Kataria Acked-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Cc: commit 3f4a739c6accd651a11fcf3c7a20ec8147c42660 Author: Yinghai Lu Date: Sun Feb 8 16:18:03 2009 -0800 x86: find nr_irqs_gsi with mp_ioapic_routing Impact: find right nr_irqs_gsi on some systems. One test-system has gap between gsi's: [ 0.000000] ACPI: IOAPIC (id[0x04] address[0xfec00000] gsi_base[0]) [ 0.000000] IOAPIC[0]: apic_id 4, version 0, address 0xfec00000, GSI 0-23 [ 0.000000] ACPI: IOAPIC (id[0x05] address[0xfeafd000] gsi_base[48]) [ 0.000000] IOAPIC[1]: apic_id 5, version 0, address 0xfeafd000, GSI 48-54 [ 0.000000] ACPI: IOAPIC (id[0x06] address[0xfeafc000] gsi_base[56]) [ 0.000000] IOAPIC[2]: apic_id 6, version 0, address 0xfeafc000, GSI 56-62 ... [ 0.000000] nr_irqs_gsi: 38 So nr_irqs_gsi is not right. some irq for MSI will overwrite with io_apic. need to get that with acpi_probe_gsi when acpi io_apic is used Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit e736ad548db152776de61d7a26805cfae77ce5ce Author: Pallipadi, Venkatesh Date: Fri Feb 6 16:52:05 2009 -0800 x86: add clflush before monitor for Intel 7400 series For Intel 7400 series CPUs, the recommendation is to use a clflush on the monitored address just before monitor and mwait pair [1]. This clflush makes sure that there are no false wakeups from mwait when the monitored address was recently written to. [1] "MONITOR/MWAIT Recommendations for Intel Xeon Processor 7400 series" section in specification update document of 7400 series http://download.intel.com/design/xeon/specupdt/32033601.pdf Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit 286ce0ac1c524849026f7472b3921b9acf557510 Merge: d5b5623... 26a5522... Author: Russell King Date: Mon Feb 9 09:43:47 2009 +0000 Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 commit aeb398768345c74a9e4c01aa3ebf839e858312ec Author: David S. Miller Date: Sun Feb 8 22:32:31 2009 -0800 sparc64: Fix probe_kernel_{read,write}(). This is based upon a report from Chris Torek and his initial patch. From Chris's report: -------------------- This came up in testing kgdb, using the built-in tests -- turn on CONFIG_KGDB_TESTS, then echo V1 > /sys/module/kgdbts/parameters/kgdbts -- but it would affect using kgdb if you were debugging and looking at bad pointers. -------------------- When we get a copy_{from,to}_user() request and the %asi is set to something other than ASI_AIUS (which is userspace) then we branch off to a routine called memcpy_user_stub(). It just does a straight memcpy since we are copying from kernel to kernel in this case. The logic was that since source and destination are both kernel pointers we don't need to have exception checks. But for what probe_kernel_{read,write}() is trying to do, we have to have the checks, otherwise things like kgdb bad kernel pointer accesses don't do the right thing. Signed-off-by: David S. Miller commit 40bdac7dbc161639a498697f34fbd1ee800e51f4 Author: David S. Miller Date: Sun Feb 8 22:00:55 2009 -0800 sparc64: Kill .fixup section bloat. This is an implementation of a suggestion made by Chris Torek: -------------------- Something else I noticed in passing: the EX and EX_LD/EX_ST macros scattered throughout the various .S files make a fair bit of .fixup code, all of which does the same thing. At the cost of one symbol in copy_in_user.S, you could just have one common two-instruction retl-and-mov-1 fixup that they all share. -------------------- The following is with a defconfig build: text data bss dec hex filename 3972767 344024 584449 4901240 4ac978 vmlinux.orig 3968887 344024 584449 4897360 4aba50 vmlinux Signed-off-by: David S. Miller commit 4f3e797ad07d52d34983354a77b365dfcd48c1b4 Author: Herbert Xu Date: Mon Feb 9 14:22:14 2009 +1100 crypto: scatterwalk - Avoid flush_dcache_page on slab pages It's illegal to call flush_dcache_page on slab pages on a number of architectures. So this patch avoids doing so if PageSlab is true. In future we can move the flush_dcache_page call to those page cache users that actually need it. Reported-by: David S. Miller Signed-off-by: Herbert Xu commit b3df68f8f5a29888ae693fdb84ebabbc28ed9400 Author: Dhananjay Phadke Date: Sun Feb 8 19:20:19 2009 -0800 netxen: fix msi-x interrupt handling o Cut down msi-x vectors from 8 to 1 since only one is used for now. o Use separate handler for msi-x, that doesn't unnecessarily scrub msi status register. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit b991d2bc4a6e1821555bdc2a682f9aed24650c98 Author: Risto Suominen Date: Sun Feb 8 17:50:34 2009 -0800 de2104x: force correct order when writing to rx ring DescOwn should not be set, thus allowing the chip to use the descriptor, before everything else is set up correctly. Signed-off-by: Risto Suominen Signed-off-by: David S. Miller commit cfbf84fcbcda98bb91ada683a8dc8e6901a83ebd Author: Alex Williamson Date: Sun Feb 8 17:49:17 2009 -0800 tun: Fix unicast filter overflow Tap devices can make use of a small MAC filter set via the TUNSETTXFILTER ioctl. The filter has a set of exact matches plus a hash for imperfect filtering of additional multicast addresses. The current code is unbalanced, adding unicast addresses to the multicast hash, but only checking the hash against multicast addresses. This results in the filter dropping unicast addresses that overflow the exact filter. The fix is simply to disable the filter by leaving count set to zero if we find non-multicast addresses after the exact match table is filled. Signed-off-by: Alex Williamson Signed-off-by: David S. Miller commit 23b904f35128f3c596831cc3320bab1f2db81f60 Author: Julia Lawall Date: Sun Feb 8 17:00:49 2009 -0800 drivers/isdn: introduce missing kfree Error handling code following a kmalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,l; position p1,p2; expression *ptr != NULL; @@ ( if ((x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...)) == NULL) S | x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S ) <... when != x when != if (...) { <+...x...+> } x->f = E ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit bc111d570ba87cff48ec8dfa15a2a598e59c0f4b Author: Julia Lawall Date: Sun Feb 8 17:00:02 2009 -0800 drivers/atm: introduce missing kfree Error handling code following a kmalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,l; position p1,p2; expression *ptr != NULL; @@ ( if ((x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...)) == NULL) S | x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S ) <... when != x when != if (...) { <+...x...+> } x->f = E ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit d5b562330ec766292a3ac54ae5e0673610bd5b3d Author: Hugh Dickins Date: Sun Feb 8 20:56:58 2009 +0000 mm: fix error case in mlock downgrade reversion Commit 27421e211a39784694b597dbf35848b88363c248, Manually revert "mlock: downgrade mmap sem while populating mlocked regions", has introduced its own regression: __mlock_vma_pages_range() may report an error (for example, -EFAULT from trying to lock down pages from beyond EOF), but mlock_vma_pages_range() must hide that from its callers as before. Reported-by: Sami Farin Signed-off-by: Hugh Dickins Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit d2f59357700487a8b944f4f7777d1e97cf5ea2ed Author: Ingo Molnar Date: Thu Feb 5 16:03:34 2009 +0100 drm/i915: select framebuffer support automatically Migration helper. The i915 driver recently added a 'depends on FB' rule to its Kconfig entry - which silently turns off DRM_I915 if someone has a working config but no CONFIG_FB selected, and upgrades to the latest upstream kernel. Norbert Preining reported this problem: Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=12599 Subject : dri /dev node disappeared with 2.6.29-rc1 So change it to "select FB", which auto-selects framebuffer support. This way the driver keeps working, regardless of whether FB was enabled before or not. Kconfig select's of interactive options can be problematic to dependencies and can cause build breakages - but in this case it's safe because it's a leaf entry with no dependencies of its own. ( There is some minor circular dependency fallout as FB_I810 and FB_INTEL also used 'depends on FB' constructs - update those to "select FB" too. ) Reported-by: Norbert Preining Signed-off-by: Ingo Molnar Signed-off-by: Dave Airlie commit 9880b7a527ffbb52f65c2de0a8d4eea86e24775e Author: Jesse Barnes Date: Fri Feb 6 10:22:41 2009 -0800 drm/i915: add get_vblank_counter function for GM45 As discussed in the long thread about vblank related timeouts, it turns out GM45 has different frame count registers than previous chips. This patch adds support for them, which prevents us from waiting on really stale sequence values in drm_wait_vblank (which rather than returning immediately ends up timing out or getting interrupted). Signed-off-by: Jesse Barnes Signed-off-by: Dave Airlie commit 14d200c5e5bd19219d930bbb9a5a22758c8f5bec Author: Jesse Barnes Date: Fri Feb 6 13:04:49 2009 -0800 drm/i915: capture last_vblank count at IRQ uninstall time too In dc1336ff4fe08ae7cfe8301bfd7f0b2cfd31d20a (set vblank enable flag correctly across IRQ uninstall), we made sure drivers that uninstall their interrupt handler set the vblank enabled flag correctly, so that when interrupts are re-enabled, vblank interrupts & counts work as expected. However I missed the last_vblank field: it needs to be updated as well, otherwise, at the next drm_update_vblank_count we'll end up comparing a current count to a stale one (the last one captured by the disable function), which may trigger the wraparound handling, leading to a jumpy counter and hangs in drm_wait_vblank. The jumpy counter can prevent the DRM_WAIT_ON from returning success if the difference between the current count and the requested count is greater than 2^23, leading to timeouts or hangs, if the ioctl is restarted in a loop (as is the case in libdrm < 2.4.4). Signed-off-by: Jesse Barnes Acked-by: Michel Dänzer Tested-by: Timo Aaltonen Signed-off-by: Dave Airlie commit 7d8d58b23fd01e60ed44d8d8c10b2df86e638faa Author: Chris Wilson Date: Wed Feb 4 14:15:10 2009 +0000 drm/i915: Unlock mutex on i915_gem_fault() error path If we failed to allocate a new fence register we would return VM_FAULT_SIGBUS without relinquishing the lock. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 122ee2a63bc49d21f402f6b6d2208306cdcc98c1 Author: Eric Anholt Date: Tue Feb 3 12:10:21 2009 -0800 drm/i915: Quiet the message on get/setparam ioctl with an unknown value. Getting an unknown get/setparam used to be more significant back when they didn't change much. However, now that we're in the git world we're using them instead of a monotonic version number to signal feature availability, so clients ask about unknown params on older kernels more often. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 565dcd4635f4f8c0ac4dee38a5625bc325799b1e Author: Paul Collins Date: Wed Feb 4 23:05:41 2009 +1300 drm/i915: skip LVDS initialization on Apple Mac Mini The Apple Mac Mini falsely reports LVDS. Use DMI to check whether we are running on a Mac Mini, and skip LVDS initialization if that proves to be the case. Signed-off-by: Paul Collins Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit e2f0ba97d60e59fe5c6237851933a9c38a8f9a24 Author: Jesse Barnes Date: Mon Feb 2 15:11:52 2009 -0800 drm/i915: sync SDVO code with stable userland modesetting driver Pull in an update from the 2D driver (hopefully the last one, future work should be done here and pulled back into xf86-video-intel as needed). Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 72daad40dc0be179e0dc85c17d5dc1e850b5e8e4 Author: Chris Wilson Date: Fri Jan 30 21:10:22 2009 +0000 drm/i915: Unref the object after failing to set tiling mode. Cleanup the object reference on the error paths. Signed-off-by: Chris Wilson Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 0f973f27888e4664b253ab2cf69c67c2eb80ab1b Author: Jesse Barnes Date: Mon Jan 26 17:10:45 2009 -0800 drm/i915: add fence register management to execbuf Adds code to set up fence registers at execbuf time on pre-965 chips as necessary. Also fixes up a few bugs in the pre-965 tile register support (get_order != ffs). The number of fences available to the kernel defaults to the hw limit minus 3 (for legacy X front/back/depth), but a new parameter allows userspace to override that as needed. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit d9ddcb96e05cfbadf3dbf66859bcaf5eae25af0b Author: Eric Anholt Date: Tue Jan 27 10:33:49 2009 -0800 drm/i915: Return error from i915_gem_object_get_fence_reg() when failing. Previously, the caller would continue along without knowing that the function failed, resulting in potential mis-rendering. Right now vm_fault just returns SIGBUS in that case, and we may need to disable signal handling to avoid that happening. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit ab657db12d7020629f26f30d287558a8d0e32b41 Author: Eric Anholt Date: Fri Jan 23 12:57:47 2009 -0800 drm/i915: Set up an MTRR covering the GTT at driver load. We'd love to just be using PAT, but even on chips with PAT it gets disabled sometimes due to an errata. It would probably be better to have pat_enabled exported and only bother with this when !pat_enabled. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 725e30ad6601d7fe443d9215d6331758a9d7e0c8 Author: Eric Anholt Date: Thu Jan 22 13:01:02 2009 -0800 drm/i915: Skip SDVO/HDMI init when the chipset tells us it's not present. This saves startup time from probing SDVO, and saves setting up HDMI outputs on G4X devices that don't have them. Signed-off-by: Dave Airlie commit e806b4957412bf472d826bd8cc571da041248799 Author: Eric Anholt Date: Thu Jan 22 09:56:58 2009 -0800 drm/i915: Suppress GEM teardown on X Server exit in KMS mode. Fixes hangs when starting X for the second time. Signed-off-by: Eric Anholt Signed-off-by: Dave Airlie commit 9b8d5a124f133fe9a75397d20b874844a2e3d7e9 Author: Dave Airlie Date: Sat Feb 7 11:15:41 2009 +1000 drm/radeon: fix ioremap conflict with AGP mappings this solves a regression from http://bugzilla.kernel.org/show_bug.cgi?id=12441 Reported-by: Daniel Vetter Signed-off-by: Dave Airlie commit 0b492fce3d72d982a7981905f85484a1e1ba7fde Author: David S. Miller Date: Sat Feb 7 02:20:25 2009 -0800 sunhme: Don't match PCI devices in SBUS probe. Unfortunately, the OF device tree nodes for SBUS and PCI hme devices have the same device node name on some systems. So if the name of the parent node isn't 'sbus', skip it. Based upon an excellent report and detective work by Meelis Roos and Eric Brower. Signed-off-by: David S. Miller Tested-by: Meelis Roos commit beeebc92ee04bff6a722ebf85e23131faedd4479 Author: Eric Van Hensbergen Date: Fri Feb 6 22:07:41 2009 -0800 9p: fix endian issues [attempt 3] When the changes were done to the protocol last release, some endian bugs crept in. This patch fixes those endian problems and has been verified to run on 32/64 bit and x86/ppc architectures. This version of the patch incorporates the correct annotations for endian variables. Signed-off-by: Eric Van Hensbergen Signed-off-by: David S. Miller commit b4bd07c20ba0c1fa7ad09ba257e0a5cfc2bf6bb3 Author: David S. Miller Date: Fri Feb 6 22:06:43 2009 -0800 net_dma: call dmaengine_get only if NET_DMA enabled Based upon a patch from Atsushi Nemoto -------------------- The commit 649274d993212e7c23c0cb734572c2311c200872 ("net_dma: acquire/release dma channels on ifup/ifdown") added unconditional call of dmaengine_get() to net_dma. The API should be called only if NET_DMA was enabled. -------------------- Signed-off-by: David S. Miller Acked-by: Dan Williams commit 152abd139cca049c9b559a7cca762fa7fd9fd264 Author: Ondrej Zary Date: Fri Feb 6 22:04:08 2009 -0800 3c509: Fix resume from hibernation for PnP mode. From: Ondrej Zary last year, I posted a patch which fixed hibernation on 3c509 cards. That was back in 2.6.24. It worked fine in 2.6.25. But then I stopped using hibernation (as it did not work with my new IT8212 RAID controller). Now I fixed it and noticed that 3c509 does not wake up properly anymore (in 2.6.28) - neither in PnP nor in ISA modes. ifconfig down/up makes the card work again in PnP mode. However, in ISA mode, ifconfig up ends with "No such device" error. Comparing the 3c509 driver between 2.6.25 and 2.6.28, there's only some statistics-related change. So the cause of the problem must be somewhere else. This patch makes the resume work in PnP mode, but it's still not enough for ISA mode. Signed-off-by: David S. Miller commit 71822faa3bc0af5dbf5e333a2d085f1ed7cd809f Author: Ilkka Virta Date: Fri Feb 6 22:00:36 2009 -0800 sungem: Soft lockup in sungem on Netra AC200 when switching interface up From: Ilkka Virta In the lockup situation the driver seems to go off in an eternal storm of interrupts right after calling request_irq(). It doesn't actually do anything interesting in the interrupt handler. Since connecting the link afterwards works, something later in initialization must fix this. Looking at gem_do_start() and gem_open(), it seems that the only thing done while opening the device after the request_irq(), is a call to napi_enable(). I don't know what the ordering requirements are for the initialization, but I boldly tried to move the napi_enable() call inside gem_do_start() before the link state is checked and interrupts subsequently enabled, and it seems to work for me. Doesn't even break anything too obvious... Signed-off-by: David S. Miller commit 15bde72738f373aa060ececeda8e064e4f924360 Author: David Howells Date: Fri Feb 6 21:50:52 2009 -0800 RxRPC: Fix a potential NULL dereference Fix a potential NULL dereference bug during error handling in rxrpc_kernel_begin_call(), whereby rxrpc_put_transport() may be handed a NULL pointer. This was found with a code checker (http://repo.or.cz/w/smatch.git/). Reported-by: Dan Carpenter Signed-off-by: David Howells Signed-off-by: David S. Miller commit 355423d0849f4506bc71ab2738d38cb74429aaef Author: Ivan Vecera Date: Fri Feb 6 21:49:57 2009 -0800 r8169: Don't update statistics counters when interface is down Some Realtek chips (RTL8169sb/8110sb in my case) are unable to retrieve ethtool statistics when the interface is down. The process stays in endless loop in rtl8169_get_ethtool_stats. This is because these chips need to have receiver enabled (CmdRxEnb bit in ChipCmd register) that is cleared when the interface is going down. It's better to update statistics only when the interface is up and otherwise return copy of statistics grabbed when the interface was up (in rtl8169_close). It is interesting that PCI-E NICs (like 8168b/8111b...) are not affected. Signed-off-by: Ivan Vecera Acked-by: Francois Romieu Signed-off-by: David S. Miller commit 08c6e3a57877ceda5c2f4c99ae7d433b8eef779a Author: Julia Lawall Date: Wed Feb 4 22:43:04 2009 +0100 arch/powerpc: Eliminate double sizeof Taking sizeof the result of sizeof is quite strange and does not seem to be what is wanted here. This was fixed using the following semantic patch. (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; @@ - sizeof ( sizeof (E) - ) @@ type T; @@ - sizeof ( sizeof (T) - ) // Signed-off-by: Julia Lawall Acked-by: Scott Wood Signed-off-by: Kumar Gala commit 7f3ea17f316577e31db868f720ac575c74d20163 Author: paulfax Date: Tue Jan 27 02:44:07 2009 -0600 powerpc/cpm2: Fix set interrupt type This is a simple change to correct problems when using set_irq_type on platforms using CPM2. This code corrects the problem on most platform but may have issues on 8272 derived platforms for some interrupts. On 8272 PC2 & 3 are missing and PC 23 & 29 are added, which this patch does not address. Signed-off-by: Paul Bilke Reviewed-by: Anton Vorontsov Signed-off-by: Kumar Gala commit e85477f516c2de7ed515fcf94ceab5282eba7fa4 Author: Anton Vorontsov Date: Thu Feb 5 23:10:40 2009 +0300 powerpc/83xx: Fix TSEC0 workability on MPC8313E-RDB boards TSEC0 is connected to Vitesse 7385 5-port switch. The switch isn't connected to any mdio bus, the link to the switch is fixed to Full-duplex 1000 Mb/s (no pause). This patch fixes following failure during bootup: mdio@24520:01 not found eth0: Could not attach to PHY IP-Config: Failed to open eth0 Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 1f0d4d16d9d4ffa65438425d092f7061476b95b3 Author: Anton Vorontsov Date: Thu Feb 5 23:10:32 2009 +0300 powerpc/83xx: Fix missing #{address,size}-cells in mpc8313erdb.dts commit b31a1d8b41513b96e9c7ec2f68c5734cef0b26a4 ("gianfar: Convert gianfar to an of_platform_driver") introduced a child node for the ethernet@25000 controller, but no address and size cells specifiers were added, and that makes dtc unhappy: DTC: dts->dtb on file "arch/powerpc/boot/dts/mpc8313erdb.dts" Warning (reg_format): "reg" property in /soc8313@e0000000/ethernet@25000/mdio@25520 has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1) Warning (avoid_default_addr_size): Relying on default #address-cells value for /soc8313@e0000000/ethernet@25000/mdio@25520 Warning (avoid_default_addr_size): Relying on default #size-cells value for /soc8313@e0000000/ethernet@25000/mdio@25520 Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit e2a02ba6676cdc5ebec503b558838c08c7083c14 Author: Michael Neuling Date: Fri Feb 6 11:10:27 2009 +1100 powerpc/83xx: Build breakage for CONFIG_PM but no CONFIG_SUSPEND I noticed this doing some randconfig testing (.config below). I have CONFIG_PM but no CONFIG_SUSPEND. Bug is against mainline. arch/powerpc/sysdev/built-in.o: In function `ipic_suspend': ipic.c:(.text+0x6b34): undefined reference to `fsl_deep_sleep' make[1]: *** [.tmp_vmlinux1] Error 1 make: *** [sub-make] Error 2 Looks like #ifdef CONFIG_PM in arch/powerpc/sysdev/ipic.c should be CONFIG_SUSPEND. d49747bdfb2ddebea24d1580da55b79d093d48a9 introduced this. Fix build when we have CONFIG_PM but no CONFIG_SUSPEND. Signed-off-by: Michael Neuling Acked-by: Scott Wood Signed-off-by: Kumar Gala commit ff08f76d738d0ec0f334b187f61e160caa321d54 Author: Pavel Emelyanov Date: Wed Feb 4 13:40:31 2009 +0300 x86: clean up hpet timer reinit Implement Linus's suggestion: introduce the hpet_cnt_ahead() helper function to compare hpet time values - like other wrapping counter comparisons are abstracted away elsewhere. (jiffies, ktime_t, etc.) Reported-by: Kirill Korotaev Signed-off-by: Pavel Emelyanov Signed-off-by: Ingo Molnar commit 7d8e23df69820e6be42bcc41d441f4860e8c76f7 Author: Ingo Molnar Date: Fri Feb 6 14:57:51 2009 +0100 timers: split process wide cpu clocks/timers, remove spurious warning Mike Galbraith reported that the new warning in thread_group_cputimer() triggers en masse with Amarok running. Oleg Nesterov observed: Can't fastpath_timer_check()->thread_group_cputimer() have the false warning too? Suppose we had the timer, then posix_cpu_timer_del() removes this timer, but task_cputime_zero(&sig->cputime_expires) still not true. Remove the spurious debug warning. Reported-by: Mike Galbraith Explained-by: Oleg Nesterov Signed-off-by: Ingo Molnar commit 2783ef23128ad0a4b34e4121c1f7ff664785712f Author: Jesper Dangaard Brouer Date: Fri Feb 6 01:59:12 2009 -0800 udp: Fix potential wrong ip_hdr(skb) pointers Like the UDP header fix, pskb_may_pull() can potentially alter the SKB buffer. Thus the saddr and daddr, pointers may point to the old skb->data buffer. I haven't seen corruptions, as its only seen if the old skb->data buffer were reallocated by another user and written into very quickly (or poison'd by SLAB debugging). Signed-off-by: Jesper Dangaard Brouer Signed-off-by: David S. Miller commit efc683fc2a692735029067b4f939af2a3625e31d Author: Gautam Kachroo Date: Fri Feb 6 00:52:04 2009 -0800 neigh: some entries can be skipped during dumping neightbl_dump_info and neigh_dump_table can skip entries if the *fill*info functions return an error. This results in an incomplete dump ((invoked by netlink requests for RTM_GETNEIGHTBL or RTM_GETNEIGH) nidx and idx should not be incremented if the current entry was not placed in the output buffer Signed-off-by: Gautam Kachroo Signed-off-by: David S. Miller commit 684de409acff8b1fe8bf188d75ff2f99c624387d Author: David S. Miller Date: Fri Feb 6 00:49:55 2009 -0800 ipv6: Disallow rediculious flowlabel option sizes. Just like PKTINFO, limit the options area to 64K. Based upon report by Eric Sesterhenn and analysis by Roland Dreier. Signed-off-by: David S. Miller commit 1c2f61d40b691789626489fa947a3e003c9a84be Author: David S. Miller Date: Thu Feb 5 23:59:04 2009 -0800 sparc64: Don't hook up pcr_ops on spitfire chips. They can't be used for profiling and NMI watchdog currently since they lack the counter overflow interrupt. Signed-off-by: David S. Miller commit 732553e567c2700ba5b9bccc6ec885c75779a94b Author: Mark Langsdorf Date: Tue Feb 3 17:46:43 2009 +0100 [CPUFREQ] powernow-k8: Get transition latency from ACPI _PSS table At this time, the PowerNow! driver for K8 uses an experimentally derived formula to calculate transition latency. The value it provides is orders of magnitude too large on modern systems. This patch replaces the formula with ACPI _PSS latency values for more accuracy and better performance. I've tested it on two 2nd generation Opteron systems, a 3rd generation Operton system, and a Turion X2 without seeing any stability problems. Signed-off-by: Mark Langsdorf Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit 1ca3abdb6a4b87246b00292f048acd344325fd12 Author: Venkatesh Pallipadi Date: Fri Jan 23 09:25:02 2009 -0500 [CPUFREQ] Make ignore_nice_load setting of ondemand work as expected. ondemand micro-accounting of idle time changes broke ignore_nice_load sysfs setting due to a thinko in the code. The bug entry: http://bugzilla.kernel.org/show_bug.cgi?id=12310 Reported-by: Jim Bray Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 0cd5c3c80a0ebd68c08312fa7d8c13149cc61c4c Author: Kyle McMartin Date: Wed Feb 4 14:29:19 2009 -0800 x86: disable intel_iommu support by default Due to recurring issues with DMAR support on certain platforms. There's a number of filesystem corruption incidents reported: https://bugzilla.redhat.com/show_bug.cgi?id=479996 http://bugzilla.kernel.org/show_bug.cgi?id=12578 Provide a Kconfig option to change whether it is enabled by default. If disabled, it can still be reenabled by passing intel_iommu=on to the kernel. Keep the .config option off by default. Signed-off-by: Kyle McMartin Signed-off-by: Andrew Morton Acked-By: David Woodhouse Signed-off-by: Ingo Molnar commit 4cd4c1b40d40447fb5e7ba80746c6d7ba91d7a53 Author: Peter Zijlstra Date: Thu Feb 5 12:24:16 2009 +0100 timers: split process wide cpu clocks/timers Change the process wide cpu timers/clocks so that we: 1) don't mess up the kernel with too many threads, 2) don't have a per-cpu allocation for each process, 3) have no impact when not used. In order to accomplish this we're going to split it into two parts: - clocks; which can take all the time they want since they run from user context -- ie. sys_clock_gettime(CLOCK_PROCESS_CPUTIME_ID) - timers; which need constant time sampling but since they're explicity used, the user can pay the overhead. The clock readout will go back to a full sum of the thread group, while the timers will run of a global 'clock' that only runs when needed, so only programs that make use of the facility pay the price. Signed-off-by: Peter Zijlstra Reviewed-by: Ingo Molnar Signed-off-by: Ingo Molnar commit 32bd671d6cbeda60dc73be77fa2b9037d9a9bfa0 Author: Peter Zijlstra Date: Thu Feb 5 12:24:15 2009 +0100 signal: re-add dead task accumulation stats. We're going to split the process wide cpu accounting into two parts: - clocks; which can take all the time they want since they run from user context. - timers; which need constant time tracing but can affort the overhead because they're default off -- and rare. The clock readout will go back to a full sum of the thread group, for this we need to re-add the exit stats that were removed in the initial itimer rework (f06febc9: timers: fix itimer/many thread hang). Furthermore, since that full sum can be rather slow for large thread groups and we have the complete dead task stats, revert the do_notify_parent time computation. Signed-off-by: Peter Zijlstra Reviewed-by: Ingo Molnar Signed-off-by: Ingo Molnar commit 83895147b702434e6f236deeca75211fd0e3da3a Merge: a6a9540... 483b4ee... Author: Ingo Molnar Date: Thu Feb 5 13:03:28 2009 +0100 Merge branch 'sched/urgent' into timers/urgent Merging it here because an upcoming timers/urgent fix relies on a change already in sched/urgent and not yet upstream. Signed-off-by: Ingo Molnar commit 412e87ae5d852bc3d836f475c19d954b3324363d Author: Herbert Xu Date: Thu Feb 5 16:51:25 2009 +1100 crypto: shash - Fix tfm destruction We were freeing an offset into the slab object instead of the start. This patch fixes it by calling crypto_destroy_tfm which allows the correct address to be given. Signed-off-by: Herbert Xu commit 7b2cd92adc5430b0c1adeb120971852b4ea1ab08 Author: Herbert Xu Date: Thu Feb 5 16:48:24 2009 +1100 crypto: api - Fix zeroing on free Geert Uytterhoeven pointed out that we're not zeroing all the memory when freeing a transform. This patch fixes it by calling ksize to ensure that we zero everything in sight. Reported-by: Geert Uytterhoeven Signed-off-by: Herbert Xu commit b534816b552d35bbd3c60702139ed5c7da2f55c2 Author: Jeremy Fitzhardinge Date: Wed Feb 4 18:33:38 2009 -0800 x86: don't apply __supported_pte_mask to non-present ptes On an x86 system which doesn't support global mappings, __supported_pte_mask has _PAGE_GLOBAL clear, to make sure it never appears in the PTE. pfn_pte() and so on will enforce it with: static inline pte_t pfn_pte(unsigned long page_nr, pgprot_t pgprot) { return __pte((((phys_addr_t)page_nr << PAGE_SHIFT) | pgprot_val(pgprot)) & __supported_pte_mask); } However, we overload _PAGE_GLOBAL with _PAGE_PROTNONE on non-present ptes to distinguish them from swap entries. However, applying __supported_pte_mask indiscriminately will clear the bit and corrupt the pte. I guess the best fix is to only apply __supported_pte_mask to present ptes. This seems like the right solution to me, as it means we can completely ignore the issue of overlaps between the present pte bits and the non-present pte-as-swap entry use of the bits. __supported_pte_mask contains the set of flags we support on the current hardware. We also use bits in the pte for things like logically present ptes with no permissions, and swap entries for swapped out pages. We should only apply __supported_pte_mask to present ptes, because otherwise we may destroy other information being stored in the ptes. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: H. Peter Anvin commit 4abfd73e34e7915e62b6f75bd3e9f4014f830910 Author: Adrian-Ken Rueegsegger Date: Thu Feb 5 16:19:31 2009 +1100 crypto: shash - Fix module refcount Module reference counting for shash is incorrect: when a new shash transformation is created the refcount is not increased as it should. Signed-off-by: Adrian-Ken Rueegsegger Signed-off-by: Herbert Xu commit 4560839939f4b4a96e21e80584f87308ac93c1da Author: Alex Chiang Date: Wed Feb 4 16:44:01 2009 -0700 x86: fix grammar in user-visible BIOS warning Fix user-visible grammo. Signed-off-by: Alex Chiang Signed-off-by: Ingo Molnar commit a6a95406c676ffe4f9dee708eb404a17c69f7fdd Author: Pavel Emelyanov Date: Wed Feb 4 13:40:31 2009 +0300 x86: fix hpet timer reinit for x86_64 There's a small problem with hpet_rtc_reinit function - it checks for the: hpet_readl(HPET_COUNTER) - hpet_t1_cmp > 0 to continue increasing both the HPET_T1_CMP (register) and the hpet_t1_cmp (variable). But since the HPET_COUNTER is always 32-bit, if the hpet_t1_cmp is 64-bit this condition will always be FALSE once the latter hits the 32-bit boundary, and we can have a situation, when we don't increase the HPET_T1_CMP register high enough. The result - timer stops ticking, since HPET_T1_CMP becomes less, than the COUNTER and never increased again. The solution is (based on Linus's suggestion) to not compare 64-bits (on 64-bit x86), but to do the comparison on 32-bit signed integers. Reported-by: Kirill Korotaev Signed-off-by: Pavel Emelyanov Signed-off-by: Ingo Molnar commit dc4ff585ffbc6cb0c872697b2d5f42293a32e5c8 Author: David S. Miller Date: Wed Feb 4 13:48:11 2009 -0800 sparc64: Call dump_stack() in die_nmi(). Signed-off-by: David S. Miller commit 483b4ee60edbefdfbff0dd538fb81f368d9e7c0d Author: Suresh Siddha Date: Wed Feb 4 11:59:44 2009 -0800 sched: fix nohz load balancer on cpu offline Christian Borntraeger reports: > After a logical cpu offline, even on a complete idle system, there > is one cpu with full ticks. It turns out that nohz.cpu_mask has the > the offlined cpu still set. > > In select_nohz_load_balancer() we check if the system is completely > idle to turn of load balancing. We compare cpu_online_map with > nohz.cpu_mask. Since cpu_online_map is updated on cpu unplug, > but nohz.cpu_mask is not, the check fails and the scheduler believes > that we need an "idle load balancer" even on a fully idle system. > Since the ilb cpu does not deactivate the timer tick this breaks NOHZ. Fix the select_nohz_load_balancer() to not set the nohz.cpu_mask while a cpu is going offline. Reported-by: Christian Borntraeger Signed-off-by: Suresh Siddha Tested-by: Christian Borntraeger Signed-off-by: Ingo Molnar commit 36723bfe81f374fd8abc05a46f10a7cac2f01a75 Author: Borislav Petkov Date: Wed Feb 4 21:44:04 2009 +0100 x86/Kconfig.cpu: make Kconfig help readable in the console Impact: cleanup Some lines exceed the 80 char width making them unreadable. Signed-off-by: Borislav Petkov Signed-off-by: Ingo Molnar commit 48ec4d9537282a55d602136724f069faafcac8c8 Author: Kyle McMartin Date: Wed Feb 4 15:54:45 2009 -0500 x86, 64-bit: print DMI info in the oops trace This patch echoes what we already do on 32-bit since 90f7d25c6b672137344f447a30a9159945ffea72, and prints the DMI product name in show_regs, so that system specific problems can be easily identified. Signed-off-by: Kyle McMartin Signed-off-by: Ingo Molnar commit ac048e1734699dd98f4bdf4daf2b9592d4a4d38e Author: Dave Airlie Date: Tue Feb 3 19:05:12 2009 +1000 i915: fix unneeded locking in i915 LVDS get modes code. This code is always called under the lock from the higher layers, so need to go locking it here. Signed-off-by: Dave Airlie commit ccc9c8b91c2631da2cab46a6fcd9c3106dcb9abb Author: Balaji Rao Date: Tue Jan 27 19:22:38 2009 +0530 pcf50633_charger: Fix typo container_of(psy, struct pcf50633_mbc, usb); should be container_of(psy, struct pcf50633_mbc, adapter); Signed-off-by: Balaji Rao Cc: Andy Green Signed-off-by: Anton Vorontsov commit b8e15992b420d09dae831125a623c474c8637cee Author: Herbert Xu Date: Wed Jan 28 14:09:59 2009 +1100 crypto: api - Fix algorithm test race that broke aead initialisation When we complete a test we'll notify everyone waiting on it, drop the mutex, and then remove the test larval (after reacquiring the mutex). If one of the notified parties tries to register another algorithm with the same driver name prior to the removal of the test larval, they will fail with EEXIST as only one algorithm of a given name can be tested at any time. This broke the initialisation of aead and givcipher algorithms as they will register two algorithms with the same driver name, in sequence. This patch fixes the problem by marking the larval as dead before we drop the mutex, and also ignoring all dead or dying algorithms on the registration path. Tested-by: Andreas Steffen Signed-off-by: Herbert Xu commit 26a552264bc92d2ec4747b1babb7cb1264908018 Author: Eric Miao Date: Wed Jan 21 11:29:19 2009 +0800 [ARM] pxa: stop and disable IRQ for each DMA channels at startup Some broken bootloaders will leave the DMA channel state unclean, which we should really initialize correctly here. Signed-off-by: Eric Miao commit b6729deb26a131083add5b7238c7b7478ef6b502 Author: Eric Miao Date: Mon Jan 19 11:42:32 2009 +0800 [ARM] pxa: make more SSCR0 bit definitions visible on multiple processors The only exclusive definitions are SSCR0_SCR and SSCR0_SerClkDiv(), loosen that exclusive #ifdef .. #else .. #endif to allow other definitions to be visible when slected multiple processors. This helps to pass the building of pxa-ssp.c. Signed-off-by: Eric Miao commit ec971c91c55b8e2e2609f8d61eb34da13aedb37d Author: Eric Miao Date: Mon Jan 19 11:39:36 2009 +0800 [ARM] pxa: fix missing of __REG() definition for ac97 registers access This currently happens for 'drivers/input/touch/mainstone-wm97xx.c'. Signed-off-by: Eric Miao commit 8d69abb08343706f88380edb83927ffc0fc83098 Author: Mike Rapoport Date: Sun Jan 18 11:55:19 2009 +0200 [ARM] pxa: fix NAND and MMC clock initialization for pxa3xx After commit 8c3abc7d903df492a7394b0adae4349d9a381aaf ("[ARM] pxa: convert to clkdev and match clocks by struct device where possible") get_clk in pxa3xx_nand fails with -ENOENT. Apparently, clk_get in pxamci will also fail for MCI2 on PXA310. The 'clk_find' and therefore 'clk_get' require driver to supply both 'dev_id' and 'con_id' if they are not NULL in the 'strcut clk_lookup', but neither pxa3xx_nand nor pxamci supply 'con_id'. This patch sets 'con_id' to NULL in NAND clock and MCI2 clock registration. Signed-off-by: Mike Rapoport Signed-off-by: Eric Miao