commit 624f54be206adf970cd8eece16446b027913e533 Author: Linus Torvalds Date: Mon Nov 28 19:51:27 2005 -0800 Linux v2.6.15-rc3 commit 2827d0b23b7279d0a717eea4029efeef2e1b0183 Author: Miklos Szeredi Date: Mon Nov 28 13:44:16 2005 -0800 [PATCH] fuse: check for invalid node ID in fuse_create_open() Check for invalid node ID values in the new atomic create+open method. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f007d5c961448170d0ec2998b1a80eef054b6235 Author: Miklos Szeredi Date: Mon Nov 28 13:44:16 2005 -0800 [PATCH] fuse: check directory aliasing in mkdir Check the created directory inode for aliases in the mkdir() method. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea164d73a7a0b2b2be3a1d8c2a8a4dab8999fa9c Author: Andrea Arcangeli Date: Mon Nov 28 13:44:15 2005 -0800 [PATCH] shrinker->nr = LONG_MAX means deadlock for icache With Andrew Morton The slab scanning code tries to balance the scanning rate of slabs versus the scanning rate of LRU pages. To do this, it retains state concerning how many slabs have been scanned - if a particular slab shrinker didn't scan enough objects, we remember that for next time, and scan more objects on the next pass. The problem with this is that with (say) a huge number of GFP_NOIO direct-reclaim attempts, the number of objects which are to be scanned when we finally get a GFP_KERNEL request can be huge. Because some shrinker handlers just bail out if !__GFP_FS. So the patch clamps the number of objects-to-be-scanned to 2* the total number of objects in the slab cache. Signed-off-by: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 154f484b92e5c25c400f6903512c511644a49322 Author: Jan Kara Date: Mon Nov 28 13:44:14 2005 -0800 [PATCH] Fix oops in vfs_quotaon_mount() When quota file specified in mount options did not exist, we tried to dereference NULL pointer later. Fix it. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6aea114a728db9296f42102d4885e7fb035de0a9 Author: NeilBrown Date: Mon Nov 28 13:44:13 2005 -0800 [PATCH] md: fix --re-add for raid1 and raid6 If you have an array with a write-intent-bitmap, and you remove a device, then re-add it, a full recovery isn't needed. We detect a re-add by looking at saved_raid_disk. For raid1, it doesn't matter which disk it was, only whether or not it was an active device. The old code being removed set a value of 'mirror' which was then ignored, so it can go. The changed code performs the correct check. For raid6, if there are two missing devices, make sure we chose the right slot on --re-add rather than always the first slot. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2a2703c282ce77d189a250f58039daac1da3314 Author: NeilBrown Date: Mon Nov 28 13:44:12 2005 -0800 [PATCH] md: set default_bitmap_offset properly in set_array_info If an array is created using set_array_info, default_bitmap_offset isn't set properly meaning that an internal bitmap cannot be hot-added until the array is stopped and re-assembled. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5ab28a3b81381103b686ff6b9d2f5fbb944bc8c Author: NeilBrown Date: Mon Nov 28 13:44:11 2005 -0800 [PATCH] md: fix problem with raid6 intent bitmap When doing a recovery, we need to know whether the array will still be degraded after the recovery has finished, so we can know whether bits can be clearred yet or not. This patch performs the required check. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 700e432d8364ce59c521abbe03a522051610ebc2 Author: NeilBrown Date: Mon Nov 28 13:44:10 2005 -0800 [PATCH] md: fix locking problem in r5/r6 bitmap_unplug actually writes data (bits) to storage, so we shouldn't be holding a spinlock... Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22dfdf5212e5864b844f629736fb993d4611f190 Author: NeilBrown Date: Mon Nov 28 13:44:09 2005 -0800 [PATCH] md: improve read speed to raid10 arrays using 'far copies' raid10 has two different layouts. One uses near-copies (so multiple copies of a block are at the same or similar offsets of different devices) and the other uses far-copies (so multiple copies of a block are stored a greatly different offsets on different devices). The point of far-copies is that it allows the first section (normally first half) to be layed out in normal raid0 style, and thus provide raid0 sequential read performance. Unfortunately, the read balancing in raid10 makes some poor decisions for far-copies arrays and you don't get the desired performance. So turn off that bad bit of read_balance for far-copies arrays. With this patch, read speed of an 'f2' array is comparable with a raid0 with the same number of devices, though write speed is ofcourse still very slow. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20c5ab6821b3a7aad31fb5a4660e9fe414fb37f6 Author: Michael Krufky Date: Mon Nov 28 13:44:08 2005 -0800 [PATCH] fix broken hybrid v4l-dvb frontend selection Repair broken build configuration for hybrid v4l/dvb card frontend selection. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7b7fd8f3ebbb2810d6893295aa984acd0fd30db Author: Rik van Riel Date: Mon Nov 28 13:44:07 2005 -0800 [PATCH] temporarily disable swap token on memory pressure Some users (hi Zwane) have seen a problem when running a workload that eats nearly all of physical memory - th system does an OOM kill, even when there is still a lot of swap free. The problem appears to be a very big task that is holding the swap token, and the VM has a very hard time finding any other page in the system that is swappable. Instead of ignoring the swap token when sc->priority reaches 0, we could simply take the swap token away from the memory hog and make sure we don't give it back to the memory hog for a few seconds. This patch resolves the problem Zwane ran into. Signed-off-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a93a117eaa0bec426d4671a49bfa96a6fdcd2ac9 Author: Latchesar Ionkov Date: Mon Nov 28 13:44:05 2005 -0800 [PATCH] v9fs: fix memory leak in v9fs dentry code Assign the appropriate dentry operations to the dentry. Fixes memory leak. Signed-off-by: Latchesar Ionkov Cc: Eric Van Hensbergen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c4b8add83c93306b07d78469fd351dc462e4b66 Author: Paul Jackson Date: Mon Nov 28 13:44:05 2005 -0800 [PATCH] cpuset fork locking fix Move the cpuset_fork() call below the write_unlock_irq call in kernel/fork.c copy_process(). Since the cpuset-dual-semaphore-locking-overhaul.patch, the cpuset_fork() routine acquires task_lock(), so cannot be called while holding the tasklist_lock for write. Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3148890bfa4f36c9949871264e06ef4d449eeff9 Author: Nick Piggin Date: Mon Nov 28 13:44:03 2005 -0800 [PATCH] mm: __alloc_pages cleanup fix I believe this patch is required to fix breakage in the asynch reclaim watermark logic introduced by this patch: http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=7fb1d9fca5c6e3b06773b69165a73f3fb786b8ee Just some background of the watermark logic in case it isn't clear... Basically what we have is this: --- pages_high | | (a) | --- pages_low | | (b) | --- pages_min | | (c) | --- 0 Now when pages_low is reached, we want to kick asynch reclaim, which gives us an interval of "b" before we must start synch reclaim, and gives kswapd an interval of "a" before it need go back to sleep. When pages_min is reached, normal allocators must enter synch reclaim, but PF_MEMALLOC, ALLOC_HARDER, and ALLOC_HIGH (ie. atomic allocations, recursive allocations, etc.) get access to varying amounts of the reserve "c". Signed-off-by: Nick Piggin Cc: "Seth, Rohit" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa877b3dc9f2a1fdffac4ea36bee97c21db11a69 Author: Glauber de Oliveira Costa Date: Mon Nov 28 13:44:02 2005 -0800 [PATCH] ext3: Wrong return value for EXT3_IOC_GROUP_ADD This patch corrects the return value for the EXT3_IOC_GROUP_ADD in case it fails due to the presence of multiple resizers at the filesystem. The problem is a little bit more serious than a wrong return value in this case, since the clause err=0 in the exit_journal path will lead to a call to update_backups which in turns causes a NULL pointer dereference. Signed-off-by: Glauber de Oliveira Costa Cc: "Stephen C. Tweedie" Cc: Andreas Dilger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad09d583106fadfdf751926107cfe35fba6bdbd4 Author: Hirokazu Takata Date: Mon Nov 28 13:44:00 2005 -0800 [PATCH] m32r: M3A-2170(Mappi-III) IDE support This patch is for supporting IDE interface for M3A-2170(Mappi-III) board. Signed-off-by: Mamoru Sakugawa Signed-off-by: Hirokazu Takata Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0332db5aff3eec73eead6d991782b0dee1376dc0 Author: Hirokazu Takata Date: Mon Nov 28 13:43:59 2005 -0800 [PATCH] m32r: Introduce atomic_cmpxchg and atomic_inc_not_zero operations Introduce atomic_cmpxchg and atomic_inc_not_zero operations for m32r. Signed-off-by: Hayato Fujiwara Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91f4ab056d85d23fa6955927fdeb1558673e8cd1 Author: Hirokazu Takata Date: Mon Nov 28 13:43:58 2005 -0800 [PATCH] m32r: Fix sys_tas() syscall This patch fixes a deadlock problem of the m32r SMP kernel. In the m32r kernel, sys_tas() system call is provided as a test-and-set function for userspace, for backward compatibility. In some multi-threading application program, deadlocks were rarely caused at sys_tas() funcion. Such a deadlock was caused due to a collision of __pthread_lock() and __pthread_unlock() operations. The "tas" syscall is repeatedly called by pthread_mutex_lock() to get a lock, while a lock variable's value is not 0. On the other hand, pthead_mutex_unlock() sets the lock variable to 0 for unlocking. In the previous implementation of sys_tas() routine, there was a possibility that a unlock operation was ignored in the following case: - Assume a lock variable (*addr) was equal to 1 before sys_tas() execution. - __pthread_unlock() operation is executed by the other processor and the lock variable (*addr) is set to 0, between a read operation ("oldval = *addr;") and the following write operation ("*addr = 1;") during a execution of sys_tas(). In this case, the following write operation ("*addr = 1;") overwrites the __pthread_unlock() result, and sys_tas() fails to get a lock in the next turn and after that. According to the attatched patch, sys_tas() returns 0 value in the next turn and deadlocks never happen. Signed-off-by: Hitoshi Yamamoto Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bce61dd49d6ba7799be2de17c772e4c701558f14 Author: Ben Collins Date: Mon Nov 28 13:43:56 2005 -0800 [PATCH] Fix hardcoded cpu=0 in workqueue for per_cpu_ptr() calls Tracked this down on an Ultra Enterprise 3000. It's a 6-way machine. Odd thing about this machine (and it's good for finding bugs like this) is that the CPU id's are not 0 based. For instance, on my machine the CPU's are 6/7/10/11/14/15. This caused some NULL pointer dereference in kernel/workqueue.c because for single_threaded workqueue's, it hardcoded the cpu to 0. I changed the 0's to any_online_cpu(cpu_online_mask), which cpumask.h claims is "First cpu in mask". So this fits the same usage. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee500f274914653a7d3dfca7d0140a3d21658e32 Author: Oleg Nesterov Date: Mon Nov 28 13:43:55 2005 -0800 [PATCH] fix 32bit overflow in timespec_to_sample() fix 32bit overflow in timespec_to_sample() Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46596338a10a54550ff03a6f60c28145a080296b Author: Chris Humbert Date: Mon Nov 28 13:43:54 2005 -0800 [PATCH] fix broken lib/genalloc.c genalloc improperly stores the sizes of freed chunks, allocates overlapping memory regions, and oopses after its in-band data is overwritten. Signed-off-by: Chris Humbert Cc: Jes Sorensen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7729ac5efe156129d172784fedeaddb2167a1914 Author: Oleg Drokin Date: Mon Nov 28 13:43:53 2005 -0800 [PATCH] reiserfs: fix 32-bit overflow in map_block_for_writepage() I now see another overflow in reiserfs that should lead to data corruptions with files that are bigger than 4G under certain circumstances when using mmap. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a9c3f78a32ddc4ec50f5da2cf2db5db6f442986 Author: Benjamin Herrenschmidt Date: Mon Nov 28 13:43:52 2005 -0800 [PATCH] Console rotation fixes Remove bogus usage of test/set_bit() from fbcon rotation code and just manipulate the bits directly. This fixes an oops on powerpc among others and should be faster. Seems to work fine on the G5 here. Signed-off-by: Benjamin Herrenschmidt Acked-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8080f231224ccd3169f39e73fd750ba98d5b98a7 Author: David Howells Date: Mon Nov 28 13:43:51 2005 -0800 [PATCH] FRV: Make the FRV arch work again The attached patch implements a bunch of small changes to the FRV arch to make it work again. It deals with the following problems: (1) SEM_DEBUG should be SEMAPHORE_DEBUG. (2) The argument list to pcibios_penalize_isa_irq() has changed. (3) CONFIG_HIGHMEM can't be used directly in #if as it may not be defined. (4) page->private is no longer directly accessible. (5) linux/hardirq.h assumes asm/hardirq.h will include linux/irq.h (6) The IDE MMIO access functions are given pointers, not integers, and so get type casting errors. (7) __pa() is passed an explicit u64 type in drivers/char/mem.c, but that can't be cast directly to a pointer on a 32-bit platform. (8) SEMAPHORE_DEBUG should not be contingent on WAITQUEUE_DEBUG as that no longer exists. (9) PREEMPT_ACTIVE is too low a value. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c13cf856cbe16aec3007604dc013cbf3a16c6686 Author: Andrew Morton Date: Mon Nov 28 13:43:48 2005 -0800 [PATCH] fork.c: proc_fork_connector() called under write_lock() Don't do that - it does GFP_KERNEL allocations, for a start. (Reported by Guillaume Thouvenin ) Acked-by: Matt Helsley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff88a3b2f56ae4f3296ea957ea38f99f8bd0e5a8 Author: Andrew Morton Date: Mon Nov 28 13:43:47 2005 -0800 [PATCH] memory_sysdev_class is static So don't define it as extern in the header file. drivers/base/memory.c:28: error: static declaration of 'memory_sysdev_class' follows non-static declaration include/linux/memory.h:88: error: previous declaration of 'memory_sysdev_class' was here Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9d9baa1e819b2f92f9cfa5240f766c535e636a6 Author: Ashok Raj Date: Mon Nov 28 13:43:46 2005 -0800 [PATCH] clean up lock_cpu_hotplug() in cpufreq There are some callers in cpufreq hotplug notify path that the lowest function calls lock_cpu_hotplug(). The lock is already held during cpu_up() and cpu_down() calls when the notify calls are broadcast to registered clients. Ideally if possible, we could disable_preempt() at the highest caller and make sure we dont sleep in the path down in cpufreq->driver_target() calls but the calls are so intertwined and cumbersome to cleanup. Hence we consistently use lock_cpu_hotplug() and unlock_cpu_hotplug() in all places. - Removed export of cpucontrol semaphore and made it static. - removed explicit uses of up/down with lock_cpu_hotplug() so we can keep track of the the callers in same thread context and just keep refcounts without calling a down() that causes a deadlock. - Removed current_in_hotplug() uses - Removed PF_HOTPLUG_CPU in sched.h introduced for the current_in_hotplug() temporary workaround. Tested with insmod of cpufreq_stat.ko, and logical online/offline to make sure we dont have any hang situations. Signed-off-by: Ashok Raj Cc: Zwane Mwaikambo Cc: Shaohua Li Cc: "Siddha, Suresh B" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0f39591cc178026607fcbbe9a53be435fe8285d Author: Alan Stern Date: Mon Nov 28 13:43:44 2005 -0800 [PATCH] Workaround for gcc 2.96 (undefined references) LD .tmp_vmlinux1 mm/built-in.o(.text+0x100d6): In function `copy_page_range': : undefined reference to `__pud_alloc' mm/built-in.o(.text+0x1010b): In function `copy_page_range': : undefined reference to `__pmd_alloc' mm/built-in.o(.text+0x11ef4): In function `__handle_mm_fault': : undefined reference to `__pud_alloc' fs/built-in.o(.text+0xc930): In function `install_arg_page': : undefined reference to `__pud_alloc' make: *** [.tmp_vmlinux1] Error 1 Those missing references in mm/memory.c arise from this code in include/linux/mm.h, combined with the fact that __PGTABLE_PMD_FOLDED and __PGTABLE_PUD_FOLDED are both set and __ARCH_HAS_4LEVEL_HACK is not: /* * The following ifdef needed to get the 4level-fixup.h header to work. * Remove it when 4level-fixup.h has been removed. */ #if defined(CONFIG_MMU) && !defined(__ARCH_HAS_4LEVEL_HACK) static inline pud_t *pud_alloc(struct mm_struct *mm, pgd_t *pgd, unsigned long address) { return (unlikely(pgd_none(*pgd)) && __pud_alloc(mm, pgd, address))? NULL: pud_offset(pgd, address); } static inline pmd_t *pmd_alloc(struct mm_struct *mm, pud_t *pud, unsigned long address) { return (unlikely(pud_none(*pud)) && __pmd_alloc(mm, pud, address))? NULL: pmd_offset(pud, address); } #endif /* CONFIG_MMU && !__ARCH_HAS_4LEVEL_HACK */ With my configuration the pgd_none and pud_none routines are inlines returning a constant 0. Apparently the old compiler avoids generating calls to __pud_alloc and __pmd_alloc but still lists them as undefined references in the module's symbol table. I don't know which change caused this problem. I think it was added somewhere between 2.6.14 and 2.6.15-rc1, because I remember building several 2.6.14-rc kernels without difficulty. However I can't point to an individual culprit. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5cd9194a1b0b0fa219c31421ac64dfd38670ed49 Author: David S. Miller Date: Mon Nov 28 14:02:10 2005 -0800 [PATCH] sparc: convert IO remapping to VM_PFNMAP Here are the Sparc bits. Signed-off-by: Linus Torvalds commit 6aab341e0a28aff100a09831c5300a2994b8b986 Author: Linus Torvalds Date: Mon Nov 28 14:34:23 2005 -0800 mm: re-architect the VM_UNPAGED logic This replaces the (in my opinion horrible) VM_UNMAPPED logic with very explicit support for a "remapped page range" aka VM_PFNMAP. It allows a VM area to contain an arbitrary range of page table entries that the VM never touches, and never considers to be normal pages. Any user of "remap_pfn_range()" automatically gets this new functionality, and doesn't even have to mark the pages reserved or indeed mark them any other way. It just works. As a side effect, doing mmap() on /dev/mem works for arbitrary ranges. Sparc update from David in the next commit. Signed-off-by: Linus Torvalds commit cb3592be272d83011051dc49f4326355c01f1e1f Author: Arjan van de Ven Date: Mon Nov 28 21:04:11 2005 +0000 [SERIAL] mark several serial tables const This patch marks a few serial data structures const, moving them to .rodata where they won't false-share cachelines with things that get written to. Signed-off-by: Arjan van de Ven Signed-off-by: Russell King commit 24117defabc849a6ad5081ad0fafd0664bf55f13 Author: Pierre Ossman Date: Mon Nov 28 21:00:29 2005 +0000 [MMC] Fix protocol errors A review against MMC/SD specifications found some errors in the current implementation. Signed-off-by: Pierre Ossman Signed-off-by: Russell King commit f5417612d787e6b619fd69616bbf95f1b895e900 Author: Sascha Hauer Date: Mon Nov 28 18:09:44 2005 +0000 [ARM] 3181/1: add PORT_ identifier for Hilscher netx uart Patch from Sascha Hauer This patch adds PORT_NETX for supporting the Hilscher netx embedded UARTs. Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit 0e1637420e94d501eb80763cce0c498f00d65b0a Author: Richard Purdie Date: Mon Nov 28 18:08:45 2005 +0000 [ARM] 3180/1: Update Zaurus defconfigs Patch from Richard Purdie This updates the Zaurus defconfigs. Poodle gets merged into corgi_defconfig and support for tosa and akita is enabled. Signed-off-by: Richard Purdie Signed-off-by: Russell King commit 243077f58f2ae2540e35d8ea01a15f13586d9e9e Author: Richard Purdie Date: Mon Nov 28 18:08:44 2005 +0000 [ARM] 3179/1: Update/correct Zaurus Kconfig entries Patch from Richard Purdie Add iWMMX Extentions for the pxa27x based Zaurus models and fix a couple of minor mistakes in the PXA Kconfig file. Signed-off-by: Richard Purdie Signed-off-by: Russell King commit 192cdc5809f676841d16d58e1f249176e38d7dda Author: Lucas Correia Villa Real Date: Mon Nov 28 18:08:43 2005 +0000 [ARM] 3178/1: S3C2400 - adds GPIO registers definitions to regs-gpio.h Patch from Lucas Correia Villa Real This patch adds definitions to GPIO registers for the S3C2400 into include/asm-arm/arch-s3c2410/regs-gpio.h. Signed-off-by: Lucas Correia Villa Real Signed-off-by: Russell King commit 458af5439fe7ae7d95ca14106844e61f0795166c Author: Adrian Bunk Date: Sun Nov 27 00:36:37 2005 +0100 [PATCH] drivers/scsi/dpt_i2o.c: fix a NULL pointer dereference The Coverity checker spotted this obvious NULL pointer dereference. Signed-off-by: Adrian Bunk Acked-by: Mark Salyzyn Signed-off-by: Linus Torvalds commit 2012a116d9e6803fb072d0cfe1aae0cc4e6d6416 Author: Adrian Bunk Date: Sun Nov 27 00:37:36 2005 +0100 [PATCH] drivers/infiniband/core/mad.c: fix use-after-release case The Coverity checker spotted this obvious use-after-release bug caused by a wrong order of the cleanups. Signed-off-by: Adrian Bunk Signed-off-by: Linus Torvalds commit 16a631733135a625dd8bc83207553aaf34c0a72c Author: Adrian Bunk Date: Sun Nov 27 00:37:05 2005 +0100 [PATCH] drivers/message/i2o/pci.c: fix a NULL pointer dereference The Coverity checker spotted this obvious NULL pointer dereference. Signed-off-by: Adrian Bunk Acked-by: Markus Lidel Signed-off-by: Linus Torvalds commit b3eb67a2ab4e14fc6cc035907400b86462d174db Author: Trond Myklebust Date: Fri Nov 25 17:10:11 2005 -0500 SUNRPC: Funny looking code in __rpc_purge_upcall In __rpc_purge_upcall (net/sunrpc/rpc_pipe.c), the newer code to clean up the in_upcall list has a typo. Thanks to Vince Busam for spotting this! Signed-off-by: Trond Myklebust commit b37b03b7051493c9f9a6b336c9c0f81334885b7d Author: Trond Myklebust Date: Fri Nov 25 17:10:06 2005 -0500 NFS: Fix a spinlock recursion inside nfs_update_inode() In cases where the server has gone insane, nfs_update_inode() may end up calling nfs_invalidate_inode(), which again calls stuff that takes the inode->i_lock that we're already holding. In addition, given the sort of things we have in NFS these days that need to be cleaned up on inode release, I'm not sure we should ever be calling make_bad_inode(). Fix up spinlock recursion, and limit nfs_invalidate_inode() to clearing the caches, and marking the inode as being stale. Thanks to Steve Dickson for spotting this. Signed-off-by: Trond Myklebust commit ff6040667ad5a21fa1090e02941ecefb94ebe32c Author: Trond Myklebust Date: Fri Nov 25 17:10:01 2005 -0500 NFSv4: Fix typo in lock caching When caching locks due to holding a file delegation, we must always check against local locks before sending anything to the server. Signed-off-by: Trond Myklebust commit 36f20c6df75d599393d79c7feb6283b20913e3d5 Author: Trond Myklebust Date: Fri Nov 25 17:09:57 2005 -0500 NFSv4: Fix buggy nfs_wait_on_sequence() Signed-off-by: Trond Myklebust commit 79a558ffba25ecefe21a5203077971a08dda598b Author: Russell King Date: Fri Nov 25 15:59:01 2005 +0000 [ARM] Update mach-types Signed-off-by: Russell King commit 9f2209078089e223a773a77518e53016173ead39 Author: Russell King Date: Fri Nov 25 15:57:21 2005 +0000 [ARM] Realview core.c does not need mach-types.h Signed-off-by: Russell King commit 5edf71ae129167ac276ebac18b25ccc7bec6ac3e Author: Russell King Date: Fri Nov 25 15:52:51 2005 +0000 [ARM] Do not call flush_tlb_kernel_range() with IRQs disabled. We must not call TLB maintainence operations with interrupts disabled, otherwise we risk a lockup in the SMP IPI code. This means that consistent_free() can not be called from a context with IRQs disabled. In addition, we must not hold the lock in consistent_free when we call flush_tlb_kernel_range(). However, we must continue to prevent consistent_alloc() from re-using the memory region until we've finished tearing down the mapping and dealing with the TLB. Therefore, leave the vm_region entry in the list, but mark it inactive before dropping the lock and starting the tear-down process. After the mapping has been torn down, re-acquire the lock and remove the entry from the list. Signed-off-by: Russell King commit 3c0bdac3875505516eda1c6b6e68dd84eff3b231 Author: Russell King Date: Fri Nov 25 15:43:22 2005 +0000 [ARM] Remove mach-types.h from head.S We don't really need to check whether the machine type is Netwinder or CATS before setting up the PCI IO mapping for debugging. This allows us to eliminate asm/mach-types.h from head.S Signed-off-by: Russell King commit 225937bd5d69a40b886f47a7bc1f0837882586e3 Author: Russell King Date: Fri Nov 25 15:33:12 2005 +0000 [ARM] Remove asm/hardware.h include from SA1100 io.h Unfortunately, we have a symbol clash between the SA-1100 header and some drivers. Since everywhere which needs SA1100 specifics includes asm/hardware.h, we don't need to include it in the SA1100 io.h header. In file included from drivers/net/wireless/wavelan_cs.p.h:459, from drivers/net/wireless/wavelan_cs.c:60: drivers/net/wireless/wavelan_cs.h:97:1: warning: "LCSR" redefined In file included from include/asm/arch/hardware.h:56, from include/asm/hardware.h:16, from include/asm/arch/io.h:13, from include/asm/io.h:71, from drivers/net/wireless/wavelan_cs.p.h:433, from drivers/net/wireless/wavelan_cs.c:60: include/asm/arch/SA-1100.h:1907:1: warning: this is the location of the previous definition Signed-off-by: Russell King commit 9a94c5793a7b44720f19ebb71b636bc9c31b44d8 Author: David Gibson Date: Thu Nov 24 13:34:56 2005 +1100 [PATCH] powerpc: More hugepage boundary case fixes Blah. The patch [0] I recently sent fixing errors with in_hugepage_area() and prepare_hugepage_range() for powerpc itself has an off-by-one bug. Furthermore, the related functions touches_hugepage_*_range() and within_hugepage_*_range() are also buggy. Some of the bugs, like those addressed in [0] originated with commit 7d24f0b8a53261709938ffabe3e00f88f6498df9 where we tweaked the semantics of where hugepages are allowed. Other bugs have been there essentially forever, and are due to the undefined behaviour of '<<' with shift counts greater than the type width (LOW_ESID_MASK could return non-zero for high ranges with the right congruences). The good news is that I now have a testsuite which should pick up things like this if they creep in again. [0] "powerpc-fix-for-hugepage-areas-straddling-4gb-boundary" Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 55bb239e5464ecde046af3e45052ef06efda6444 Author: Stephen Rothwell Date: Tue Nov 22 12:05:26 2005 +1100 [PATCH] powerpc: remove arch/powerpc/include hack for 64 bit With the removal of include/asm-powerpc, we no longer need arch/powerpc/include/asm for the 64 bit build. We also do not need -Iarch/powerpc for the 64 bit build either. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 551c81e2d32c5867fb592091365d8c37e1509dce Author: Nathan Scott Date: Fri Nov 25 16:42:28 2005 +1100 [XFS] Resolve the xlog_grant_log_space hang, revert inline to macro. SGI-PV: 946205 SGI-Modid: xfs-linux-melb:xfs-kern:24567a Signed-off-by: Nathan Scott commit e0144ca55391556d781cb1c90fd6f00bb0c20760 Author: Nathan Scott Date: Fri Nov 25 16:42:22 2005 +1100 [XFS] Fix a case where attr2 format was being used unconditionally. SGI-PV: 941645 SGI-Modid: xfs-linux-melb:xfs-kern:24566a Signed-off-by: Nathan Scott commit 6b2cf618cc8445a03640d1e5e36829352e297017 Author: Felix Blyakher Date: Fri Nov 25 16:42:13 2005 +1100 [XFS] Tight loop in xfs_finish_reclaim_all prevented the xfslogd to run its queue of IO completion callbacks, thus creating the deadlock between umount and xfslogd. Breaking the loop solves the problem. SGI-PV: 943821 SGI-Modid: xfs-linux-melb:xfs-kern:202363a Signed-off-by: Felix Blyakher Signed-off-by: Nathan Scott commit a4656391b76ed93faed724c5963f033164ee477e Author: Nathan Scott Date: Fri Nov 25 16:41:57 2005 +1100 [XFS] Fix a 32 bit value wraparound when providing a mapping for a large direct write. SGI-PV: 944820 SGI-Modid: xfs-linux-melb:xfs-kern:24351a Signed-off-by: Nathan Scott commit f33c6797bccc695c4c85885f2c676ad4c8fed98d Author: Christoph Hellwig Date: Fri Nov 25 16:41:47 2005 +1100 [XFS] handle error returns from freeze_bdev SGI-PV: 945483 SGI-Modid: xfs-linux-melb:xfs-kern:201884a Signed-off-by: Christoph Hellwig Signed-off-by: Nathan Scott commit 55b02d74e126df70fb6b92a0e4e4bed2f0a13fe4 Author: Eric Sandeen Date: Fri Nov 25 16:41:33 2005 +1100 [XFS] Fix potential overflow in xfs_iomap_t delta for very large extents SGI-PV: 945311 SGI-Modid: xfs-linux-melb:xfs-kern:201708a Signed-off-by: Eric Sandeen Signed-off-by: Nathan Scott commit 6d9885a8ce45cd9b7d36517ee823a480eaf95c02 Author: Jasper Spaans Date: Thu Nov 24 16:53:36 2005 +0100 [PATCH] fbcon: fix obvious bug in fbcon logo rotation code This code fixes a tiny problem with the recent fbcon rotation changes: fb_prepare_logo doesn't check the return value of fb_find_logo and that causes a crash for my while booting. Obvious & working & tested fix is here. Signed-off-by: Jasper Spaans Acked-by: Antonino Daplas Signed-off-by: Linus Torvalds commit cf65f1623dd005ddfb1cbba20af3423a6c638dbe Author: Dave Airlie Date: Thu Nov 24 21:41:14 2005 +1100 drm: fix quiescent locking A fix for a locking bug which is triggered when a client tries to lock with flag DMA_QUIESCENT (typically the X server), but gets interrupted by a signal. The locking IOCTL should then return an error, but if DMA_QUIESCENT succeeds it returns 0, and the client falsely thinks it has the lock. In addition The client waits for DMA_QUISCENT and possibly DMA_READY without having the lock. From: Thomas Hellstrom Signed-off-by: Dave Airlie commit 569cfaadb0ea21bfcedac85dbc5147b4a9ed42d2 Author: Nicolas Kaiser Date: Wed Nov 23 15:45:58 2005 -0800 [PATCH] usb serial: remove redundant include remove redundant include Signed-off-by: Nicolas Kaiser Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 8dd396ec7bf706fe85d8c6792b478ee6f09e8de6 Author: Randy Dunlap Date: Wed Nov 23 15:45:53 2005 -0800 [PATCH] USB: kernel-doc for linux/usb.h Fix kernel-doc warning in linux/usb.h. Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 63dc3ff3e019287e8cb4647808de1d93acddd006 Author: David Härdeman Date: Wed Nov 23 15:45:49 2005 -0800 [PATCH] USB: fix USB key generates ioctl_internal_command errors issue On Wed, Nov 16, 2005 at 06:34:24PM -0800, Pete Zaitcev wrote: >On Wed, 16 Nov 2005 23:52:32 +0100, David Härdeman wrote: >> usb-storage: waiting for device to settle before scanning >> Vendor: I0MEGA Model: UMni1GB*IOM2K4 Rev: 1.01 >> Type: Direct-Access ANSI SCSI revision: 02 >> SCSI device sda: 2048000 512-byte hdwr sectors (1049 MB) >> sda: Write Protect is off >> sda: Mode Sense: 00 00 00 00 >> sda: assuming drive cache: write through >> ioctl_internal_command: <8 0 0 0> return code = 8000002 >> : Current: sense key=0x0 >> ASC=0x0 ASCQ=0x0 >> SCSI device sda: 2048000 512-byte hdwr sectors (1049 MB) > >I think it's harmless. I saw things like that, and initially I plugged >them with workarounds like this: Thanks for the pointer, and yes, it is harmless, but it floods the console with the messages which hides other (potentially important) messages...following your example I've made a patch which fixes the problem. Signed-off-by: David Härdeman Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 21b1861fb2ba5b25b32c63bc540bbc7ca1d186f8 Author: David Brownell Date: Wed Nov 23 15:45:42 2005 -0800 [PATCH] USB: ohci, move ppc asic tweaks nearer pci This should fix a suspend/resume issues that appear with OHCI on some PPC hardware. The PCI layer should doesn't have the hooks needed for such ASIC-specific hooks (in this case, software clock gating), so this moves the code to do that into hcd-pci.c ... where it can be done after the relevant PCI PM state transition (to/from D3). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 188075211cc75a31190de4a19a084e3d83ee1c89 Author: David Brownell Date: Wed Nov 23 15:45:37 2005 -0800 [PATCH] USB: EHCI updates split init/reinit logic for resume Moving the PCI-specific parts of the EHCI driver into their own file created a few issues ... notably on resume paths which (like swsusp) require re-initializing the controller. This patch: - Splits the EHCI startup code into run-once HCD setup code and separate "init the hardware" reinit code. (That reinit code is a superset of the "early usb handoff" code.) - Then it makes the PCI init code run both, and the resume code only run the reinit code. - It also removes needless pci wrappers around EHCI start/stop methods. - Removes a byteswap issue that would be seen on big-endian hardware. The HCD glue still doesn't actually provide a good way to do all this run-one init stuff in one place though. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit abcc94480634f6fe9fc29b821261e8162c87ddd2 Author: David Brownell Date: Wed Nov 23 15:45:32 2005 -0800 [PATCH] USB: EHCI updates mostly whitespace cleanups This cleans up the recent updates to EHCI PCI support: - Gets rid of checks for "is this a PCI device", they're no longer needed since this is now all PCI-only code. - Reduce log spamming: MWI is only interesting in the atypical case that it can actually be used. - Whitespace cleanup, as appropriate for a new file with no other pending patches. So other than that minor logging change, no functional updates. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit f03c17fc9abe8582d6ad830290b3093fdf1eea61 Author: David Brownell Date: Wed Nov 23 15:45:28 2005 -0800 [PATCH] USB: EHCI updates This fixes some bugs in EHCI suspend/resume that joined us over the past few releases (as usbcore, PCI, pmcore, and other components evolved): - Removes suspend and resume recursion from the EHCI driver, getting rid of the USB_SUSPEND special casing. - Updates the wakeup mechanism to work again; there's a newish usbcore call it needs to use. - Provide simpler tests for "do we need to restart from scratch", to address another case where PCI Vaux was lost. (In this case it was restoring a swsusp snapshot, but there could be others.) Un-exports a symbol that was temporarily exported. A notable change from previous version is that this doesn't move the spinlock init, so there's still a resume/reinit path bug. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit b4723ae3cc66fd067a8e661b5c05d5bd41be29b5 Author: Ian Abbott Date: Wed Nov 23 15:45:23 2005 -0800 [PATCH] USB: ftdi_sio: new IDs for KOBIL devices This patch adds two new devices to the ftdi_sio driver's device ID table. The device IDs were supplied by Stefan Nies of KOBIL Systems for two of their devices using the FTDI chip. Signed-off-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 0b67ba63605a0107f4f3f6d928cdea1e8953fb63 Author: Damian Wrobel Date: Wed Nov 23 15:45:17 2005 -0800 [PATCH] USB: SN9C10x driver - bad page state fix This patch solves the following problem I've already discovered on the latest 2.6.15-rc1-git1 kernel: Nov 13 07:37:28 wrobel kernel: Bad page state at free_hot_cold_page (in process 'motion', page c164e020) Nov 13 07:37:28 wrobel kernel: flags:0x40000400 mapping:00000000 mapcount:0 count:0 Nov 13 07:37:28 wrobel kernel: Backtrace: Nov 13 07:37:28 wrobel kernel: [] bad_page+0x85/0xbe Nov 13 07:37:28 wrobel kernel: [] free_hot_cold_page+0x54/0x129 Nov 13 07:37:28 wrobel kernel: [] __vunmap+0xa9/0xfe Nov 13 07:37:28 wrobel kernel: [] vmalloc_to_page+0x34/0x55 Nov 13 07:37:28 wrobel kernel: [] vfree+0x27/0x35 Nov 13 07:37:28 wrobel kernel: [] sn9c102_release_buffers+0x30/0x3f [sn9c102] Nov 13 07:37:28 wrobel kernel: [] sn9c102_release+0x37/0xeb [sn9c102] Nov 13 07:37:28 wrobel kernel: [] __fput+0xa9/0x1aa Nov 13 07:37:28 wrobel kernel: [] filp_close+0x49/0x6d Nov 13 07:37:30 wrobel kernel: [] sys_close+0x74/0x95 Nov 13 07:37:30 wrobel kernel: [] syscall_call+0x7/0xb Nov 13 07:37:31 wrobel kernel: Trying to fix it up, but a reboot is needed Signed-off-by: Damian Wrobel Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit cac1a293469a868fab1ecc2dc1b6441728f7e0e7 Author: Daniel Marjamäki Date: Wed Nov 23 15:45:09 2005 -0800 [PATCH] PCI: direct.c: DBG The DBG() call where updated with the appropriate KERN_* symbol. Signed-off-by: Daniel Marjamäki Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit f366633fc31db1668b4c261e94816d7304ae9810 Author: Randy Dunlap Date: Wed Nov 23 15:45:04 2005 -0800 [PATCH] PCI: kernel-doc fix for pci-acpi.c Fix kernel-doc warning in pci/pci-acpi.c. Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit ed6d14f9760857c745206c978b80352fc09cfd19 Author: Rajesh Shah Date: Wed Nov 23 15:44:59 2005 -0800 [PATCH] PCI: remove bogus resource collision error When attempting to hotadd a PCI card with a bridge on it, I saw the kernel reporting resource collision errors even when there were really no collisions. The problem is that the code doesn't skip over "invalid" resources with their resource type flag not set. Others have reported similar problems at boot time and for non-bridge PCI card hotplug too, where the code flags a resource collision for disabled ROMs. This patch fixes both problems. Signed-off-by: Rajesh Shah Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 5a49f2036ad14092c11d09f186da86fd5ae49a05 Author: Rajesh Shah Date: Wed Nov 23 15:44:54 2005 -0800 [PATCH] PCI Express Hotplug: clear sticky power-fault bit Per the PCI Express spec, the power-fault-detected bit in the slot status register can be set anytime hardware detects a power fault, regardless of whether the slot has a device populated in it or not. This bit is sticky and must be explicitly cleared. This patch is needed to allow hot-add after such a power fault has been detected. Signed-off-by: Rajesh Shah Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit dcb890749bbe63af96163c499e9c86b441fb6c83 Author: Daniel Marjamäkia Date: Wed Nov 23 15:44:49 2005 -0800 [PATCH] PCI: trivial printk updates in common.c Modified common.c so it's using the appropriate KERN_* in printk() calls. Signed-off-by: Daniel Marjamäkia Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 657a19ebb74128ec52f20b7e34705bdeadc59400 Author: Eugeniy Meshcheryakov Date: Wed Nov 23 15:44:35 2005 -0800 [PATCH] hwmon: hdaps missing an axis Trivial patch to report both hdaps axises to the joystick device, not just the X axis. Signed-off-by: Robert Love Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 07eab46db7f78b2ed49bc9e41eda80695f93886f Author: Jean Delvare Date: Wed Nov 23 15:44:31 2005 -0800 [PATCH] hwmon: Fix missing it87 fan div init Fix a bug where setting the low fan speed limits will not work if no data was ever read through the sysfs interface and the fan clock dividers have not been explicitely set yet either. The reason is that data->fan_div[nr] may currently be used before it is initialized from the chip register values. The fix is to explicitely initialize data->fan_div[nr] before using it. Bug reported, and fix tested, by Nicolas Mailhot. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit d0d3cd6965d8e957764663cbb5aaa5ff486a2616 Author: Jean Delvare Date: Wed Nov 23 15:44:26 2005 -0800 [PATCH] hwmon: Fix lm78 VID conversion Fix the lm78 VID reading, which I accidentally broke while making this driver use the common vid_from_reg function rather than reimplementing its own in 2.6.14-rc1. I'm not proud of it, trust me. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 2723ab91cb4019def10bdb01b0fecb85e6ac7884 Author: Yuan Mu Date: Wed Nov 23 15:44:21 2005 -0800 [PATCH] hwmon: Fix missing boundary check when setting W83627THF in0 limits Add SENSORS_LIMIT in store VCore limit functions. This fixes a potential u8 overflow on out-of-range user input. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 1adc123079207bf9ba5bcf3dbf52bcdb22f82c7c Author: Josh Boyer Date: Wed Nov 23 15:44:15 2005 -0800 [PATCH] Add more SCM trees to MAINTAINERS Greg requested a patch to update MAINTAINERS with more SCM entries. The patch below is what I've found so far. Signed-off-by: Josh Boyer Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 50306fb5398f0aac65047c966a4341adee37f512 Author: Jody McIntyre Date: Wed Nov 23 15:44:03 2005 -0800 [PATCH] Clarify T: field in MAINTAINERS Pavel Machek points out that for git repos, what we include is not actually a URL. It is undesirable to use a URL since git repos can be accessed in many different ways. Signed-off-by: Jody McIntyre Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 2c560ace1531870715fdfdae36fa9d75f4e63ae1 Author: Josh Boyer Date: Wed Nov 23 15:43:57 2005 -0800 [PATCH] MTD git tree location added to MAINTAINERS Here's the MTD one. More later as I find them. Signed-off-by: Josh Boyer Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 2b08c8d0468866f86da97f836c6ac14338cb81a9 Author: Alan Stern Date: Wed Nov 23 15:43:50 2005 -0800 [PATCH] Small fixes to driver core This patch (as603) makes a few small fixes to the driver core: Change spin_lock_irq for a klist lock to spin_lock; Fix reference count leaks; Minor spelling and formatting changes. Signed-off-by: Alan Stern Acked-by Patrick Mochel Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 133747e8d1e912863edfb3869e36b97b9939d4fc Author: Olaf Rempel Date: Wed Nov 23 19:04:08 2005 -0800 [BRIDGE]: recompute features when adding a new device We must recompute bridge features everytime the list of underlying devices changes, or we might end up with features that are not supported by all devices (eg. NETIF_F_TSO) This patch adds the missing recompute when adding a device to the bridge. Signed-off-by: Olaf Rempel Signed-off-by: David S. Miller commit de919820cf7fe6674cdf47f8f47d2af284e4309f Author: Benoit Boissinot Date: Wed Nov 23 19:03:46 2005 -0800 [NETFILTER]: ip_conntrack_netlink.c needs linux/interrupt.h net/ipv4/netfilter/ip_conntrack_netlink.c: In function 'ctnetlink_dump_table': net/ipv4/netfilter/ip_conntrack_netlink.c:409: warning: implicit declaration of function 'local_bh_disable' net/ipv4/netfilter/ip_conntrack_netlink.c:427: warning: implicit declaration of function 'local_bh_enable' Signed-off-by: Benoit Boissinot Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 479ef592f3664dd629417098c8599261c0f689ab Author: Oleg Drokin Date: Wed Nov 23 13:37:47 2005 -0800 [PATCH] 32bit integer overflow in invalidate_inode_pages2() Fix a 32 bit integer overflow in invalidate_inode_pages2_range. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02b7068221eed702a37527fa2da4d63a27b3126a Author: Andrew Morton Date: Wed Nov 23 13:37:47 2005 -0800 [PATCH] jffs2 debug gcc-2.9x fix Work around gcc-2.95.x macro expansion bug. Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e391dc9e3fec68922137ae317bf680a74656c1b Author: David Gibson Date: Wed Nov 23 13:37:45 2005 -0800 [PATCH] powerpc: fix for hugepage areas straddling 4GB boundary Commit 7d24f0b8a53261709938ffabe3e00f88f6498df9 fixed bugs in the ppc64 SLB miss handler with respect to hugepage handling, and in the process tweaked the semantics of the hugepage address masks in mm_context_t. Unfortunately, it left out a couple of necessary changes to go with that change. First, the in_hugepage_area() macro was not updated to match, second prepare_hugepage_range() was not updated to correctly handle hugepages regions which straddled the 4GB point. The latter appears only to cause process-hangs when attempting to map such a region, but the former can cause oopses if a get_user_pages() is triggered at the wrong point. This patch addresses both bugs. Signed-off-by: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9b15b54d3646108bbd3e054158b402025d3e704 Author: Benjamin Herrenschmidt Date: Wed Nov 23 13:37:44 2005 -0800 [PATCH] Fix crash in unregister_console() If unregister_console() is inadvertently called while no consoles are registered, it will crash trying to dereference NULL pointer. It is necessary to fix that because register_console() provides no indication that it actually registered the console passed in. In fact, it may well decide not to register it based on various things... (akpm: It'd be better to make register_console() return something and fix the callers. All 106 of them...) Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 962b564cf1ec8041e8890a3c3847e3a630a08f42 Author: Oleg Nesterov Date: Wed Nov 23 13:37:43 2005 -0800 [PATCH] fix do_wait() vs exec() race When non-leader thread does exec, de_thread adds old leader to the init's ->children list in EXIT_ZOMBIE state and drops tasklist_lock. This means that release_task(leader) in de_thread() is racy vs do_wait() from init task. I think de_thread() should set old leader's state to EXIT_DEAD instead. Signed-off-by: Oleg Nesterov Cc: george anzinger Cc: Roland Dreier Cc: Ingo Molnar Cc: Linus Torvalds Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bf1101bd52573e0573e374d56d2feecdbb5e444 Author: Jim Keniston Date: Wed Nov 23 13:37:42 2005 -0800 [PATCH] kprobes: Fix return probes on sys_execve Fix a bug in kprobes that can cause an Oops or even a crash when a return probe is installed on one of the following functions: sys_execve, do_execve, load_*_binary, flush_old_exec, or flush_thread. The fix is to remove the call to kprobe_flush_task() in flush_thread(). This fix has been tested on all architectures for which the return-probes feature has been implemented (i386, x86_64, ppc64, ia64). Please apply. BACKGROUND Up to now, we have called kprobe_flush_task() under two situations: when a task exits, and when it execs. Flushing kretprobe_instances on exit is correct because (a) do_exit() doesn't return, and (b) one or more return-probed functions may be active when a task calls do_exit(). Neither is the case for sys_execve() and its callees. Initially, the mistaken call to kprobe_flush_task() on exec was harmless because we put the "real" return address of each active probed function back in the stack, just to be safe, when we recycled its kretprobe_instance. When support for ppc64 and ia64 was added, this safety measure couldn't be employed, and was eventually dropped even for i386 and x86_64. sys_execve() and its callees were informally blacklisted for return probes until this fix was developed. Acked-by: Prasanna S Panchamukhi Signed-off-by: Jim Keniston Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c72aaf29621d29ed19fd68c44edb45321645049 Author: Hugh Dickins Date: Wed Nov 23 13:37:40 2005 -0800 [PATCH] mm: fill arch atomic64 gaps alpha, sparc64, x86_64 are each missing some primitives from their atomic64 support: fill in the gaps I've noticed by extrapolating asm, follow the groupings in each file. But powerpc and parisc still lack atomic64. Signed-off-by: Hugh Dickins Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: "David S. Miller" Cc: Andi Kleen Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ce774b4808c019c2f143ff5dea1a1b094ff01e1 Author: Hugh Dickins Date: Wed Nov 23 13:37:39 2005 -0800 [PATCH] mm: powerpc init_mm without ptlock Restore an earlier mod which went missing in the powerpc reshuffle: the 4xx mmu_mapin_ram does not need to take init_mm.page_table_lock. Signed-off-by: Hugh Dickins Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01edcd891c3e9f4bb992ff2ceb69836bf76f8ddf Author: Hugh Dickins Date: Wed Nov 23 13:37:39 2005 -0800 [PATCH] mm: powerpc ptlock comments Update comments (only) on page_table_lock and mmap_sem in arch/powerpc. Removed the comment on page_table_lock from hash_huge_page: since it's no longer taking page_table_lock itself, it's irrelevant whether others are; but how it is safe (even against huge file truncation?) I can't say. Signed-off-by: Hugh Dickins Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc3327e7dfc16a9a3e164075234c869867a59e45 Author: Hugh Dickins Date: Wed Nov 23 13:37:38 2005 -0800 [PATCH] mm: unbloat get_futex_key The follow_page changes in get_futex_key have left it with two almost identical blocks, when handling the rare case of a futex in a nonlinear vma. get_user_pages will itself do that follow_page, and its additional find_extend_vma is hardly any overhead since the vma is already cached. Let's just delete the follow_page block and let get_user_pages do it. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b6ac9dffe6f4dd8776908b234ac1410ed15f112 Author: Hugh Dickins Date: Wed Nov 23 13:37:37 2005 -0800 [PATCH] mm: update split ptlock Kconfig Closer attention to the arithmetic shows that neither ppc64 nor sparc really uses one page for multiple page tables: how on earth could they, while pte_alloc_one returns just a struct page pointer, with no offset? Well, arm26 manages it by returning a pte_t pointer cast to a struct page pointer, harumph, then compensating in its pmd_populate. But arm26 is never SMP, so it's not a problem for split ptlock either. And the PA-RISC situation has been recently improved: CONFIG_PA20 works without the 16-byte alignment which inflated its spinlock_t. But the current union of spinlock_t with private does make the 7xxx struct page significantly larger, even without debug, so disable its split ptlock. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c101e77301877086e6f977fcfb140d1cbbe23fd5 Author: Andrew Morton Date: Wed Nov 23 13:37:36 2005 -0800 [PATCH] revert floppy-fix-read-only-handling This fix causes problems on the very first floppy access - we haven't yet talked to the FDC so we don't know which state the write-protect tab is in. Revert for now. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3238c448c6e26d7c26d2e9b070ef149d066cb6c2 Author: Adam Brooks Date: Wed Nov 23 22:45:27 2005 +0000 [ARM] 3173/1: Fix to allow 2.6.15-rc2 to compile for IOP3xx boards Patch from Adam Brooks Fixes an issue in 2.6.15-rc2 that prevented compilation of kernels for IOP3xx boards. Signed-off-by: Adam Brooks Signed-off-by: Russell King commit c2b5a251b9feca727661f1a3278cafb1de4c80f3 Author: Matthew Wilcox Date: Thu Nov 3 07:51:18 2005 -0700 [PATCH] Check the irq number is within bounds Most of the functions already check. Do the ones that didn't. Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds commit 2d0ebb36038c0626cde662a3b06da9787cfb68c3 Author: Linus Torvalds Date: Wed Nov 23 08:44:05 2005 -0800 Revert "[NET]: Shut up warnings in net/core/flow.c" This reverts commit af2b4079ab154bd12e8c12b02db5f31b31babe63 Changing the #define to an inline function breaks on non-SMP builds, since wuite a few places in the kernel do not implement the ipi handler when compiling for UP. Signed-off-by: Linus Torvalds commit 7655f493b74f3048c02458bc32cd0b144f7b394f Author: Dave Airlie Date: Wed Nov 23 22:12:59 2005 +1100 drm: move is_pci to the end of the structure We memset the structure across opens except for the flags. The correct fix is more intrusive but this should fix a problem with bad iounmaps seen on AGP radeons acting like PCI ones. Signed-off-by: Dave Airlie commit c41f47121d8bf44b886ef2039779dab8c1e3a25f Author: Dave Airlie Date: Wed Nov 23 22:09:13 2005 +1100 drm: add __GFP_COMP to the drm_alloc_pages The DRM only uses drm_alloc_pages for non-SG PCI cards using DRM. Signed-off-by: Hugh Dickins Signed-off-by: Dave Airlie commit bd07ed2b4d7071716c09895e19849e8b04991656 Author: Dave Airlie Date: Wed Nov 23 21:45:43 2005 +1100 I think that if a PCI bus is a root bus, attached to a host bridge not a PCI->PCI bridge, then bus->self is allowed to be NULL. Certainly that's the case on my Pegasos, and it makes the MGA DRM driver oops... Signed-off-by: David Woodhouse Signed-off-by: Dave Airlie commit 91f14480a55a7487d61c3fb40500380099e0da50 Author: Olof Johansson Date: Mon Nov 21 02:12:32 2005 -0600 [PATCH] powerpc: update my email address Email address update, changing old work address to personal (permanent) one. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 1778d55edb62753a92b979fa57072c2e1ff3d062 Author: Linus Torvalds Date: Tue Nov 22 21:58:37 2005 -0800 compat-ioctl.c: fix compile with no CONFIG_JBD The ext3 compat-ioctl translation wants to translate data structures that only declared when CONFIG_JBD was enabled. So make play nicely even when we don't actually end up using it. Acked-by: Andrew Morton Acked-by: Jeffrey Hundstad Acked-by: Zan Lynx Signed-off-by: Linus Torvalds commit ac3461ad632e86e7debd871776683c05ef3ba4c6 Author: Linus Torvalds Date: Tue Nov 22 19:39:30 2005 -0800 Fix up GFP_ZONEMASK for GFP_DMA32 usage There was some confusion about the different zone usage, this should fix up the resulting mess in the GFP zonemask handling. The different zone usage is still confusing (it's very easy to mix up the individual zone numbers with the GFP zone _list_ numbers), so we might want to clean up some of this in the future, but in the meantime this should fix the actual problems. Acked-by: Andi Kleen Signed-off-by: Linus Torvalds commit a9b1ef8ec7df544b236b19fb6cc42ed2591b65cd Author: Adrian Bunk Date: Tue Nov 22 15:30:29 2005 -0800 [SPARC]: drivers/sbus/char/aurora.c: "extern inline" -> "static inline" "extern inline" doesn't make much sense. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit e6d184e33109010412ad1d59719af74755a935f4 Author: Neil Horman Date: Tue Nov 22 14:56:32 2005 -0800 [NET]: Fix ifenslave to not fail on lack of IP information Patch to ifenslave so that under older ABI versions, a failure to propogate ip information from master to slave does not result in a filure to enslave the slave device. Signed-off-by: Neil Horman Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 00cb277a4a1fb76aafb2fb28aa99f30546e619c5 Author: Pablo Neira Ayuso Date: Tue Nov 22 14:54:34 2005 -0800 [NETFILTER] ctnetlink: Fix refcount leak ip_conntrack/nat_proto Remove proto == NULL checking since ip_conntrack_[nat_]proto_find_get always returns a valid pointer. Fix missing ip_conntrack_proto_put in some paths. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Harald Welte Signed-off-by: David S. Miller commit 0ff60a45678e67b2547256a636fd00c1667ce4fa Author: Jamal Hadi Salim Date: Tue Nov 22 14:47:37 2005 -0800 [IPV4]: Fix secondary IP addresses after promotion This patch fixes the problem with promoting aliases when: a) a single primary and > 1 secondary addresses b) multiple primary addresses each with at least one secondary address Based on earlier efforts from Brian Pomerantz , Patrick McHardy and Thomas Graf Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit c27bd492fd84c590767a3c0f9f74e637b17af138 Author: Herbert Xu Date: Tue Nov 22 14:41:50 2005 -0800 [NETLINK]: Use tgid instead of pid for nlmsg_pid Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit af2b4079ab154bd12e8c12b02db5f31b31babe63 Author: Russell King Date: Tue Nov 22 14:38:04 2005 -0800 [NET]: Shut up warnings in net/core/flow.c Not really a network problem, more a !SMP issue. net/core/flow.c:295: warning: statement with no effect flow.c:295: smp_call_function(flow_cache_flush_per_cpu, &info, 1, 0); Fix this by converting the macro to an inline function, which also increases the typechecking for !SMP builds. Signed-off-by: Russell King Signed-off-by: David S. Miller commit b3a5225f31180322fd7d692fd4cf786702826b94 Author: Roman Zippel Date: Mon Nov 21 21:32:38 2005 -0800 [PATCH] prefer pkg-config for the QT check This makes pkg-config now the prefered way to configure QT and properly fixes the recent Fedora breakage and leaves the old QT detection as fallback mechanism. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7692c5dd48026d952199c2b97c3418f927cc0407 Author: Jonathan E Brassow Date: Mon Nov 21 21:32:37 2005 -0800 [PATCH] device-mapper raid1: drop mark_region spinlock fix The spinlock region_lock is held while calling mark_region which can sleep. Drop the spinlock before calling that function. A region's state and inclusion in the clean list are altered by rh_inc and rh_dec. The state variable is set to RH_CLEAN in rh_dec, but only if 'pending' is zero. It is set to RH_DIRTY in rh_inc, but not if it is already so. The changes to 'pending', the state, and the region's inclusion in the clean list need to be atomicly. Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 233886dd32ad71daf9c21bf3728c0933a94870f0 Author: jblunck@suse.de Date: Mon Nov 21 21:32:36 2005 -0800 [PATCH] device-mapper snapshot: bio_list fix bio_list_merge() should do nothing if the second list is empty - not oops. Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 640eb3b0456f8273726d31160aa24568ae703eec Author: Stefan Bader Date: Mon Nov 21 21:32:35 2005 -0800 [PATCH] device-mapper dm-mpath: endio spinlock fix do_end_io() can be called without interrupts blocked. Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e56822d30184d0da35a6ecc51f38c4ceb457a80 Author: Alasdair G Kergon Date: Mon Nov 21 21:32:34 2005 -0800 [PATCH] device-mapper: mirror log bitset fix The linux bitset operators (test_bit, set_bit etc) work on arrays of "unsigned long". dm-log uses such bitsets but treats them as arrays of uint32_t, only allocating and zeroing a multiple of 4 bytes (as 'clean_bits' is a uint32_t). The patch below fixes this problem. The problem is specific to 64-bit big endian machines such as s390x or ppc-64 and can prevent pvmove terminating. In the simplest case, if "region_count" were (say) 30, then bitset_size (below) would be 4 and bitset_uint32_count would be 1. Thus the memory for this butset, after allocation and zeroing would be 0 0 0 0 X X X X On a bigendian 64bit machine, bit 0 for this bitset is in the 8th byte! (and every bit that dm-log would use would be in the X area). 0 0 0 0 X X X X ^ here which hasn't been cleared properly. As the dm-raid1 code only syncs and counts regions which have a 0 in the 'sync_bits' bitset, and only finishes when it has counted high enough, a large number of 1's among those 'X's will cause the sync to not complete. It is worth noting that the code uses the same bitsets for in-memory and on-disk logs. As these bitsets are host-endian and host-sized, this means that they cannot safely be moved between computers with Signed-off-by: Neil Brown Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4cc66351a24da5feec298be2da59a85f68dd3ea Author: Alasdair G Kergon Date: Mon Nov 21 21:32:33 2005 -0800 [PATCH] device-mapper: list_versions fix In some circumstances the LIST_VERSIONS output is truncated because the size calculation forgets about a 'uint32_t' in each structure - but the inclusion of the whole of ALIGN_MASK frequently compensates for the omission. This is a quick workaround to use an upper bound. (The code ought to be fixed to supply the actual size.) Running 'dmsetup targets' may demonstrate the problem: when I run it, the last line comes out as 'erro' instead of 'error'. Consequently, 'lvcreate --type error' doesn't work. Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6fcc80d03b41162ed88c3fb542aca9b654bc414 Author: Kiyoshi Ueda Date: Mon Nov 21 21:32:32 2005 -0800 [PATCH] device-mapper dm-ioctl: missing put in table load error case An error path in table_load() forgets to release a table that won't now be referenced. Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98766fbe604bc198ced93c57220c2d4a78ad6c11 Author: Randy Dunlap Date: Mon Nov 21 21:32:31 2005 -0800 [PATCH] kernel Doc/ URL corrections Correct lots of URLs in Documentation/ Also a few minor whitespace cleanups and typo/spello fixes. Sadly there are still a lot of bad URLs remaining. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c52f1377d9cc4bedec5d4e1e3b22756b8978399 Author: Dave Jones Date: Mon Nov 21 21:32:30 2005 -0800 [PATCH] dell_rbu driver depends on x86[64] This driver only appears on IA32 & EM64T boxes. Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79e448bf2d71d52d28c99be4faff9cc51928f90b Author: Matthew Dobson Date: Mon Nov 21 21:32:29 2005 -0800 [PATCH] Fix a bug in scsi_get_command scsi_get_command() attempts to write into a structure that may not have been successfully allocated. Move this write inside the if statement that ensures we won't panic the kernel with a NULL pointer dereference. Signed-off-by: Matthew Dobson Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e738cf6d03786486b7e1adbaed1c5c4e14d23626 Author: Grant Coady Date: Mon Nov 21 21:32:28 2005 -0800 [PATCH] cpufreq: silence cpufreq for UP drivers/cpufreq/cpufreq.c: In function `cpufreq_remove_dev': drivers/cpufreq/cpufreq.c:696: warning: unused variable `cpu_sys_dev' Signed-off-by: Grant Coady Cc: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0bd0f9fb190a0fc0fb25b764c8b04869711f7657 Author: Eric Paris Date: Mon Nov 21 21:32:28 2005 -0800 [PATCH] hugetlb: fix race in set_max_huge_pages for multiple updaters of nr_huge_pages If there are multiple updaters to /proc/sys/vm/nr_hugepages simultaneously it is possible for the nr_huge_pages variable to become incorrect. There is no locking in the set_max_huge_pages function around alloc_fresh_huge_page which is able to update nr_huge_pages. Two callers to alloc_fresh_huge_page could race against each other as could a call to alloc_fresh_huge_page and a call to update_and_free_page. This patch just expands the area covered by the hugetlb_lock to cover the call into alloc_fresh_huge_page. I'm not sure how we could say that a sysctl section is performance critical where more specific locking would be needed. My reproducer was to run a couple copies of the following script simultaneously while [ true ]; do echo 1000 > /proc/sys/vm/nr_hugepages echo 500 > /proc/sys/vm/nr_hugepages echo 750 > /proc/sys/vm/nr_hugepages echo 100 > /proc/sys/vm/nr_hugepages echo 0 > /proc/sys/vm/nr_hugepages done and then watch /proc/meminfo and eventually you will see things like HugePages_Total: 100 HugePages_Free: 109 After applying the patch all seemed well. Signed-off-by: Eric Paris Acked-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ef897c71a8985b62b7ec320a37376daaad364d0 Author: Antonino A. Daplas Date: Mon Nov 21 21:32:26 2005 -0800 [PATCH] vgacon: Fix usage of stale height value on vc initialization Reported by: Wayne E. Harlan "[1.] One line summary of the problem: When the kernel option "vga=1" is used, additional tty's (alt+control+Fx with x=2,3,4,5, etc) do not provide the full 50 lines of output. The first one does have 50 lines, however. [2.] Full description of the problem/report: These addtitional tty's show only 39 lines plus the top pixel of the 40-th line. The remaining lines are black and not shown. Kernel version 2.6.13.4 does not show this problem." This bug is caused by using a stale font height value on vgacon_init. Booting with vga=1 gives an 80x50 screen with an 8x8 font. Somewhere during the initialization, the font was changed to 8x9 and the first vc was correctly resized to 80x44. However, the rest of the vc's were not allocated yet, and when they were subsequently initialized, they still used a font height of 8 (instead of 9) causing the mentioned bug. Fix by saving the new font height to vga_video_font_height. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4627dea032ab1f6e472fcf030e28f22ea971f9b Author: Antonino A. Daplas Date: Mon Nov 21 21:32:25 2005 -0800 [PATCH] fbcon: Console Rotation - Fix wrong shift calculation The shift value (amount to shift the bitmap so first pixel starts at origin(0,0)) is incorrect. This causes corrupted characters or a kernel crash if fontwidth is not divisible by 8 at 270 degrees, or fontheight not divisible by 8 at 180 degrees. Report and part of the fix contributed by Knut Petersen. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74a8a65c526187fe636a6a2abcb7d9ebc5c753ab Author: David Gibson Date: Mon Nov 21 21:32:24 2005 -0800 [PATCH] Fix hugetlbfs_statfs() reporting of block limits Currently, if a hugetlbfs is mounted without limits (the default), statfs() will return -1 for max/free/used blocks. This does not appear to be in line with normal convention: simple_statfs() and shmem_statfs() both return 0 in similar cases. Worse, it confuses the translation logic in put_compat_statfs(), causing it to return -EOVERFLOW on such a mount. This patch alters hugetlbfs_statfs() to return 0 for max/free/used blocks on a mount without limits. Note that we need the test in the patch below, rather than just using 0 in the sbinfo structure, because the -1 marked in the free blocks field is used internally to tell the Signed-off-by: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86e07ce71a8aad5074f7316f9b297d2137630283 Author: David Gibson Date: Mon Nov 21 21:32:23 2005 -0800 [PATCH] Fix error handling with put_compat_statfs() In fs/compat.c, whenever put_compat_statfs() returns an error, the containing syscall returns -EFAULT. This is presumably by analogy with the non-compat case, where any non-zero code from copy_to_user() should be translated into an EFAULT. However, put_compat_statfs() is also return -EOVERFLOW. The same applies for put_compat_statfs64(). This bug can be observed with a statfs() on a hugetlbfs directory. hugetlbfs, when mounted without limits reports available, free and total blocks as -1 (itself a bug, another patch coming). statfs() will mysteriously return EFAULT although it's parameters are perfectly valid addresses. This patch causes the compat versions of statfs() and statfs64() to correctly propogate the return values from put_compat_statfs() and put_compat_statfs64(). Signed-off-by: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3d48f0373c14a6203202f7b1dfc7b0d8aaf6ed2 Author: Hugh Dickins Date: Mon Nov 21 21:32:22 2005 -0800 [PATCH] unpaged: fix sound Bad page states Earlier I unifdefed PageCompound, so that snd_pcm_mmap_control_nopage and others can give out a 0-order component of a higher-order page, which won't be mistakenly freed when zap_pte_range unmaps it. But many Bad page states reported a PG_reserved was freed after all: I had missed that we need to say __GFP_COMP to get compound page behaviour. Some of these higher-order pages are allocated by snd_malloc_pages, some by snd_malloc_dev_pages; or if SBUS, by sbus_alloc_consistent - but that has no gfp arg, so add __GFP_COMP into its sparc32/64 implementations. I'm still rather puzzled that DRM seems not to need a similar change. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b0db14c536debd92328819fe6c51a49717e8440 Author: Hugh Dickins Date: Mon Nov 21 21:32:20 2005 -0800 [PATCH] unpaged: copy_page_range vma For copy_one_pte's print_bad_pte to show the task correctly (instead of "???"), dup_mmap must pass down parent vma rather than child vma. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 689bcebfda16d7bace742740bfb3137fff30b529 Author: Hugh Dickins Date: Mon Nov 21 21:32:20 2005 -0800 [PATCH] unpaged: PG_reserved bad_page It used to be the case that PG_reserved pages were silently never freed, but in 2.6.15-rc1 they may be freed with a "Bad page state" message. We should work through such cases as they appear, fixing the code; but for now it's safer to issue the message without freeing the page, leaving PG_reserved set. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f57e88a8d83de8d844b57e16b84d2f762fe9f092 Author: Hugh Dickins Date: Mon Nov 21 21:32:19 2005 -0800 [PATCH] unpaged: ZERO_PAGE in VM_UNPAGED It's strange enough to be looking out for anonymous pages in VM_UNPAGED areas, let's not insert the ZERO_PAGE there - though whether it would matter will depend on what we decide about ZERO_PAGE refcounting. But whereas do_anonymous_page may (exceptionally) be called on a VM_UNPAGED area, do_no_page should never be: just BUG_ON. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee498ed730283e9cdfc8913f12b90a2246f1a8cc Author: Hugh Dickins Date: Mon Nov 21 21:32:18 2005 -0800 [PATCH] unpaged: anon in VM_UNPAGED copy_one_pte needs to copy the anonymous COWed pages in a VM_UNPAGED area, zap_pte_range needs to free them, do_wp_page needs to COW them: just like ordinary pages, not like the unpaged. But recognizing them is a little subtle: because PageReserved is no longer a condition for remap_pfn_range, we can now mmap all of /dev/mem (whether the distro permits, and whether it's advisable on this or that architecture, is another matter). So if we can see a PageAnon, it may not be ours to mess with (or may be ours from elsewhere in the address space). I suspect there's an entertaining insoluble self-referential problem here, but the page_is_anon function does a good practical job, and MAP_PRIVATE PROT_WRITE VM_UNPAGED will always be an odd choice. In updating the comment on page_address_in_vma, noticed a potential NULL dereference, in a path we don't actually take, but fixed it. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 920fc356f58d0e455bdfa53451f1c58eb211a846 Author: Hugh Dickins Date: Mon Nov 21 21:32:17 2005 -0800 [PATCH] unpaged: COW on VM_UNPAGED Remove the BUG_ON(vma->vm_flags & VM_UNPAGED) from do_wp_page, and let it do Copy-On-Write without touching the VM_UNPAGED's page counts - but this is incomplete, because the anonymous page it inserts will itself need to be handled, here and in other functions - next patch. We still don't copy the page if the pfn is invalid, because the copy_user_highpage interface does not allow it. But that's not been a problem in the past: can be added in later if the need arises. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 101d2be7646b7dd1c367d50208a59b29fce61398 Author: Hugh Dickins Date: Mon Nov 21 21:32:16 2005 -0800 [PATCH] unpaged: VM_NONLINEAR VM_RESERVED There's one peculiar use of VM_RESERVED which the previous patch left behind: because VM_NONLINEAR's try_to_unmap_cluster uses vm_private_data as a swapout cursor, but should never meet VM_RESERVED vmas, it was a way of extending VM_NONLINEAR to VM_RESERVED vmas using vm_private_data for some other purpose. But that's an empty set - they don't have the populate function required. So just throw away those VM_RESERVED tests. But one more interesting in rmap.c has to go too: try_to_unmap_one will want to swap out an anonymous page from VM_RESERVED or VM_UNPAGED area. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b14c179a483e71ea41df2aa4a661760063115bd Author: Hugh Dickins Date: Mon Nov 21 21:32:15 2005 -0800 [PATCH] unpaged: VM_UNPAGED Although we tend to associate VM_RESERVED with remap_pfn_range, quite a few drivers set VM_RESERVED on areas which are then populated by nopage. The PageReserved removal in 2.6.15-rc1 changed VM_RESERVED not to free pages in zap_pte_range, without changing those drivers not to set it: so their pages just leak away. Let's not change miscellaneous drivers now: introduce VM_UNPAGED at the core, to flag the special areas where the ptes may have no struct page, or if they have then it's not to be touched. Replace most instances of VM_RESERVED in core mm by VM_UNPAGED. Force it on in remap_pfn_range, and the sparc and sparc64 io_remap_pfn_range. Revert addition of VM_RESERVED to powerpc vdso, it's not needed there. Is it needed anywhere? It still governs the mm->reserved_vm statistic, and special vmas not to be merged, and areas not to be core dumped; but could probably be eliminated later (the drivers are probably specifying it because in 2.4 it kept swapout off the vma, but in 2.6 we work from the LRU, which these pages don't get on). Use the VM_SHM slot for VM_UNPAGED, and define VM_SHM to 0: it serves no purpose whatsoever, and should be removed from drivers when we clean up. Signed-off-by: Hugh Dickins Acked-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 664beed0190fae687ac51295694004902ddeb18e Author: Hugh Dickins Date: Mon Nov 21 21:32:14 2005 -0800 [PATCH] unpaged: unifdefed PageCompound It looks like snd_xxx is not the only nopage to be using PageReserved as a way of holding a high-order page together: which no longer works, but is masked by our failure to free from VM_RESERVED areas. We cannot fix that bug without first substituting another way to hold the high-order page together, while farming out the 0-order pages from within it. That's just what PageCompound is designed for, but it's been kept under CONFIG_HUGETLB_PAGE. Remove the #ifdefs: which saves some space (out- of-line put_page), doesn't slow down what most needs to be fast (already using hugetlb), and unifies the way we handle high-order pages. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1cdca61bf8537043edde8ef784ce1a1351361dac Author: Hugh Dickins Date: Mon Nov 21 21:32:13 2005 -0800 [PATCH] unpaged: sound nopage get_page Something noticed when studying use of VM_RESERVED in different drivers: snd_usX2Y_hwdep_pcm_vm_nopage omitted to get_page: fixed. And how did this work before? Aargh! That nopage is returning a page from within a buffer allocated by snd_malloc_pages, which allocates a high-order page, then does SetPageReserved on each 0-order page within. That would have worked in 2.6.14, because when the area was unmapped, PageReserved inhibited put_page. 2.6.15-rc1 removed that inhibition (while leaving ineffective PageReserveds around for now), but it hasn't caused trouble because.. we've not been freeing from VM_RESERVED at all. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83e9b7e929d1323b9a155d186f77aa8c06155cc3 Author: Hugh Dickins Date: Mon Nov 21 21:32:12 2005 -0800 [PATCH] unpaged: private write VM_RESERVED The PageReserved removal in 2.6.15-rc1 issued a "deprecated" message when you tried to mmap or mprotect MAP_PRIVATE PROT_WRITE a VM_RESERVED, and failed with -EACCES: because do_wp_page lacks the refinement to COW pages in those areas, nor do we expect to find anonymous pages in them; and it seemed just bloat to add code for handling such a peculiar case. But immediately it caused vbetool and ddcprobe (using lrmi) to fail. So revert the "deprecated" messages, letting mmap and mprotect succeed. But leave do_wp_page's BUG_ON(vma->vm_flags & VM_RESERVED) in place until we've added the code to do it right: so this particular patch is only good if the app doesn't really need to write to that private area. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed5297a94090d9a9f27b0ce1f9601ebe73561cff Author: Hugh Dickins Date: Mon Nov 21 21:32:11 2005 -0800 [PATCH] unpaged: get_user_pages VM_RESERVED The PageReserved removal in 2.6.15-rc1 prohibited get_user_pages on the areas flagged VM_RESERVED in place of PageReserved. That is correct in theory - we ought not to interfere with struct pages in such a reserved area; but in practice it broke BTTV for one. So revert to prohibiting only on VM_IO: if someone gets into trouble with get_user_pages on VM_RESERVED, it'll just be a "don't do that". You can argue that videobuf_mmap_mapper shouldn't set VM_RESERVED in the first place, but now's not the time for breaking drivers without notice. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa1a64ee12ae130706f3fc0007841ce9b0ddf9c2 Author: Jeff Dike Date: Mon Nov 21 21:32:10 2005 -0800 [PATCH] uml: eliminate use of libc PAGE_SIZE On some systems, libc PAGE_SIZE calls getpagesize, which can't happen from a stub. So, I use UM_KERN_PAGE_SIZE, which is less variable in its definition, instead. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17d469715c6453e4994e6617e8f644bf10f38584 Author: Jeff Dike Date: Mon Nov 21 21:32:09 2005 -0800 [PATCH] uml: properly invoke x86_64 system calls This patch makes stub_segv use the stub_syscall macros. This was needed anyway, but the bug that prompted this was the discovery that gcc was storing stuff in RCX, which is trashed across a system call. This is exactly the sort of problem that the new macros fix. There is a stub_syscall0 for getpid. stub_segv was changed to be a libc file, and that caused some include changes. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e23181deec0d2a8be576faf9d71211abb84d5ccc Author: Jeff Dike Date: Mon Nov 21 21:32:08 2005 -0800 [PATCH] uml: eliminate anonymous union and clean up symlink lossage This gives a name to the anonymous union introduced in skas-hold-own-ldt, allowing to build on a wider range of gccs. It also removes ldt.h, which somehow became real, and replaces it with a symlink, and creates ldt-x86_64.h as a copy of ldt-i386.h for now. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39d730ab87f07592e3a3794353f097d5184cae7a Author: Jeff Dike Date: Mon Nov 21 21:32:04 2005 -0800 [PATCH] uml: eliminate use of local in clone stub We have a bug in the i386 stub_syscall6 which pushes ebp before the system call and pops it afterwards. Because we use syscall6 to remap the stack, the old contents of the stack (and the former value of ebp) are no longer available. Some versions of gcc make from a real local, accessed through ebp, despite my efforts to make it obvious that references to from are really constants. This patch attempts to make it even more obvious by eliminating from and using a macro to access the stub's data explicitly with constants. My original thinking on this was to replace syscall6 with a remap_stack interface which saved ebp someplace and restored it afterwards. The problem is that there are no registers to put it in, except for esp. That could work, since we can store a constant in esp after the mmap because we just replaced the stack. However, this approach seems a tad cleaner. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18317ab0ca5ac0c654be3eac31ebb781b4a5e9b2 Author: Richard Knutsson Date: Mon Nov 21 21:32:03 2005 -0800 [PATCH] net: Fix compiler-error on dgrs.c when !CONFIG_PCI drivers/net/dgrs.c: In function `dgrs_init_module': drivers/net/dgrs.c:1598: `dgrs_pci_driver' undeclared (first use in this function) Signed-off-by: Richard Knutsson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab2ff46a2d22177daeae4d473c8916e4f14b4253 Author: Russ Anderson Date: Fri Nov 11 16:52:02 2005 -0600 [IA64-SGI] bte_copy nasid_index fix The nasid_index was not being incremented if the pointer was null, causing an infinite loop. Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck commit 771388dc7d1efe26a40242bd509e87ade2c971d1 Author: Jack Steiner Date: Fri Nov 18 16:11:27 2005 -0600 [IA64-SGI] support for older versions of PROM Add support for old versions of the SN PROMs. Eventually this support will be deleted but it is useful right now to continue supporting older PROMs. Signed-off-by: Jack Steiner Signed-off-by: Tony Luck commit 090de0b77ceed1f1d05883fa744760f0c65d9c31 Author: hawkes@sgi.com Date: Fri Nov 18 11:30:34 2005 -0800 [IA64] fix bug in sn/ia64 for sparse CPU numbering The kernel's use of the for_each_*cpu(i) macros has allowed for sparse CPU numbering. When I hacked the kernel to test sparse cpu_present_map[] and cpu_possible_map[] cpumasks, I discovered one remaining spot, in sn_hwperf_ioctl() during sn initialization, that needs to be fixed. Signed-off-by: John Hawkes Signed-off-by: Dean Roe Signed-off-by: Tony Luck commit 9ad4f924ecd9c067a22a64699bcf4eaad1935a61 Author: Prarit Bhargava Date: Mon Nov 21 13:00:38 2005 -0500 [IA64] Prevent sn2 ptc code from executing on all ia64 subarches Patch to prevent sn2_ptc_init code from attempting to load on non-sn2 systems when sn2_smp.c is built-in to generic kernel. Signed-off-by: Prarit Bhargava Signed-off-by: Tony Luck commit 8ad9ebb391e4cd75837ee608b9c33fcaceda0bc2 Author: Jens Axboe Date: Mon Nov 21 19:49:41 2005 +0100 [PATCH] as-iosched: remove state assertion in as_add_request() Kill the arq->state poison statement in as_add_request(), it can trigger for perfectly valid code that just reuses a request after io completion instead of freeing it and allocating a new one. We probably should introduce a blk_init_request() to start from scratch, but for now just kill it as we will be removing the as specific poisoning soon. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit c889b89619339636240227abb9ee5c9ec1167a1a Author: Russell King Date: Mon Nov 21 17:05:21 2005 +0000 [SERIAL] imx: Fix missed platform_driver_unregister Signed-off-by: Russell King commit 9b73fcf85f65a301107c89e05227cd6fd6965680 Author: Russell King Date: Mon Nov 21 17:03:15 2005 +0000 [ARM] Shut up gcc warning in clps7500 core.c core.c:263: warning: initialization makes integer from pointer without a cast Signed-off-by: Russell King commit 2f3eca8b4f1e9ff3c712519170f5c070ddbddff9 Author: Russell King Date: Mon Nov 21 17:01:13 2005 +0000 [ARM] Shut up gcc warning in assabet.c assabet.c:291: warning: 'scr' may be used uninitialized in this function Signed-off-by: Russell King commit 30a09616df38ab282e66084f40fb438fe715b2ec Author: Russell King Date: Mon Nov 21 15:26:52 2005 +0000 [ARM] ebsa110: __arch_ioremap should be 3 args Signed-off-by: Russell King commit 5aaf291056b6142c11f6f7fd48cf937595a70e93 Author: Russell King Date: Mon Nov 21 15:26:18 2005 +0000 [ARM] Add asm/memory.h to asm/numnodes.h Since the defintion of NODES_SHIFT may be overridden in asm/arch/memory.h it's important to include asm/memory.h into asm/numnodes.h to ensure that the correct value is always defined. Signed-off-by: Russell King commit 19f07be3b83d707940cc29abd8cc99d36d9d1f4e Author: Kenneth Tan Date: Mon Nov 21 15:17:07 2005 +0000 [ARM] 3171/1: To add missing QMGR region size for IXP4XX Patch from Kenneth Tan To add queue manager region size which is missing from ixp4xx-regs.h Signed-off-by: Kenneth Tan Signed-off-by: Russell King commit 067c90481aad752dca9a4685091c0163dec7dfe0 Author: Dirk Opfer Date: Mon Nov 21 15:17:06 2005 +0000 [ARM] 3170/1: Sharp SL-6000x: platform device conversion fixup Patch from Dirk Opfer Fix an error in tosa.c after the platform device conversion. Signed-off-by: Dirk Opfer Signed-off-by: Russell King commit c243f1f1f6545985afcc6adf1fc085729029c3ee Author: Dave Jones Date: Mon Nov 21 06:53:16 2005 -0800 [AGPGART] Support VIA P4M800CE bridge. Signed-off-by: Dave Jones commit 461ddf3b90bb149b99c3f675959c1bd6b11ed936 Author: Randy Dunlap Date: Sun Nov 20 21:25:15 2005 -0800 [NET]: kernel-doc fixes Fix kernel-doc warnings in network files. Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit b84f4cc977ec4a1260dc8d9165efc9319a93c2a2 Author: Patrick McHardy Date: Sun Nov 20 21:19:21 2005 -0800 [NET]: Use unused bit for ipvs_property field in struct sk_buff Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a516b04950f62d36b33db00c0d3c69d09dae99a9 Author: Patrick McHardy Date: Sun Nov 20 21:16:13 2005 -0800 [DCCP]: Add missing no_policy flag to struct net_protocol Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit bd4cfb594bdea00c3920b31bd12f497fc4a2e79c Author: Nicolas Kaiser Date: Sun Nov 20 21:11:31 2005 -0800 [NETFILTER]: Remove ARRAY_SIZE duplicate Signed-off-by: Nicolas Kaiser Signed-off-by: Harald Welte Signed-off-by: David S. Miller commit 2b8f2ff6f4c11fff9c3016b54fa261f522a54b70 Author: Yasuyuki Kozakai Date: Sun Nov 20 21:09:55 2005 -0800 [NETFILTER]: fixed dependencies between modules related with ip_conntrack - IP_NF_CONNTRACK_MARK is bool and depends on only IP_NF_CONNTRACK which is tristate. If a variable depends on IP_NF_CONNTRACK_MARK and doesn't care about IP_NF_CONNTRACK, it can be y. This must be avoided. - IP_NF_CT_ACCT has same problem. - IP_NF_TARGET_CLUSTERIP also depends on IP_NF_MANGLE. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Harald Welte Signed-off-by: David S. Miller commit c9e53cbe7ad6eabb3c7c5140b6127b4e5f9ee840 Author: Patrick McHardy Date: Sun Nov 20 21:09:00 2005 -0800 [FIB_TRIE]: Don't show local table in /proc/net/route output Don't show local table to behave similar to fib_hash. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit db93a82fa9d8b4d6e31c227922eaae829253bb88 Author: Dmitry Torokhov Date: Sun Nov 20 11:13:29 2005 -0500 [PATCH] Fix an OOPS is CinergyT2 Fix an OOPS is CinergyT2 driver when registering IR remote Signed-off-by: Dmitry Torokhov Signed-off-by: Linus Torvalds commit 5d5780df23537ad0db72267fe11103d2c23d9b2a Author: Yan Zheng Date: Sun Nov 20 13:42:20 2005 -0800 [IPV6]: Acquire addrconf_hash_lock for read in addrconf_verify(...) addrconf_verify(...) only traverse address hash table when addrconf_hash_lock is held for writing, and it may hold addrconf_hash_lock for a long time. So I think it's better to acquire addrconf_hash_lock for reading instead of writing Signed-off-by: Yan Zheng Signed-off-by: David S. Miller commit 4909724b5dee8fb7c52bbe90afa40c65b17be9eb Author: Alexandra Kossovsky Date: Sun Nov 20 13:41:59 2005 -0800 [COMPAT] net: SIOCGIFCONF data corruption From: Alexandra Kossovsky From http://bugzilla.kernel.org/show_bug.cgi?id=4746 There is user data corruption when using ioctl(SIOCGIFCONF) in 32-bit application running amd64 kernel. I do not think that this problem is exploitable, but any data corruption may lead to security problems. Following code demonstrates the problem #include #include #include #include #include #include char buf[256]; main() { int s = socket(AF_INET, SOCK_DGRAM, 0); struct ifconf req; int i; req.ifc_buf = buf; req.ifc_len = 41; printf("Result %d\n", ioctl(s, SIOCGIFCONF, &req)); printf("Len %d\n", req.ifc_len); for (i = 41; i < 256; i++) if (buf[i] != 0) printf("Byte %d is corrupted\n", i); } Steps to reproduce: Compile the code above into 32-bit elf and run it. You'll get Result 0 Len 32 Byte 48 is corrupted Byte 52 is corrupted Byte 53 is corrupted Byte 54 is corrupted Byte 55 is corrupted Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit fb0d366b0803571f06a5b838f02c6706fc287995 Author: Kris Katterjohn Date: Sun Nov 20 13:41:34 2005 -0800 [NET]: Reject socket filter if division by constant zero is attempted. This way we don't have to check it in sk_run_filter(). Signed-off-by: Kris Katterjohn Signed-off-by: David S. Miller commit aa8751667dcd757dd9a711b51140adf181501c44 Author: Andrea Bittau Date: Sun Nov 20 13:41:05 2005 -0800 [PKT_SCHED]: sch_netem: correctly order packets to be sent simultaneously If two packets were queued to be sent at the same time in the future, their order would be reversed. This would occur because the queue is traversed back to front, and a position is found by checking whether the new packet needs to be sent before the packet being examined. If the new packet is to be sent at the same time of a previous packet, it would end up before the old packet in the queue. This patch places packets in the correct order when they are queued to be sent at a same time in the future. Signed-off-by: Andrea Bittau Signed-off-by: David S. Miller commit 9e18fcdd346c6befdac360c047327fb058f33628 Author: Andi Kleen Date: Sun Nov 20 18:49:08 2005 +0100 [PATCH] Remove compat ioctl semaphore Originally for 2.6.16, but the semaphore causes problems for some people so get rid of it now. It's not needed anymore because the ioctl hash table is never changed at run time now. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit e6c667592e824c2871fe0ae3bc4b9bc7e81941f4 Author: Jacob.Shin@amd.com Date: Sun Nov 20 18:49:07 2005 +0100 [PATCH] Fix x86_64/msr.h interface to agree with i386/msr.h Ever since we remove msr.c from x86_64 branch and started grabbing it from i386, msr device (read functionality) has been broken for us. This is due to the differences between asm-i386/msr.h and asm-x86_64/msr.h interfaces. Here is a patch to our side to fix this. Thankfully, as of current (2.6.15-rc1-git6) tree, arch/i386/kernel/msr.c is the only file that uses rdmsr_safe macro. Signed-off-by: Jacob Shin Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit fbe83e209ad9c8281e29ac17a60f91119d86fa8c Author: Ashok Raj Date: Sun Nov 20 18:49:06 2005 +0100 [PATCH] Register disabled CPUs Needed to make the earlier use disabled CPUs for CPU hotplug patch actually work. Need to register disabled processors as well, so we can count them towards cpu_possible_map as hot pluggable cpus. Signed-off-by: Ashok Raj Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit d7169160bb772efe6510d8bc0c8e7625efbcc0b3 Author: Andi Kleen Date: Sun Nov 20 18:49:05 2005 +0100 [PATCH] i386: Use bigsmp for > 8 core Opteron systems bigsmp is reported to work on large Opteron systems on 32bit too. Enable it by default there. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit d4892279d786dd11f9d6269b3029ad3340e79597 Author: Dmitry Torokhov Date: Sun Nov 20 00:57:02 2005 -0500 Fix missing initialization in ir-kbd-gpio.c Signed-off-by: Dmitry Torokhov commit d271d1c2217b2e9868c32c0437d76b2af3a4b971 Author: Dmitry Torokhov Date: Sun Nov 20 00:56:54 2005 -0500 Fix an OOPS when initializing IR remote on saa7134 Signed-off-by: Dmitry Torokhov commit 9e50afd0cb3ff9ee152dbcf8601f5fb7eba5cff8 Author: Dmitry Torokhov Date: Sun Nov 20 00:56:43 2005 -0500 Input: make serio and gameport more swsusp friendly kseriod and kgameportd used to process all pending events before checking for freeze condition. This may cause swsusp to time out while stopping tasks when resuming. Switch to process events one by one to check freeze status more often. Signed-off-by: Dmitry Torokhov commit bd0ef2356cd85d39387be36fdf1f83a40075057f Author: Dmitry Torokhov Date: Sun Nov 20 00:56:31 2005 -0500 Input: handle failures in input_register_device() Signed-off-by: Dmitry Torokhov commit e597f0c80de7e2ef840b28d111ec532988abc432 Author: Dmitry Torokhov Date: Sun Nov 20 00:51:43 2005 -0500 Input: uinput - don't use "interruptible" in FF code If thread that submitted FF request gets interrupted somehow it will release request structure and ioctl handler will work with freed memory. TO prevent that from happening switch to using wait_for_completion instead of wait_for_completion_interruptible. Signed-off-by: Dmitry Torokhov commit 59c7c0377e00a3cbd7b71631177fb92166ceb437 Author: Dmitry Torokhov Date: Sun Nov 20 00:51:33 2005 -0500 Input: uinput - add UI_SET_SWBIT ioctl Signed-off-by: Dmitry Torokhov commit 29506415a0ff0152cc2928f8fcac724fbbf98651 Author: Dmitry Torokhov Date: Sun Nov 20 00:51:22 2005 -0500 Input: uinput - convert to dynalloc allocation Also introduce proper locking when creating/deleting device. Signed-off-by: Dmitry Torokhov commit e753b650e10af8a040b1081e72088b826bdef72f Author: Miloslav Trmac Date: Sun Nov 20 00:51:05 2005 -0500 Input: wistron - disable wifi/bluetooth on suspend Try to save battery power by disabling wifi and bluetooth on suspend. Signed-off-by: Miloslav Trmac Signed-off-by: Dmitry Torokhov commit a5b0cc80bc3cc98809c7674bda9928db497f0ebb Author: Dmitry Torokhov Date: Sun Nov 20 00:50:58 2005 -0500 Input: wistron - add PM support Register wistron-bios as a platform device, restore WIFI and Bluetooth state upon resume. Signed-off-by: Dmitry Torokhov commit 22a397e2c189dedf857836f2a49542b8aedfeb65 Author: Dmitry Torokhov Date: Sun Nov 20 00:50:46 2005 -0500 Input: wistron - convert to dynamic input_dev allocation Signed-off-by: Dmitry Torokhov commit 84b256a66360cedc25eb6e2ac6f167ca9778307b Author: Bernhard Rosenkraenzer Date: Sun Nov 20 00:50:37 2005 -0500 Input: wistron - add support for Acer Aspire 1500 notebooks Also fix a potential issue with some notebooks: The current code assumes the response to bios_wifi_get_default_setting is either 1 (disabled) or 3 (enabled), or wifi isn't supported. The BIOS response appears to be a bit field w/ 0x1 indicating hardware presence, 0x2 indicating actiation status, and the other 6 bits being unknown/reserved -- with the patch, these 6 bits are ignored. Signed-off-by: Bernhard Rosenkraenzer Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit e9fb028ea2a0a70dad0f467410418e5ee2af811b Author: Andrew Morton Date: Sun Nov 20 00:50:21 2005 -0500 Input: wistron - disable for x86_64 On x86_64: {standard input}:233: Error: suffix or operands invalid for `push' {standard input}:233: Error: suffix or operands invalid for `pop' Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 5fc1468029e2a4da90ded1e0e2cdd94fbdf83bac Author: Dmitry Torokhov Date: Sun Nov 20 00:50:06 2005 -0500 Input: add Wistron driver A driver for laptop buttons using an x86 BIOS interface that is apparently used on quite a few laptops and seems to be originating from Wistron. This driver currently "knows" only about Fujitsu-Siemens Amilo Pro V2000 (i.e. it can detect the laptop using DMI and it contains the keycode->key meaning mapping for this laptop) and Xeron SonicPro X 155G (probably can't be reliably autodetected, requires a module parameter), adding other laptops should be easy. In addition to reporting button presses to the input layer the driver also allows enabling/disabling the embedded wireless NIC (using the "Wifi" button); this is done using the same BIOS interface, so it seems only logical to keep the implementation together. Any flexibility possibly gained by allowing users to remap the function of the "Wifi" button is IMHO not worth it when weighted against the necessity to run an user-space daemon to convert button presses to wifi state changes. Signed-off-by: Miloslav Trmac Signed-off-by: Dmitry Torokhov commit 0d4c859734a818721b2d5ac712283ba8f92bd23a Author: Dmitry Torokhov Date: Sun Nov 20 00:49:42 2005 -0500 Input: atkbd - speed up setting leds/repeat state Changing led state is pretty slow operation; when there are multiple requests coming at a high rate they may interfere with normal typing. Try optimize (skip) changing hardware state when multiple requests are coming back-to-back. Signed-off-by: Dmitry Torokhov commit cdbce9c87e4ebd186389919b95e49592ec35dae6 Author: Steve French Date: Sat Nov 19 21:04:52 2005 -0800 [CIFS] Fix setattr of mode only (e.g. in some chmod cases) to Windows so it does not return EACCESS (unless server really returns that). Signed-off-by: Steve French commit df9890c31a1a447254f39e40c3fd81ad6547945b Author: YOSHIFUJI Hideaki Date: Sun Nov 20 12:23:18 2005 +0900 [IPV6]: Fix sending extension headers before and including routing header. Based on suggestion from Masahide Nakamura . Signed-off-by: YOSHIFUJI Hideaki commit a305989386e402f48b216786a5c8cf440b33bdad Author: Ville Nuorvala Date: Sun Nov 20 12:21:59 2005 +0900 [IPV6]: Fix calculation of AH length during filling ancillary data. Signed-off-by: YOSHIFUJI Hideaki commit 8b8aa4b5a66ecf90f0a7033c8cbc49cfd97c4347 Author: YOSHIFUJI Hideaki Date: Sun Nov 20 12:18:17 2005 +0900 [IPV6]: Fix memory management error during setting up new advapi sockopts. Signed-off-by: YOSHIFUJI Hideaki commit 86c96b4bb70dac67d6815e09a0949427d439b280 Author: Steve French Date: Fri Nov 18 20:25:31 2005 -0800 [CIFS] Fix mknod of block and chardev over SFU mounts Signed-off-by: Steve French commit 963f48a116bf3b797fe184e74c79c50de1da70bb Author: Jody McIntyre Date: Mon Nov 7 06:29:39 2005 -0500 sbp2_command_orb_lock must be held when accessing the _orb_inuse list. Fixes an oops in sbp2util_find_command_for_SCpnt after sbp2scsi_abort: https://bugzilla.novell.com/show_bug.cgi?id=113734 Signed-off-by: Jody McIntyre Signed-off-by: Stefan Richter (cherry picked from 7945619794314414a5c44df11fca4d3f2a3389cf commit) commit 48b1dcc5d80921dc0c54f2fabf4fe6e8538cb9b3 Author: Mark Maule Date: Thu Nov 17 15:50:01 2005 -0600 [IA64] altix: fix copyright in tioce .h files Fix up copyright in tioce header files Signed-off-by: Mark Maule Signed-off-by: Tony Luck commit c119b87d596cdd99ac20095ae2ae90b525418605 Author: Steve French Date: Fri Nov 18 12:27:27 2005 -0800 [CIFS] Missing part of previous patch Signed-off-by: Steve French commit 3020a1f58c564e3060ec908c0c4f1b74a12e4280 Author: Steve French Date: Fri Nov 18 11:31:10 2005 -0800 [CIFS] Fix scheduling while atomic when pending writes at file close time Fix the case in which readdir reset file type when SFU mount option specified. Also fix sfu related functions to not request EAs (xattrs) when not configured in Kconfig Signed-off-by: Steve French commit 87c89dd7330735d70cc9912483f6f4c7bc3ff19c Author: Steve French Date: Thu Nov 17 17:03:00 2005 -0800 [CIFS] Vectored and async i/o turned on and correct the writev and aio_write to flush properly. This is Christoph's patch merged with the new nobrl file operations Signed-off-by: Dave Kleikamp From: Christoph Hellwig - support vectored and async aio ops unconditionally - this is above the pagecache and transparent to the fs - remove cifs_read_wrapper. it was only doing silly checks and calling generic_file_write in all cases. - use do_sync_read/do_sync_write as read/write operations. They call ->readv/->writev which we now always implemente. - add the filemap_fdatawrite calls to writev/aio_write which were missing previously compared to plain write. no idea what the point behind them is, but let's be consistent at least.. Signed-off-by: Christoph Hellwig Signed-off-by: Steven French Signed-off-by: Andrew Morton commit 9e294f1c4d4a5fc0068fcb21f5809ff6e88e49bc Author: Steve French Date: Thu Nov 17 16:59:21 2005 -0800 [CIFS] Recognize properly symlinks and char/blk devices (not just FIFOs) created by SFU (part 2 of 2). Thanks to Martin Koeppe for useful analysis. Signed-off-by: Steve French commit a42ab7f2349a72ecf5c3b1b7c836dc4249a71c0c Author: Dave Jones Date: Wed Nov 16 16:07:02 2005 -0800 [AGPGART] Mark AMD64 aperture size structs as const Neither of them are ever written to. Noted by Arjan van de Ven Signed-off-by: Dave Jones commit 5e9ad06ad953c6022e4a7f6012c9b5708a8a5d8a Author: Dave Jones Date: Wed Nov 16 16:05:49 2005 -0800 [AGPGART] Mark maxes_table as const It's never written to. Noted by Arjan van de Ven Signed-off-by: Dave Jones commit 0f2b27c438cb593717dde8ee0fc05e0874eabbb6 Author: Steve French Date: Wed Nov 16 14:25:50 2005 -0800 [CIFS] Fix sparse warnings on smb bcc (byte count) Signed-off-by: Dave Kleikamp Signed-off-by: Steve French commit ff7feac9638e162263463edaeb342b4f3b1ce90e Author: Steve French Date: Tue Nov 15 16:45:16 2005 -0800 [CIFS] Fix endian errors (setfacl/getfacl failures) in handling ACLs (and a ppc64 compiler warning) Signed-off-by: Dave Kleikamp Signed-off-by: Steve French commit d6e2f2a4c892e4d131ab4fa5d212546c47dd3c40 Author: Steve French Date: Tue Nov 15 16:43:39 2005 -0800 [CIFS] Recognize properly symlinks and char/blk devices (not just FIFOs) created by SFU (part 1 of 2). Signed-off-by: Steve French commit e89dc9209692293434da45ec31826a55becb91c0 Author: Steve French Date: Fri Nov 11 15:18:19 2005 -0800 [CIFS] Cleanup sparse warnings for unicode little endian casts Following Shaggy's suggestion, do a better job on the unicode string handling routines in cifs in specifying that the wchar_t are really little endian widechars (__le16). Signed-off-by: Steve French commit 8b94bcb923dff923a5a5b7c6f890702a54cb19cf Author: Steve French Date: Fri Nov 11 11:41:00 2005 -0800 [CIFS] Fix CIFS "nobrl" mount option so does not disable sending brl requests for all mounts just that particular mount. Found by Arjan Vand de Ven Signed-off-by: Steve French