commit 101142c37be8e5af9b847860219217e6b958c739 Author: Linus Torvalds Date: Fri Feb 15 12:57:20 2008 -0800 Linux 2.6.25-rc2 commit 997b37da1515c1620692521786a74af271664eb7 Author: Rémi Denis-Courmont Date: Fri Feb 15 02:35:45 2008 -0800 [NET]: Make sure sockets implement splice_read Fixes a segmentation fault when trying to splice from a non-TCP socket. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 69c3683ca7fe066ecba9e8a0424c5abd258a5d58 Author: Keiichi KII Date: Fri Feb 15 02:01:58 2008 -0800 netconsole: avoid null pointer dereference at show_local_mac() This patch avoids a null pointer dereference when we read local_mac for netconsole in configfs and shows default local mac address value. A null pointer dereference occurs when we call show_local_mac() via local_mac entry in configfs before we setup the content of netpoll using netpoll_setup(). Signed-off-by: Keiichi KII Signed-off-by: David S. Miller commit b5c15fc004ac83b7ad280acbe0fd4bbed7e2c8d4 Author: Herbert Xu Date: Thu Feb 14 23:49:37 2008 -0800 [IPV6]: Fix reversed local_df test in ip6_fragment I managed to reverse the local_df test when forward-porting this patch so it actually makes things worse by never fragmenting at all. Thanks to David Stevens for testing and reporting this bug. Bill Fink pointed out that the local_df setting is also the wrong way around. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 4a0962abd187df29b7d1378b2f372a55667d54c0 Author: Christoph Lameter Date: Thu Feb 14 19:38:45 2008 -0800 dentries: Extract common code to remove dentry from lru Extract the common code to remove a dentry from the lru into a new function dentry_lru_remove(). Two call sites used list_del() instead of list_del_init(). AFAIK the performance of both is the same. dentry_lru_remove() does a list_del_init(). As a result dentry->d_lru is now always empty when a dentry is freed. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf28b4863f9ee8f122e8ff3ac0d403e07ba9c6d9 Author: Jan Blunck Date: Thu Feb 14 19:38:44 2008 -0800 d_path: Make d_path() use a struct path d_path() is used on a pair. Lets use a struct path to reflect this. [akpm@linux-foundation.org: fix build in mm/memory.c] Signed-off-by: Jan Blunck Acked-by: Bryan Wu Acked-by: Christoph Hellwig Cc: Al Viro Cc: "J. Bruce Fields" Cc: Neil Brown Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c32c2f63a9d6c953aaf168c0b2551da9734f76d2 Author: Jan Blunck Date: Thu Feb 14 19:38:43 2008 -0800 d_path: Make seq_path() use a struct path argument seq_path() is always called with a dentry and a vfsmount from a struct path. Make seq_path() take it directly as an argument. Signed-off-by: Jan Blunck Cc: Christoph Hellwig Cc: Al Viro Cc: "J. Bruce Fields" Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e83aece3afad4d56cc01abe069d3519e851cd2de Author: Jan Blunck Date: Thu Feb 14 19:38:41 2008 -0800 Use struct path in struct svc_expkey I'm embedding struct path into struct svc_expkey. Signed-off-by: Jan Blunck Cc: Al Viro Acked-by: "J. Bruce Fields" Cc: Neil Brown Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5477549161480432d053565d2720f08626baf9e3 Author: Jan Blunck Date: Thu Feb 14 19:38:39 2008 -0800 Use struct path in struct svc_export I'm embedding struct path into struct svc_export. [akpm@linux-foundation.org: coding-style fixes] [ezk@cs.sunysb.edu: NFSD: fix wrong mnt_writer count in rename] Signed-off-by: Jan Blunck Acked-by: J. Bruce Fields Acked-by: Christoph Hellwig Cc: Al Viro Cc: "J. Bruce Fields" Cc: Neil Brown Cc: Trond Myklebust Signed-off-by: Erez Zadok Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 448678a0f3cdd0157f00e98bd337e32030273637 Author: Jan Blunck Date: Thu Feb 14 19:38:36 2008 -0800 d_path: Make get_dcookie() use a struct path argument get_dcookie() is always called with a dentry and a vfsmount from a struct path. Make get_dcookie() take it directly as an argument. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jan Blunck Acked-by: Christoph Hellwig Cc: Al Viro Cc: "J. Bruce Fields" Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3dcd25f37cfe2943beca93f41f50994108248a60 Author: Jan Blunck Date: Thu Feb 14 19:38:35 2008 -0800 d_path: Make proc_get_link() use a struct path argument proc_get_link() is always called with a dentry and a vfsmount from a struct path. Make proc_get_link() take it directly as an argument. Signed-off-by: Jan Blunck Acked-by: Christoph Hellwig Cc: Al Viro Cc: "J. Bruce Fields" Cc: Neil Brown Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44707fdf5938ad269ea5d6c5744d82f6a7328746 Author: Jan Blunck Date: Thu Feb 14 19:38:33 2008 -0800 d_path: Use struct path in struct avc_audit_data audit_log_d_path() is a d_path() wrapper that is used by the audit code. To use a struct path in audit_log_d_path() I need to embed it into struct avc_audit_data. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jan Blunck Acked-by: Christoph Hellwig Cc: Al Viro Cc: "J. Bruce Fields" Cc: Neil Brown Cc: Stephen Smalley Cc: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a03a8a709a0c34b61b7aea1d54a0473a6b941fdb Author: Jan Blunck Date: Thu Feb 14 19:38:32 2008 -0800 d_path: kerneldoc cleanup Move and update d_path() kernel API documentation. Signed-off-by: Jan Blunck Acked-by: Christoph Hellwig Cc: Al Viro Cc: "J. Bruce Fields" Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 329c97f0af41bd580237b8fad0f3741849ee4e13 Author: Jan Blunck Date: Thu Feb 14 19:38:31 2008 -0800 One less parameter to __d_path All callers to __d_path pass the dentry and vfsmount of a struct path to __d_path. Pass the struct path directly, instead. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Andreas Gruenbacher Signed-off-by: Jan Blunck Acked-by: Christoph Hellwig Cc: Al Viro Cc: "J. Bruce Fields" Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac748a09fc873915254ed69fe83f1a95436ee30a Author: Jan Blunck Date: Thu Feb 14 19:34:39 2008 -0800 Make set_fs_{root,pwd} take a struct path In nearly all cases the set_fs_{root,pwd}() calls work on a struct path. Change the function to reflect this and use path_get() here. Signed-off-by: Jan Blunck Signed-off-by: Andreas Gruenbacher Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ac08c39a16f72c2d3e845cb6849a1392fa03e80 Author: Jan Blunck Date: Thu Feb 14 19:34:38 2008 -0800 Use struct path in fs_struct * Use struct path in fs_struct. Signed-off-by: Andreas Gruenbacher Signed-off-by: Jan Blunck Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5dd784d04924be5d8bc066aded0ec3274b20e612 Author: Jan Blunck Date: Thu Feb 14 19:34:38 2008 -0800 Introduce path_get() This introduces the symmetric function to path_put() for getting a reference to the dentry and vfsmount of a struct path in the right order. Signed-off-by: Jan Blunck Signed-off-by: Andreas Gruenbacher Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09da5916baf6d3fb9ac16c125c801ae6ea151f97 Author: Jan Blunck Date: Thu Feb 14 19:34:37 2008 -0800 Use path_put() in a few places instead of {mnt,d}put() Use path_put() in a few places instead of {mnt,d}put() Signed-off-by: Jan Blunck Signed-off-by: Andreas Gruenbacher Acked-by: Christoph Hellwig Cc: Al Viro Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d957f9bf87da74f420424d16ece005202bbebd3 Author: Jan Blunck Date: Thu Feb 14 19:34:35 2008 -0800 Introduce path_put() * Add path_put() functions for releasing a reference to the dentry and vfsmount of a struct path in the right order * Switch from path_release(nd) to path_put(&nd->path) * Rename dput_path() to path_put_conditional() [akpm@linux-foundation.org: fix cifs] Signed-off-by: Jan Blunck Signed-off-by: Andreas Gruenbacher Acked-by: Christoph Hellwig Cc: Cc: Al Viro Cc: Steven French Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ac9137858e08a19f29feac4e1f4df7c268b0ba5 Author: Jan Blunck Date: Thu Feb 14 19:34:32 2008 -0800 Embed a struct path into struct nameidata instead of nd->{dentry,mnt} This is the central patch of a cleanup series. In most cases there is no good reason why someone would want to use a dentry for itself. This series reflects that fact and embeds a struct path into nameidata. Together with the other patches of this series - it enforced the correct order of getting/releasing the reference count on pairs - it prepares the VFS for stacking support since it is essential to have a struct path in every place where the stack can be traversed - it reduces the overall code size: without patch series: text data bss dec hex filename 5321639 858418 715768 6895825 6938d1 vmlinux with patch series: text data bss dec hex filename 5320026 858418 715768 6894212 693284 vmlinux This patch: Switch from nd->{dentry,mnt} to nd->path.{dentry,mnt} everywhere. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: fix cifs] [akpm@linux-foundation.org: fix smack] Signed-off-by: Jan Blunck Signed-off-by: Andreas Gruenbacher Acked-by: Christoph Hellwig Cc: Al Viro Cc: Casey Schaufler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5e725f33b733a77de622e91b6ba5645fcf070be Author: Jan Blunck Date: Thu Feb 14 19:34:31 2008 -0800 Move struct path into its own header Move the definition of struct path into its own header file for further patches. Signed-off-by: Jan Blunck Signed-off-by: Andreas Gruenbacher Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 429731b1553bacf9a331c260c317a28aaa878edb Author: Jan Blunck Date: Thu Feb 14 19:34:31 2008 -0800 Remove path_release_on_umount() path_release_on_umount() should only be called from sys_umount(). I merged the function into sys_umount() instead of having in in namei.c. Signed-off-by: Jan Blunck Acked-by: Christoph Hellwig Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db74ece990ea59a9ec9f00f8881026059ef5caf5 Author: Jan Blunck Date: Thu Feb 14 19:34:29 2008 -0800 Dont touch fs_struct in usermodehelper This test seems to be unnecessary since we always have rootfs mounted before calling a usermodehelper. Signed-off-by: Andreas Gruenbacher Signed-off-by: Jan Blunck Acked-by: Christoph Hellwig Acked-by: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d63e4f9ea61df1d727bd52a174aba732e6e1853 Author: Jan Blunck Date: Thu Feb 14 19:34:28 2008 -0800 Dont touch fs_struct in drivers The sound drivers and the pnpbios core test for current->root != NULL. This test seems to be unnecessary since we always have rootfs mounted before initializing the drivers. Signed-off-by: Jan Blunck Acked-by: Christoph Hellwig Cc: Bjorn Helgaas Cc: Jaroslav Kysela Acked-by: Takashi Iwai Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 000cb48ee18165776b5a2beb72ed18f66bc61878 Author: Jan Kara Date: Thu Feb 14 19:31:32 2008 -0800 vfs: add explanation of I_DIRTY_DATASYNC bit Add explanation of I_DIRTY_DATASYNC bit. Signed-off-by: Jan Kara Cc: Joern Engel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0778361837bfaaa0bcf9ee79f0edd10e3a220899 Author: Ben Nizette Date: Thu Feb 14 19:31:31 2008 -0800 Include kernel.h from configfs.h configfs.h uses the container_of macro and as such should include kernel.h. Signed-off-by: Ben Nizette Cc: Joel Becker Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8943f268f32de8e33c71089d8ba26423633544f2 Author: Christine Caulfield Date: Thu Feb 14 19:31:31 2008 -0800 MAINTAINERS: update decnet and DLM entries Change my name & email in MAINTAINERS Signed-off-by: Christine Caulfield Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2a366dc5cead7b8bf7911a1de52f16748f6fcb3 Author: Mike Frysinger Date: Thu Feb 14 19:31:29 2008 -0800 FLAT binaries: drop BINFMT_FLAT bad header magic warning The warning issued by fs/binfmt_flat.c when the format handler is given a non-FLAT and non-script executable is annoying to say the least when working with FDPIC ELF objects. If you build a kernel that supports both FLAT and FDPIC ELFs on no-mmu, every time you execute an FDPIC ELF, the kernel spits out this message. While I understand a lot of newcomers to the no-mmu world screw up generation of FLAT binaries, this warning is not usable for systems that support more than just FLAT. Signed-off-by: Jie Zhang Signed-off-by: Mike Frysinger Cc: Bernd Schmidt Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2cd9cdce1842ccf307e178a835d833c3306e329d Author: Greg Ungerer Date: Thu Feb 14 19:31:27 2008 -0800 m68knommu: use tabs not spaces in cacheflush.h Use tabs instead of spaces. Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ef1e56776aad1fe7381b5bc64e39ff80aa33899 Author: Matt Waddel Date: Thu Feb 14 19:31:27 2008 -0800 m68knommu: fix profile timer I was looking at timers in the Coldfire system and I noticed that the CONFIG_HIGHPROFILE option seems to be a little out of date. Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c25f0a0f7fc37f39341a120a945ff7fe06b8ab4e Author: Greg Ungerer Date: Thu Feb 14 19:31:26 2008 -0800 m68knommu: use asflags instead of EXTRA_AFLAGS Modify the extra asm flags for debugger capabilities, use asflags instead for EXTRA_AFLAGS. Suggestion from Sam Ravnborg. Signed-off-by: Greg Ungerer Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 091b76d6aa788d8294caa2895cea1013f3eff7da Author: Greg Ungerer Date: Thu Feb 14 19:31:25 2008 -0800 m68knommu: avoid unneccessary use of xchg() in set_mb() Avoid unneccessary use of xchg() in set_mb(). Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 903be1c56444615342ac5f1fc103e2ec11043714 Author: Walter T Gruczka Date: Thu Feb 14 19:31:24 2008 -0800 m68knommu: fix coldfire interrupt exit path Remove bogus conditional jump in return from interrupt path. Reorder the code path now that is not there. Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9cf92eda3ddaf025fc38323ff96bac34243dec8 Author: Paul Menage Date: Thu Feb 14 19:31:24 2008 -0800 MAINTAINERS: add linux-fsdevel to VFS entry Add linux-fsdevel to the VFS entry in MAINTAINERS Signed-off-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34ff8a52fa7ebb7be036534295f7b252d39e3439 Author: Harvey Harrison Date: Thu Feb 14 19:31:23 2008 -0800 kernel-doc: remove fastcall fastcall is gone from the tree, no need to adjust the function prototypes anymore for this. Signed-off-by: Harvey Harrison Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77a746cec58801208818ee19115da0e4d41f9002 Author: Jesper Nilsson Date: Thu Feb 14 19:31:22 2008 -0800 cris: import memset.c from newlib: fixes compile error with newer (pre4.3) gcc Adrian Bunk reported the following compile error with a SVN head GCC: ... CC arch/cris/arch-v10/lib/memset.o /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c: In function 'memset': /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c:164: error: lvalue required as increment operand /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c:165: error: lvalue required as increment operand /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c:166: error: lvalue required as increment operand /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c:167: error: lvalue required as increment operand /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c:185: error: lvalue required as increment operand /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c:189: error: lvalue required as increment operand /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c:192: error: lvalue required as increment operand ... etc ... This is due to the use of the construct: *((long*)dst)++ = lc; Which is no longer legal since casts don't return an lvalue. The solution is to import the implementation from newlib, which is continually autotested together with GCC mainline, and uses the construct: *(long *) dst = lc; dst += 4; With this change, the generated code actually shrinks 76 bytes since gcc notices that it can use autoincrement for the move instruction in CRIS. text data bss dec hex filename 304 0 0 304 130 memset.old.o text data bss dec hex filename 228 0 0 228 e4 memset.o Since this is an import of a file from newlib, I'm not touching the formatting or correcting any checkpatch errors. Note also that even if the two files for the CRIS v10 and CRIS v32 are identical at the moment, it might be possible to tweak the CRIS v32 version. Thus, I'm not yet folding them into the same file, at least not until we've done some research on it. Signed-off-by: Jesper Nilsson Cc: Mikael Starvik Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c828e49453c4cb750b231d7116b8721c12b8663 Author: Harvey Harrison Date: Thu Feb 14 19:31:21 2008 -0800 inotify: make variables static in inotify_user.c inotify_max_user_instances, inotify_max_user_watches, inotify_max_queued_events can all be made static. Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1387d0d8b002c8ce90412fb2695ec6085eb8ce01 Author: Adrian Bunk Date: Thu Feb 14 19:31:20 2008 -0800 fix module_update_markers() compile error This patch fixes the following compile error with CONFIG_MODULES=n caused by commit fb40bd78b0f91b274879cf5db8facd1e04b6052e: /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/marker.c: In function `marker_update_probes': /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/marker.c:627: error: too few arguments to function `module_update_markers' Signed-off-by: Adrian Bunk Acked-by: Mathieu Desnoyers Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ebda63b09a4e2232effb7a37e609651fe221090 Author: Tony Breeds Date: Thu Feb 14 19:31:19 2008 -0800 Fix compile of swim3 as module The current pmac32_defconfig fails to build with the following error: Building modules, stage 2. ERROR: "check_media_bay" [drivers/block/swim3.ko] undefined! WARNING: modpost: Found 23 section mismatch(es). To see full details build your kernel with: 'make CONFIG_DEBUG_SECTION_MISMATCH=y' make[2]: *** [__modpost] Error 1 This patch fixes that. Signed-off-by: Tony Breeds Acked-by: Benjamin Herrenschmidt Cc: Paul Mackerras Acked-by: Bartlomiej Zolnierkiewicz Cc: Josh Boyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ead595aeb0974171eddd012df115424752413c26 Author: Sean Hefty Date: Wed Feb 13 14:33:53 2008 -0800 RDMA/cma: Do not issue MRA if user rejects connection request There's an undesirable interaction with issuing MRA requests to increase connection timeouts and the listen backlog. When the rdma_cm receives a connection request, it queues an MRA with the ib_cm. (The ib_cm will send an MRA if it receives a duplicate REQ.) The rdma_cm will then create a new rdma_cm_id and give that to the user, which in this case is the rdma_user_cm. If the listen backlog maintained in the rdma_user_cm is full, it destroys the rdma_cm_id, which in turns destroys the ib_cm_id. The ib_cm_id generates a REJ because the state of the ib_cm_id has changed to MRA sent, versus REQ received. When the backlog is full, we just want to drop the REQ so that it is retried later. Fix this by deferring queuing the MRA until after the user of the rdma_cm has examined the connection request. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 331dc558fa020451ff773973cee855fd721aa88e Author: Christoph Lameter Date: Thu Feb 14 14:28:09 2008 -0800 slub: Support 4k kmallocs again to compensate for page allocator slowness Currently we hand off PAGE_SIZEd kmallocs to the page allocator in the mistaken belief that the page allocator can handle these allocations effectively. However, measurements indicate a minimum slowdown by the factor of 8 (and that is only SMP, NUMA is much worse) vs the slub fastpath which causes regressions in tbench. Increase the number of kmalloc caches by one so that we again handle 4k kmallocs directly from slub. 4k page buffering for the page allocator will be performed by slub like done by slab. At some point the page allocator fastpath should be fixed. A lot of the kernel would benefit from a faster ability to allocate a single page. If that is done then the 4k allocs may again be forwarded to the page allocator and this patch could be reverted. Reviewed-by: Pekka Enberg Acked-by: Mel Gorman Signed-off-by: Christoph Lameter commit 71c7a06ff0a2ba0434ace4d7aa679537c4211d9d Author: Christoph Lameter Date: Thu Feb 14 14:28:01 2008 -0800 slub: Fallback to kmalloc_large for failing higher order allocs Slub already has two ways of allocating an object. One is via its own logic and the other is via the call to kmalloc_large to hand off object allocation to the page allocator. kmalloc_large is typically used for objects >= PAGE_SIZE. We can use that handoff to avoid failing if a higher order kmalloc slab allocation cannot be satisfied by the page allocator. If we reach the out of memory path then simply try a kmalloc_large(). kfree() can already handle the case of an object that was allocated via the page allocator and so this will work just fine (apart from object accounting...). For any kmalloc slab that already requires higher order allocs (which makes it impossible to use the page allocator fastpath!) we just use PAGE_ALLOC_COSTLY_ORDER to get the largest number of objects in one go from the page allocator slowpath. On a 4k platform this patch will lead to the following use of higher order pages for the following kmalloc slabs: 8 ... 1024 order 0 2048 .. 4096 order 3 (4k slab only after the next patch) We may waste some space if fallback occurs on a 2k slab but we are always able to fallback to an order 0 alloc. Reviewed-by: Pekka Enberg Signed-off-by: Christoph Lameter commit b7a49f0d4c34166ae84089d9f145cfaae1b0eec5 Author: Christoph Lameter Date: Thu Feb 14 14:21:32 2008 -0800 slub: Determine gfpflags once and not every time a slab is allocated Currently we determine the gfp flags to pass to the page allocator each time a slab is being allocated. Determine the bits to be set at the time the slab is created. Store in a new allocflags field and add the flags in allocate_slab(). Acked-by: Mel Gorman Reviewed-by: Pekka Enberg Signed-off-by: Christoph Lameter commit dada123d99c241d1a45798a7c77bcf99c4968704 Author: Adrian Bunk Date: Wed Feb 13 23:30:32 2008 +0200 make slub.c:slab_address() static slab_address() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Christoph Lameter commit eada35efcb2773cf49aa26277e056122e1a3405c Author: Pekka Enberg Date: Mon Feb 11 22:47:46 2008 +0200 slub: kmalloc page allocator pass-through cleanup This adds a proper function for kmalloc page allocator pass-through. While it simplifies any code that does slab tracing code a lot, I think it's a worthwhile cleanup in itself. Signed-off-by: Pekka Enberg Signed-off-by: Christoph Lameter commit e51bfd0ad10600a9fe4c8ede5ac2272e80075008 Author: Marcin Slusarz Date: Sun Feb 10 11:21:54 2008 +0100 slab: avoid double initialization & do initialization in 1 place - alloc_slabmgmt: initialize all slab fields in 1 place - slab->nodeid was initialized twice: in alloc_slabmgmt and immediately after it in cache_grow Signed-off-by: Marcin Slusarz CC: Christoph Lameter Reviewed-by: Pekka Enberg Signed-off-by: Christoph Lameter commit 073a371987f9a9806a85329eed51dca1fc52a7a0 Author: YOSHIFUJI Hideaki Date: Thu Feb 14 14:52:38 2008 -0800 [XFRM]: Avoid bogus BUG() when throwing new policy away. From: YOSHIFUJI Hideaki When we destory a new policy entry, we need to tell xfrm_policy_destroy() explicitly that the entry is not alive yet. Signed-off-by: David S. Miller commit a4d6b8af1e92daa872f55d06415b76c35f44d8bd Author: Kazunori MIYAZAWA Date: Thu Feb 14 14:51:38 2008 -0800 [AF_KEY]: Fix bug in spdadd This patch fix a BUG when adding spds which have same selector. Signed-off-by: Kazunori MIYAZAWA Signed-off-by: David S. Miller commit d0c1fd7a8f4cadb95b093d2600ad627f432c5edb Author: Jozsef Kadlecsik Date: Thu Feb 14 14:50:21 2008 -0800 [NETFILTER] nf_conntrack_proto_tcp.c: Mistyped state corrected. Signed-off-by: Jozsef Kadlecsik Signed-off-by: David S. Miller commit 0f4bda005fd685f7cbb2ad47b7bab1b155df2b86 Author: Paul Mundt Date: Thu Feb 14 14:48:45 2008 -0800 net: xfrm statistics depend on INET net/built-in.o: In function `xfrm_policy_init': /home/pmundt/devel/git/sh-2.6.25/net/xfrm/xfrm_policy.c:2338: undefined reference to `snmp_mib_init' snmp_mib_init() is only built in if CONFIG_INET is set. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit f8d8406bcb58ff70e97b71c35ff5be90c54fc3d0 Author: Ingo Molnar Date: Wed Feb 13 14:09:53 2008 +0100 x86: cpa, fix out of date comment Signed-off-by: Ingo Molnar commit 7d8330a563b00040326084f933f5bee06675ac54 Author: Balbir Singh Date: Sun Feb 10 12:46:28 2008 +0530 KVM is not seen under X86 config with latest git (32 bit compile) The KVM configuration is no longer visible in the latest git tree. It looks like it is selected by HAVE_SETUP_PER_CPU_AREA. I've moved HAVE_KVM to under CONFIG_X86. Signed-off-by: Balbir Singh Acked-by: Avi Kivity Signed-off-by: Ingo Molnar commit 69b1415e934fc1a796a817e32d84162ae65962f5 Author: Thomas Gleixner Date: Wed Feb 13 11:04:50 2008 +0100 x86: cpa: ensure page alignment the cpa API is page aligned - warn about any weird alignments. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7bfeab9af95565e38a97fbcfb631e5b140241187 Author: Harvey Harrison Date: Tue Feb 12 12:12:01 2008 -0800 x86: include proper prototypes for rodata_test extern should not appear in C files. Also, the definitions do not match the prototype currently, not sure what way you want to go with this, I've switched the prototype to return int, but I can see going to the void return as well. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar commit 184652eb6f68050af48a2ce3d5cf0537c208bee2 Author: Ingo Molnar Date: Thu Feb 14 23:30:20 2008 +0100 x86: fix gart_iommu_init() When the GART table is unmapped from the kernel direct mappings during early bootup, make sure we have no leftover cachelines in it. Note: the clflush done by set_memory_np() was not enough, because clflush does not work on unmapped pages. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3223f59f9cd9d69a4344eeac8b16a262c5f373f1 Author: Ingo Molnar Date: Thu Feb 14 14:21:32 2008 +0100 x86: EFI set_memory_x()/set_memory_uc() fixes The EFI-runtime mapping code changed a larger memory area than it should have, due to a pages/bytes parameter mixup. noticed by Andi Kleen. Signed-off-by: Ingo Molnar commit cae30f8270005940902c5807146fbaa36875e6e9 Author: Adrian Bunk Date: Wed Feb 13 23:31:31 2008 +0200 x86: make dump_pagetable() static dump_pagetable() can now become static. Signed-off-by: Adrian Bunk Acked-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit e8bff74afbdb4ad72bf6135c84289c47cf557892 Author: Ingo Molnar Date: Wed Feb 13 20:21:06 2008 +0100 x86: fix "BUG: sleeping function called from invalid context" in print_vma_addr() Jiri Kosina reported the following deadlock scenario with show_unhandled_signals enabled: [ 68.379022] gnome-settings-[2941] trap int3 ip:3d2c840f34 sp:7fff36f5d100 error:0<3>BUG: sleeping function called from invalid context at kernel/rwsem.c:21 [ 68.379039] in_atomic():1, irqs_disabled():0 [ 68.379044] no locks held by gnome-settings-/2941. [ 68.379050] Pid: 2941, comm: gnome-settings- Not tainted 2.6.25-rc1 #30 [ 68.379054] [ 68.379056] Call Trace: [ 68.379061] <#DB> [] ? __debug_show_held_locks+0x13/0x30 [ 68.379109] [] __might_sleep+0xe5/0x110 [ 68.379123] [] down_read+0x20/0x70 [ 68.379137] [] print_vma_addr+0x3a/0x110 [ 68.379152] [] do_trap+0xf5/0x170 [ 68.379168] [] do_int3+0x7b/0xe0 [ 68.379180] [] int3+0x9f/0xd0 [ 68.379203] <> [ 68.379229] in libglib-2.0.so.0.1505.0[3d2c800000+dc000] and tracked it down to: commit 03252919b79891063cf99145612360efbdf9500b Author: Andi Kleen Date: Wed Jan 30 13:33:18 2008 +0100 x86: print which shared library/executable faulted in segfault etc. messages the problem is that we call down_read() from an atomic context. Solve this by returning from print_vma_addr() if the preempt count is elevated. Update preempt_conditional_sti / preempt_conditional_cli to unconditionally lift the preempt count even on !CONFIG_PREEMPT. Reported-by: Jiri Kosina Signed-off-by: Ingo Molnar commit 63070a79ba482c274bad10ac8c4b587a3e011f2c Author: Thomas Gleixner Date: Thu Feb 14 00:58:36 2008 +0100 hrtimer: catch expired CLOCK_REALTIME timers early A CLOCK_REALTIME timer, which has an absolute expiry time less than the clock realtime offset calls with a negative delta into the clock events code and triggers the WARN_ON() there. This is a false positive and needs to be prevented. Check the result of timer->expires - timer->base->offset right away and return -ETIME right away. Thanks to Frans Pop, who reported the problem and tested the fixes. Signed-off-by: Thomas Gleixner Tested-by: Frans Pop commit 5a7780e725d1bb4c3094fcc12f1c5c5faea1e988 Author: Thomas Gleixner Date: Wed Feb 13 09:20:43 2008 +0100 hrtimer: check relative timeouts for overflow Various user space callers ask for relative timeouts. While we fixed that overflow issue in hrtimer_start(), the sites which convert relative user space values to absolute timeouts themself were uncovered. Instead of putting overflow checks into each place add a function which does the sanity checking and convert all affected callers to use it. Thanks to Frans Pop, who reported the problem and tested the fixes. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Tested-by: Frans Pop commit 11e75a7455a7bc73e752c0c985986c2b1f8c930a Author: Jack Morgenstein Date: Thu Feb 14 13:41:29 2008 +0200 mlx4_core: Move table_find from fmr_alloc to fmr_enable mlx4_table_find (for FMR MPTs) requires that ICM memory already be mapped. Before this fix, FMR allocation depended on ICM memory already being mapped for the MPT entry. If all currently mapped entries are taken, the find operation fails (even if the MPT ICM table still had more entries, which were just not mapped yet). This fix moves the mpt find operation to fmr_enable, to guarantee that any required ICM memory mapping has already occurred. Found by Oren Duer of Mellanox. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit e6028c0e004d334bb9ed75d4c918f4c763af1b9f Author: Jack Morgenstein Date: Thu Feb 14 10:39:36 2008 -0800 IB/mlx4: mlx4_ib_fmr_alloc() should call mlx4_fmr_enable() Currently mlx4_ib_fmr_alloc() calls mlx4_mr_enable() instead of mlx4_fmr_enable(). The two functions are equivalent at the moment, but this is not really correct (and the change is needed to fix a bug). Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit a9d1884925c80b96a621939a4fef5d74de58debe Author: Eli Cohen Date: Thu Feb 14 13:15:28 2008 +0200 IPoIB: Remove unused struct ipoib_cm_tx.ibwc member struct ipoib_cm_tx.ibwc is unused since commit 1b524963 ("IPoIB/cm: Use common CQ for CM send completions"), so remove it. Signed-off-by: Eli Cohen commit 167c42655cca188657aa9bb4e06d1194af3c73a5 Author: Jack Morgenstein Date: Wed Feb 13 16:23:50 2008 +0200 IPoIB: On P_Key change event, reset state properly In P_Key event handling, if the old P_Key is no longer available, the driver must call ipoib_ib_dev_stop() -- just as it does when the P_Key is still available (see procedure __ipoib_ib_dev_flush()). When a P_Key becomes available, the driver will perform ipoib_open(), which assumes that the QP is in RESET, the cm_id has been destroyed/deleted, etc. If ipoib_ib_dev_stop() is not called as described above, then these assumptions will be false, and the attempt to bring the interface up will fail. Found by Mellanox QA. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit d4eac7501f737c70420f38e9fd59de77a4ba6c13 Author: Grant Likely Date: Thu Feb 14 15:14:09 2008 +1100 [POWERPC] Remove unused CONFIG_WANT_DEVICE_TREE CONFIG_DEVICE_TREE was the only user of CONFIG_WANT_DEVICE_TREE but it was removed in commit id 25431333813686654907ab987fb5de10c10a16db (bootwrapper: Build multiple cuImages). This removes CONFIG_WANT_DEVICE_TREE from Kconfig and the defconfigs. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit bdb226bac12b005c80770decc1eddbff6be28f35 Author: Michael Ellerman Date: Thu Feb 14 13:34:17 2008 +1100 [POWERPC] Cell RAS: Remove DEBUG, and add license and copyright arch/powerpc/platforms/cell/ras.c still has DEBUG #defined, which is no longer necessary. Disable it - this disables two pr_debugs(). While we're there this file should have a copyright notice and license, so add both. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 1407b3d15694ba6d014ef7f48895169f49a6a02b Author: Adrian Bunk Date: Thu Feb 14 08:30:57 2008 +1100 [POWERPC] hvc_rtas_init() must be __init This fixes the following section mismatch: <-- snip --> ... WARNING: vmlinux.o(.text+0x2fbca8): Section mismatch in reference from the function .hvc_rtas_init() to the function .devinit.text:.hvc_alloc() ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit 16e543ffa853c8e1de5e1e2bcec0ef9f0b9386fa Author: Adrian Bunk Date: Thu Feb 14 08:30:55 2008 +1100 [POWERPC] free_property() must not be __init This fixes the following section mismatch: <-- snip --> ... WARNING: vmlinux.o(.text+0x55648): Section mismatch in reference from the function .free_node() to the function .init.text:.free_property() ... <-- snip --> Signed-off-by: Adrian Bunk Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit cf8918fe55018aba24669ba76fab3203627890e4 Author: Adrian Bunk Date: Thu Feb 14 08:30:52 2008 +1100 [POWERPC] vdso_do_func_patch{32,64}() must be __init This fixes the following section mismatches: <-- snip --> ... WARNING: vmlinux.o(.text+0xe49c): Section mismatch in reference from the function .vdso_do_func_patch64() to the function .init.text:.find_symbol64() WARNING: vmlinux.o(.text+0xe4d0): Section mismatch in reference from the function .vdso_do_func_patch64() to the function .init.text:.find_symbol64() WARNING: vmlinux.o(.text+0xe56c): Section mismatch in reference from the function .vdso_do_func_patch32() to the function .init.text:.find_symbol32() WARNING: vmlinux.o(.text+0xe5a0): Section mismatch in reference from the function .vdso_do_func_patch32() to the function .init.text:.find_symbol32() ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit e4ccde0262a2b4d0889b1cbe4874d2aed120bbe4 Author: Kumar Gala Date: Tue Feb 12 02:32:00 2008 +1100 [POWERPC] Remove generated files on make clean vmlinux.lds and dtc-parser.tab.h get created but never cleaned up. Signed-off-by: Paul Mackerras commit 7084ebaa266e1686ef6e157aff9137cc28a92843 Author: Stefan Roese Date: Mon Feb 11 20:41:18 2008 +1100 [POWERPC] Fix arch/ppc compilation - add typedef for pgtable_t Commit 2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4 ("CONFIG_HIGHPTE vs. sub-page page tables.") breaks compilation of arch/ppc since it introduces the pgtable_t type which was not added to arch/ppc. This adds the missing typedef. Signed-off-by: Stefan Roese Signed-off-by: Paul Mackerras commit fb8642db19d57361be671a30d3f13defaf6b6cff Author: Stephen Rothwell Date: Mon Feb 11 11:38:40 2008 +1100 [POWERPC] Wire up new timerfd syscalls Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ea24608f02dbdfd83c77749445df58616a18a770 Author: Geoff Levand Date: Sat Feb 9 09:53:07 2008 +1100 [POWERPC] PS3: Update sys-manager button events PS3 firmware 1.94 added the source of power and reset events to the payload of the system manager POWER_PRESSED and RESET_PRESSED events. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 50dad90264096363a35e75d1b8a1c9efc2ee4114 Author: Geoff Levand Date: Sat Feb 9 09:53:01 2008 +1100 [POWERPC] PS3: Sys-manager code cleanup General code cleanups for PS3 system-manager: o Move all MODULE_ macros to bottom. o Correct PS3_SM_WAKE_P_O_R value. o Enhance comment on wakeup source values. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 75ffe88d2b3e19ed02d299c9a4c89882bef3b4f7 Author: Geoff Levand Date: Sat Feb 9 09:52:55 2008 +1100 [POWERPC] PS3: Use system reboot on restart The PS3 Other OS boot flag is not checked when an LPAR reboot is done, so the ps3-boot-game-os utility fails to reboot the system into the Game OS. This fix changes the PS3 restart handler from requesting an PS3_SM_NEXT_OP_LPAR_REBOOT to requesting an PS3_SM_NEXT_OP_SYS_REBOOT. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit e5a21dd87312b842fe1cc23cbca8e28d69fe055b Author: Geoff Levand Date: Sat Feb 9 09:52:48 2008 +1100 [POWERPC] PS3: Fix bootwrapper hang bug Fix a bug in the lv1_get_repository_node_value() routine of the PS3 bootwrapper. Changes in the PS3 system firmware 2.20 cause this bug to hang the system when branching from the bootwrapper to the kernel _start. Since the video system has not yet been enabled at the time the bug is hit, the system hangs with a blank screen. Earlier firmwares don't cause such a catastrophic failure, and so this bug went undetected. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit a0620156b05f2e1b77801e8bca724d0ed650974d Author: Takashi Yamamoto Date: Sat Feb 9 09:52:41 2008 +1100 [POWERPC] PS3: Fix reading pm interval in logical performance monitor ps3_read_pm (pm_interval) should return an actual HW register value because the pm_interval register is a counter register. This removes the shadow pm_interval register. Signed-off-by: Takashi Yamamoto Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit a7faa8dc95ef90593d605d36409ef9100bdd11f8 Author: Takashi Yamamoto Date: Sat Feb 9 09:52:30 2008 +1100 [POWERPC] PS3: Fix setting bookmark in logical performance monitor Fix the ps3_set_bookmark() routine of the PS3 logical performance monitor driver. To properly set a performance monitor bookmark the Cell processor requires no instruction branches near the setting of the bookmark SPR. Testing showed that the use of the db10cyc instruction did not work correctly. This change replaces the db10cyc instruction with 10 nop instructions. Signed-off-by: Takashi Yamamoto Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 79ccd1bedc0592602183dad5e3d51d0ab7a9add0 Author: Hugh Dickins Date: Sat Feb 9 05:25:13 2008 +1100 [POWERPC] Fix DEBUG_PREEMPT warning when warning The powerpc show_regs prints CPU using smp_processor_id: change that to raw_smp_processor_id, so that when it's showing a WARN_ON backtrace without preemption disabled, DEBUG_PREEMPT doesn't mess up that warning with its own. Signed-off-by: Hugh Dickins Signed-off-by: Paul Mackerras commit 46c1fbdb7191bf07979d7cd5f08d1a86458181a2 Author: Len Brown Date: Wed Feb 13 23:13:25 2008 -0500 ACPI: DMI: quirk for FSC ESPRIMO Mobile V5505 http://bugzilla.kernel.org/show_bug.cgi?id=9939 Signed-off-by: Len Brown commit bb54675b9b2f968f07e29b6c23b8dc90bad59723 Author: Len Brown Date: Sun Feb 10 21:29:56 2008 -0500 ACPI: DMI blacklist updates Acer Extensa 5220 -- OSI(Linux) is a NOP Dell OptiPlex 755 -- OSI(Linux) turns GUSB into a NOP Dell PowerEdge 1950 -- OSI(Linux) is a NOP Dell Precision 690 -- OSI(Linux) touches USB (skips GUSB) FSC ESPRIMO Mobile V5505 -- OSI(Linux) is a NOP Lenovo LENOVO3000 V100 -- OSI(Linux) is a NOP Lenovo X61x -- OSI(Linux) enables Linux specific AML Sony Vaio VGN-NR11S_S - OSI(Linux) is a NOP Signed-off-by: Len Brown commit 6bf69b5ebf22f8f5b4551bad688979fe29049126 Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Feb 11 16:05:35 2008 +0100 pnpacpi: __initdata is not an identifier sparse complains at drivers/pnp/pnpacpi/core.c:39 with the error: Trying to use reserved word '__attribute__' as identifier Expected ) in function declarator, got ".init.data" and at drivers/pnp/pnpacpi/core.c:49:38 with the error: undefined identifier 'excluded_id_list' With the patch below these sparse complaints do not occur Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Len Brown commit c8e773fa4f6a999a80d9fa3836f412e259ab6fa1 Author: Adrian Bunk Date: Wed Feb 13 23:29:57 2008 +0200 ACPI: static acpi_chain_head Signed-off-by: Adrian Bunk Signed-off-by: Len Brown commit adba2a876c1c971980f9bb3c6c8e20c61490647b Author: Adrian Bunk Date: Wed Feb 13 23:29:58 2008 +0200 ACPI: static acpi_find_dsdt_initrd() Signed-off-by: Adrian Bunk Signed-off-by: Len Brown commit bfaed45e30f19bb4cee779f3229d2744bc2b2c46 Author: Adrian Bunk Date: Wed Feb 13 23:30:00 2008 +0200 ACPI: static acpi_no_initrd_override_setup() Signed-off-by: Adrian Bunk Acked-by: Eric Piel Signed-off-by: Len Brown commit 1d5a2b54f39cab8ab8bee5290798ea6516c4a68c Author: Adrian Bunk Date: Wed Feb 13 23:30:06 2008 +0200 thinkpad_acpi: static Signed-off-by: Adrian Bunk Acked-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit a602cc05f8fc849023e72e2857bd842f0104f648 Author: Hideo Saito Date: Thu Feb 14 14:45:08 2008 +0900 sh: Fix multiple UTLB hit on UP SH-4. This acts as a reversion of 1c6b2ca5e0939bf8b5d1a11f1646f25189ecd447 in the case of UP SH-4, where we still have the risk of a multiple hit between the slow and fast paths. As seen on SH7780. Signed-off-by: Hideo Saito Signed-off-by: Paul Mundt commit 314ccd644cc14b9ebc1996afbabfb4d108004fd0 Author: Rafael J. Wysocki Date: Wed Feb 13 00:32:16 2008 +0100 ACPI suspend: Execute _WAK with the right argument The _WAK global ACPI control method has to be called with the argument representing the sleep state being exited. Make it happen. Special thanks to Mirco Tischler for reporting the problem and debugging. Reported-by: Mirco Tischler Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 123100cf4fff3e8ffa375df2c74c7f2cb29ab17a Author: Magnus Damm Date: Thu Feb 14 14:05:57 2008 +0900 sh: fix pci io access for r2d boards Use generic_io_base to point out the pci io window, and make sure the highest port address used is SH7751_PCI_IO_SIZE - 1. This patch fixes pci io port access for the r2d boards - CONFIG_8139TOO_PIO now works as expected. So does the alsa driver for CMI8738. Signed-off-by: Magnus Damm Acked-by: Katsuya MATSUBARA Signed-off-by: Paul Mundt commit c0ca41a27ef40fbe6d5fe343b61d63d7e1b93d28 Author: Magnus Damm Date: Thu Feb 14 13:59:02 2008 +0900 sh: fix ioreadN_rep and iowriteN_rep This patch is a fix to make sure readsN/writesN are used over insN/outsN for ioreadN_rep/iowriteN_rep. The current state of the sh io code is that mmio operations like readN/writeN and ioreadN/iowriteN are unaffected by the value of generic_io_base. This is different fom port based io like inN/outN which gets adjusted using the value in generic_io_base. Without this patch ioreadN_rep/iowriteN_rep get their addresses adjusted. The address for mmio access is adjusted using generic_io_base. This is wrong. The ata core code currently crashes if generic_io_base is set. This patch changes ioreadN_rep/iowriteN_rep to follow the same rules as the rest of the mmio operations, ie don't adjust using generic_io_base. Signed-off-by: Magnus Damm Acked-by: Katsuya MATSUBARA Signed-off-by: Paul Mundt commit e036eaa681a17f71b64f6d9040fe605555623919 Author: Magnus Damm Date: Thu Feb 14 13:52:43 2008 +0900 sh: use ctrl_in/out for on chip pci access This patch makes sure ctrl_inN/outN are used instead of inN/outN for on chip pci registers. Without this patch addresses may be adjusted using the value in generic_io_base. This patch makes it possible to set generic_io_base and have pci without reading and writing all over the place. Signed-off-by: Magnus Damm Acked-by: Katsuya MATSUBARA Signed-off-by: Paul Mundt commit f99cb7a43c5cca1813a97312487acf7a0f88ee2a Author: Paul Mundt Date: Wed Feb 13 20:28:12 2008 +0900 sh: Kill off more dead symbols. Reported-by: Robert P. J. Day Signed-off-by: Paul Mundt commit db02612b4eb6136f06a924e6aa28752a841ad1bc Author: Paul Mundt Date: Wed Feb 13 20:18:01 2008 +0900 sh: __uncached_start only on sh32. sh64 doesn't provide __uncached_start, so don't reference it unconditionally. Signed-off-by: Paul Mundt commit c7a49dd42d15f066d13e26c24c22c600b58528e0 Author: Paul Mundt Date: Wed Feb 13 20:16:47 2008 +0900 sh: asm/irq.h needs asm/cpu/irq.h. The SH-5 build currently fails when trying to build the i8042 code due to the missing IRQ definitions. These are provided in asm/cpu/irq.h, so just include that there to get it building again. Signed-off-by: Paul Mundt commit e8ea024bffcc9e4cb0e72cfdf50a99d05fd95d1c Author: Paul Mundt Date: Wed Feb 13 20:15:36 2008 +0900 serial: sh-sci: Fix up SH-5 build. asm/hardware.h doesn't exist any more, and the definitions sh-sci.h depended on are provided through asm/cpu/addrspace.h these days. Kill off the bogus include. Signed-off-by: Paul Mundt commit 38350e0a00f973dd9c6556beeff0f7eb5ef3f58b Author: Paul Mundt Date: Wed Feb 13 20:14:10 2008 +0900 sh: Get SH-5 caches working again post-unification. A number of cleanups to get the SH-5 cache management code in line with the rest of the SH backend. Signed-off-by: Paul Mundt commit 5c8f82c64941594cdab53bf9f9a66c190781f4f6 Author: Paul Mundt Date: Wed Feb 13 19:44:53 2008 +0900 maple: Fix up maple build failure. maple_devinfo->connector_direction had a typo, fix it up.. Signed-off-by: Paul Mundt commit b785537fe6af6d0f558cc035a0c04d87873d2ce0 Author: Paul Mundt Date: Wed Feb 13 19:37:52 2008 +0900 sh: Kill off bogus SH_SDK7780_STANDALONE symbol. Reported-by: Robert P. J. Day Signed-off-by: Paul Mundt commit bb7de070d2cf11f92341c40cd1810e8eebfbcbf8 Author: Paul Mundt Date: Wed Feb 13 14:09:03 2008 +0900 sh: asm/tlb.h needs linux/pagemap.h for CONFIG_SWAP=n. linux/swap.h really wants to include linux/pagemap.h in order to satisfy the page_cache_release()/release_pages() definition requirements when CONFIG_SWAP=n. Unfortunately the code in question contains: /* only sparc can not include linux/pagemap.h in this file * so leave page_cache_release and release_pages undeclared... */ #define free_page_and_swap_cache(page) \ page_cache_release(page) #define free_pages_and_swap_cache(pages, nr) \ release_pages((pages), (nr), 0); so it looks like we're stuck with doing it in asm/tlb.h instead, as others already do (ARM, CRIS, etc.). Grumble. Signed-off-by: Paul Mundt commit c2f4d36640947ddd13af7a2c36d197eb9fe5280a Author: Kristoffer Ericson Date: Mon Feb 11 18:41:49 2008 +0100 sh: Tidy include/asm-sh/hp6xx.h This patch removes defunct. led support functions from hp6xx.h since they are now added in a proper driver (see commit below). Also adds tabs instead of spaces before comments. *commit d39a7a63eb3971b1b3cc5c181ed526bf437b1c72 Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit b770d6b9b726932a74126311fa163ebf379631d8 Author: Adrian McMenamin Date: Mon Feb 11 00:25:02 2008 +0000 maple: improve detection of attached peripherals Improve device detection for maple through longer delay Experience suggests that a much longer delay in setting up the Maple bus on the Dreamcast leads to better hardware detection. Signed-off-by: Adrian McMenamin Signed-off-by: Paul Mundt commit 43081e18336d67937092dd05ffe320d2fbffd012 Author: Paul Mundt Date: Tue Feb 12 17:02:08 2008 +0900 sh: Shut up some trivial build warnings. Signed-off-by: Paul Mundt commit f1f8926a94132e6433b559a3eced65404226f5cd Author: Paul Mundt Date: Tue Feb 12 17:00:39 2008 +0900 sh: Update SH-5 flush_cache_sigtramp() for API changes. Previously this took an explicit range, update this to use the same behaviour as the rest of the SH parts where we simply flush out a line from the start address. Signed-off-by: Paul Mundt commit 5e9c8ac5699f2a830fab2c224b6f57bd7da338b8 Author: Paul Mundt Date: Tue Feb 12 16:59:30 2008 +0900 sh: Fix up set_fixmap_nocache() for SH-5. This needs a PAGE_KERNEL_NOCACHE definition, as provided by pgtable_32.h. Signed-off-by: Paul Mundt commit 5286031693d14ae20ce4298d002eddc2044e19a4 Author: Paul Mundt Date: Tue Feb 12 16:55:21 2008 +0900 sh: Fix up pte_mkhuge() build breakage for SH-5. Applies the fix from 5b67954e804465a4658dd4da8d52b87a8d1ea00c to pgtable_64.h. Signed-off-by: Paul Mundt commit 64e34ca99abc4749ff7fa752f02653d115c577b1 Author: Paul Mundt Date: Tue Feb 12 16:48:43 2008 +0900 sh: Disable big endian for SH-5. All SH-5 machines are little endian. Signed-off-by: Paul Mundt commit 829c773da599285e2780dbaab5c795b7b498ef22 Author: Paul Mundt Date: Tue Feb 12 16:48:16 2008 +0900 sh: Handle SH7366 CPU in check_bugs(). Signed-off-by: Paul Mundt commit ecc14e8cf7f7865b8b7a9e1796c0b18cbb477d2f Author: Paul Mundt Date: Tue Feb 12 16:02:02 2008 +0900 sh: Symbol exports for trapped I/O. Signed-off-by: Paul Mundt commit 96f2fc006c281cbd5702a409c57d1f1549cde1fe Author: Paul Mundt Date: Sat Feb 9 19:11:12 2008 +0900 sh: Clean up whitespace damage in Kconfig.debug. Signed-off-by: Paul Mundt commit f1cdd63fe904869310fefb0361c94c51744eada4 Author: Paul Mundt Date: Sat Feb 9 19:10:52 2008 +0900 sh: Use max_t in io_trapped. Signed-off-by: Paul Mundt commit 9109a30e5a548b39463b5a777943cf103da507af Author: Magnus Damm Date: Fri Feb 8 17:31:24 2008 +0900 sh: add support for sh7366 processor This patch adds sh7366 cpu supports. Just the most basic things like interrupt controller, clocks and serial port are included at this point. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d847afe7d4966d35eb7a6fe6f196a0d7e5633f35 Author: Magnus Damm Date: Fri Feb 8 17:23:42 2008 +0900 sh: remove maskreg irq code This patch removes the maskreg irq code since it is not in use anymore. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0906185071bff4b285aed6e89ed607d6f6bf8910 Author: Magnus Damm Date: Fri Feb 8 17:26:54 2008 +0900 sh: fix ptrace copy_from/to_user() compilation error This patch makes the 32-bit ptrace code compile again. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit c1a34e4c547a7e6185078bf5e65a3ca0e1081df2 Author: Magnus Damm Date: Thu Feb 7 20:23:53 2008 +0900 sh: trapped io support for highlander V2 This patch converts the highlander CF device from good old machvec readb/writeb to the new shiny trapped io. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2d952b4b8c94ed8576b4221dad9654c5d98275d0 Author: Magnus Damm Date: Thu Feb 7 20:21:10 2008 +0900 sh: trapped io support for r2d V2 This patch converts the CF device on r2d boards from machvec readb/writeb to trapped io. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e7cc9a7340b8ec018caa9eb1d035fdaef1f2fc51 Author: Magnus Damm Date: Thu Feb 7 20:18:21 2008 +0900 sh: trapped io support V2 The idea is that we want to get rid of the in/out/readb/writeb callbacks from the machvec and replace that with simple inline read and write operations to memory. Fast and simple for most hardware devices (think pci). Some devices require special treatment though - like 16-bit only CF devices - so we need to have some method to hook in callbacks. This patch makes it possible to add a per-device trap generating filter. This way we can get maximum performance of sane hardware - which doesn't need this filter - and crappy hardware works but gets punished by a performance hit. V2 changes things around a bit and replaces io access callbacks with a simple minimum_bus_width value. In the future we can add stride as well. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2ade1a9b425c24037327197ea97db054395b536b Author: Magnus Damm Date: Thu Feb 7 20:08:46 2008 +0900 sh: update r2d defconfigs with usb, spi and rtc Update the defconfigs for r2d-plus and r2d-1 since we now have new drivers for sm501 usb, spi-over-sci and epson r9701 rtc in mainline. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4b5a9ef5279aed2c34d92fee62cf6d0c6ffacbaa Author: Magnus Damm Date: Thu Feb 7 20:04:12 2008 +0900 sh: use opcode_t and enable unaligned code for sh2a This patch converts the unaligned access handling code to use opcode_t instead of u16. While at it, enable unaligned access handling for sh2a. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4252c659a4e7f4260e4bdc87538578236c51ab2d Author: Magnus Damm Date: Thu Feb 7 19:58:46 2008 +0900 sh: add byte support to the sign extension code This patch adds byte support to the sign extension code. Unaligned access traps should never be generated on 8-bit io operations, but we will use this code for trapped io and we do need byte support there. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 1e6760c5c4589d02a6877fb256b99c33dd8f1ede Author: Magnus Damm Date: Thu Feb 7 19:50:52 2008 +0900 sh: make copy_to/from_user() static inline This patch changes copy_from_user() and copy_to_user() from macros into static inline functions. This way we can use them as function pointers. Also unify the 64 bit and 32 bit versions. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 960c65e88452e761e257c6a20062c91c3e7fa5ac Author: Peter Zijlstra Date: Thu Feb 7 15:01:26 2008 +0900 sh: fix xtime_lock deadlocking. move update_process_times() out from under xtime_lock. Signed-off-by: Peter Zijlstra Signed-off-by: Paul Mundt commit 9216f194e4b1a967996f0335cfe2ac42df4438b7 Author: Paul Mundt Date: Thu Feb 7 13:13:44 2008 +0900 sh: Add mach-type entries for MigoR and SDK7780. Signed-off-by: Paul Mundt commit 70f784ec1ddacf8e17da2663f842efac029da796 Author: Magnus Damm Date: Thu Feb 7 00:38:24 2008 +0900 sh: migor board support This patch adds basic support for the Migo-R board. Only simple stuff provided by the cpu specific sh7722 code is in place now, like serial console port, timers and usb gadget. There is also partial support for the smc91c111 ethernet controller - unfortunately some driver header file also needs patching (not included here) to make the driver get IRQ sense information from the platform data. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5d0e146493a3306b931338ac030bc7a8de40c066 Author: Paul Mundt Date: Thu Feb 7 13:05:13 2008 +0900 sh: Wire up new timerfd syscalls. Signed-off-by: Paul Mundt commit 87153058b2e3bedfd339dbfec5dd6dd3d98677b0 Author: Adrian McMenamin Date: Wed Feb 6 23:59:56 2008 +0000 maple: Drop unused prototypes from linux/maple.h. This patch removes the now unneeded registration check variable from struct maple_device. (This patch assumes the include/linux/maple.h file has already been patched for whitespace errors by http://lkml.org/lkml/2008/2/6/327) Signed-off-by: Adrian McMenamin Signed-off-by: Paul Mundt commit b3c69e248176f7a123d519d63e7c0d68783d52c3 Author: Adrian McMenamin Date: Wed Feb 6 23:51:21 2008 +0000 maple: more robust device detection. Replacement second-in-series patch: This patch fixes up memory leaks and, by delaying initialisation, makes device detection more robust. It also makes clearer the difference between struct maple_device and struct device, as well as cleaning up the interrupt request code (without changing its function in any way). Also now removes redundant registration checking. Signed-off-by: Adrian McMenamin Signed-off-by: Paul Mundt commit b9482378916abb9a1e0a2334187cdc67f2deda2c Author: Adrian McMenamin Date: Wed Feb 6 22:46:21 2008 +0000 maple: fix up whitespace damage. This patch is fundamentally about fixing up the whitespace problems introduced by my previous patch (that brought the code into mainline). A second patch will follow that will fix memory leaks. The two need to be applied sequentially. Signed-off-by: Adrian McMenamin Signed-off-by: Paul Mundt commit 86c0179c9307bd600a96a44d623814c33bdbe0f0 Author: Magnus Damm Date: Thu Feb 7 00:02:50 2008 +0900 sh: break out unaligned sign extension code Break out the sign extension code since it's used in multiple places. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 1cfb629cfa4a8d9b65c0f60c65ec731bde82d60c Author: Magnus Damm Date: Wed Feb 6 23:57:57 2008 +0900 sh: add probe support for new sh7722 cut This patch adds support for sh7722 devices with prr value 0xa1. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 10a1debee11168c603e6d2e13f4c1da7c5bac64e Author: Magnus Damm Date: Wed Feb 6 23:54:23 2008 +0900 sh: add sh7722 support to EARLY_SCIF_CONSOLE This patch adds the base address of SCIF0 in the case of sh7722. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5c5a26fa9cd27ed4642f5a4ec76d9b487959e8dc Author: Alan Cox Date: Mon Feb 4 23:50:25 2008 -0800 sh: termios ioctl definitions These ports are holding up progress and now have been for months. Do the job for them. Signed-off-by: Alan Cox Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Paul Mundt commit 222dc791e1c3e8c0c0e2807c55999ad3d85e8760 Author: Stephen Rothwell Date: Sat Feb 2 23:03:47 2008 +1100 sh: remove unneeded cast now that platform_device_register_simple() takes a "const chat *". Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mundt commit 2a3eeba88f935b200245d1536b99cd4b7eec1d4a Author: Magnus Damm Date: Fri Jan 25 12:42:48 2008 +0900 sh: declared coherent memory support V2 fix This patch fixes the recently introduced declared coherent memory support. Without this fix a cached memory area is returned by dma_alloc_coherent() - unless dma_declare_coherent_memory() has setup a separate area. This patch makes sure an uncached memory area is returned. With this patch it is now possible to ping through an rtl8139 interface on r2d-plus. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit fe8e288a63f2f3c51c288500282d0eb5cd26a534 Author: Venkatesh Pallipadi Date: Thu Feb 14 00:16:13 2008 -0500 cpuidle: Add Documentation Documentation for cpuidle infrastructure. (resend) Signed-off-by: Venkatesh Pallipadi Reviewed-by: Randy Dunlap Signed-off-by: Len Brown commit 4fcb2fcd4d0678b8ae103d257dcb28074cbfc7fa Author: Venkatesh Pallipadi Date: Mon Feb 11 17:46:31 2008 -0800 ACPI, cpuidle: Clarify C-state description in sysfs Add a new sysfs entry under cpuidle states. desc - can be used by driver to communicate to userspace any specific information about the state. This helps in identifying the exact hardware C-states behind the ACPI C-state definition. Idea is to export this through powertop, which will help to map the C-state reported by powertop to actual hardware C-state. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit b077fbada161479d9a32a7730d2822d5e737b306 Author: Venkatesh Pallipadi Date: Mon Feb 11 15:20:27 2008 -0800 ACPI: fix suspend regression due to idle update Earlier patch (bc71bec91f9875ef825d12104acf3bf4ca215fa4) broke suspend resume on many laptops. The problem was reported by Carlos R. Mafra and Calvin Walton, who bisected the issue to above patch. The problem was because, C2 and C3 code were calling acpi_idle_enter_c1 directly, with C2 or C3 as state parameter, while suspend/resume was in progress. The patch bc71bec started making use of that state information, assuming that it would always be referring to C1 state. This caused the problem with suspend-resume as we ended up using C2/C3 state indirectly. Fix this by adding acpi_idle_suspend check in enter_c1. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit 8d042218b075de3cdbe066198515b3521553746e Author: Olga Kornievskaia Date: Wed Feb 13 16:47:06 2008 -0500 NFS: add missing spkm3 strings to mount option parser This patch adds previous missing spkm3 string values that are needed to parse mount options in the kernel. commit 25606656b19a38bbece914c4c67101f674908f49 Author: Jeff Layton Date: Tue Feb 12 06:49:01 2008 -0500 NFS: remove error field from nfs_readdir_descriptor_t The error field in nfs_readdir_descriptor_t is never used outside of the function in which it is set. Remove the field and change the place that does use it to use an existing local variable. Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit 497799e7c0ac7e82164a510ebf8beed7b3635e34 Author: Dan Muntz Date: Wed Feb 13 13:09:35 2008 -0800 NFS: missing spaces in KERN_WARNING The warning message for a v4 server returning various bad sequence-ids is missing spaces. Signed-off-by: Dan Muntz Signed-off-by: Trond Myklebust commit 4267c9561d9c3bb2abf45abed9c75a1c892d7d15 Author: Chuck Lever Date: Wed Feb 13 14:55:17 2008 -0500 NFS: Allow text-based mounts via compat_sys_mount The compat_sys_mount() system call throws EINVAL for text-based NFSv4 mounts. The text-based mount interface assumes that any mount option blob that doesn't set the version field to "1" is a C string (ie not a legacy mount request). The compat_sys_mount() call treats blobs that don't set the version field to "1" as an error. We just relax the check in compat_sys_mount() a bit to allow C strings to be passed down to the NFSv4 client. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 8e60029f403781b8a63b7ffdb7dc1faff6ca651e Author: Jeff Layton Date: Mon Feb 11 10:00:20 2008 -0500 NFS: fix reference counting for NFSv4 callback thread The reference counting for the NFSv4 callback thread stays artificially high. When this thread comes down, it doesn't properly tear down the svc_serv, causing a memory leak. In my testing on an older kernel on x86_64, memory would leak out of the 8k kmalloc slab. So, we're leaking at least a page of memory every time the thread comes down. svc_create() creates the svc_serv with a sv_nrthreads count of 1, and then svc_create_thread() increments that count. Whenever the callback thread is started it has a sv_nrthreads count of 2. When coming down, it calls svc_exit_thread() which decrements that count and if it hits 0, it tears everything down. That never happens here since the count is always at 2 when the thread exits. The problem is that nfs_callback_up() should be calling svc_destroy() on the svc_serv on both success and failure. This is how lockd_up_proto() handles the reference counting, and doing that here fixes the leak. Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit f51f5ec6909fad9ddfcaa962377f7892d7918302 Author: Adrian Bunk Date: Wed Feb 13 17:41:39 2008 -0800 [NETFILTER]: make secmark_tg_destroy() static This patch makes the needlessly global secmark_tg_destroy() static. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 324b57619bdd151abbab73a48707c17cfb0e9ba4 Author: Adrian Bunk Date: Wed Feb 13 17:40:25 2008 -0800 [INET]: Unexport inet_listen_wlock This patch removes the no longer used EXPORT_SYMBOL(inet_listen_wlock). Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 74da4d34e4a452c3f448fe659fa9f4ba1fbe507e Author: Adrian Bunk Date: Wed Feb 13 17:39:34 2008 -0800 [INET]: Unexport __inet_hash_connect This patch removes the unused EXPORT_SYMBOL_GPL(__inet_hash_connect). Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit b2e3e658b344c6bcfb8fb694100ab2f2b5b2edb0 Author: Mathieu Desnoyers Date: Wed Feb 13 15:03:39 2008 -0800 Linux Kernel Markers: create modpost file This adds some new magic in the MODPOST phase for CONFIG_MARKERS. Analogous to the Module.symvers file, the build will now write a Module.markers file when CONFIG_MARKERS=y is set. This file lists the name, defining module, and format string of each marker, separated by \t characters. This simple text file can be used by offline build procedures for instrumentation code, analogous to how System.map and Module.symvers can be useful to have for kernels other than the one you are running right now. The strings are made easy to extract by having the __trace_mark macro define the name and format together in a single array called __mstrtab_* in the __markers_strings section. This is straightforward and reliable as long as the marker structs are always defined by this macro. It is an unreasonable amount of hairy work to extract the string pointers from the __markers section structs, which entails handling a relocation type for every machine under the sun. Mathieu : - Ran through checkpatch.pl Signed-off-by: Roland McGrath Signed-off-by: Mathieu Desnoyers Cc: David Smith Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb40bd78b0f91b274879cf5db8facd1e04b6052e Author: Mathieu Desnoyers Date: Wed Feb 13 15:03:37 2008 -0800 Linux Kernel Markers: support multiple probes RCU style multiple probes support for the Linux Kernel Markers. Common case (one probe) is still fast and does not require dynamic allocation or a supplementary pointer dereference on the fast path. - Move preempt disable from the marker site to the callback. Since we now have an internal callback, move the preempt disable/enable to the callback instead of the marker site. Since the callback change is done asynchronously (passing from a handler that supports arguments to a handler that does not setup the arguments is no arguments are passed), we can safely update it even if it is outside the preempt disable section. - Move probe arm to probe connection. Now, a connected probe is automatically armed. Remove MARK_MAX_FORMAT_LEN, unused. This patch modifies the Linux Kernel Markers API : it removes the probe "arm/disarm" and changes the probe function prototype : it now expects a va_list * instead of a "...". If we want to have more than one probe connected to a marker at a given time (LTTng, or blktrace, ssytemtap) then we need this patch. Without it, connecting a second probe handler to a marker will fail. It allow us, for instance, to do interesting combinations : Do standard tracing with LTTng and, eventually, to compute statistics with SystemTAP, or to have a special trigger on an event that would call a systemtap script which would stop flight recorder tracing. Signed-off-by: Mathieu Desnoyers Cc: Christoph Hellwig Cc: Mike Mason Cc: Dipankar Sarma Cc: David Smith Cc: "Paul E. McKenney" Cc: "Frank Ch. Eigler" Cc: Steven Rostedt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9170d2f6e1dc4d79650fbf492d1cd45291c66504 Author: Paul Mundt Date: Wed Feb 13 15:03:36 2008 -0800 pcmcia: ipwireless depends on NETDEVICES ipwireless (added by 099dc4fb62653f6019d78db55fba7a18ef02d65b) is clearly a net device: drivers/built-in.o: In function `ipwireless_ppp_start_xmit': /home/pmundt/devel/git/sh-2.6.25/drivers/char/pcmcia/ipwireless/network.c:165: undefined reference to `skb_under_panic' /home/pmundt/devel/git/sh-2.6.25/drivers/char/pcmcia/ipwireless/network.c:165: undefined reference to `kfree_skb' drivers/built-in.o: In function `ipwireless_network_packet_received': /home/pmundt/devel/git/sh-2.6.25/drivers/char/pcmcia/ipwireless/network.c:377: undefined reference to `__alloc_skb' /home/pmundt/devel/git/sh-2.6.25/drivers/char/pcmcia/ipwireless/network.c:377: undefined reference to `skb_over_panic' drivers/built-in.o: In function `ppp_shutdown_interface': /home/pmundt/devel/git/sh-2.6.25/drivers/net/ppp_generic.c:2517: undefined reference to `unregister_netdev' /home/pmundt/devel/git/sh-2.6.25/drivers/net/ppp_generic.c:2517: undefined reference to `free_netdev' [ ... and many more ... ] select strikes again. ipwireless selects PPP which in turn tries to select SLHC, both of which are technically "protected" by an if NETDEVICES in drivers/net/Kconfig. This leads to .config hilarity, with net suddenly ending up in the SCSI menu: # # SCSI device support # # CONFIG_SCSI_DMA is not set # CONFIG_SCSI_NETLINK is not set CONFIG_PPP=y # CONFIG_PHONE is not set Curiously the SLHC select from PPP doesn't seem to happen, as there's no CONFIG_SLHC=y (only CONFIG_PPP=y gets set) -- Kconfig bug? Caught with a randconfig. Signed-off-by: Paul Mundt Acked-by: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e1d146a19f2941aec08f60ca67fb2763baad595 Author: Ahmed S. Darwish Date: Wed Feb 13 15:03:34 2008 -0800 Smack: check for 'struct socket' with NULL sk There's a small problem with smack and NFS. A similar report was also sent here: http://lkml.org/lkml/2007/10/27/85 I've also added similar checks in inode_{get/set}security(). Cheating from SELinux post_create_socket(), it does the same. [akpm@linux-foundation.org: remove uneeded BUG_ON()] Signed-off-by: Ahmed S. Darwish Acked-by: Casey Schaufler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cba44359d15ac7a3bca2c9199b7ff403d7edc69e Author: Marcin Slusarz Date: Wed Feb 13 15:03:33 2008 -0800 udf: fix udf_add_free_space In commit 742ba02a51c8d0bf5446b154531179760c1ed0a2 (udf: create common function for changing free space counter) by accident I reversed safety condition which lead to null pointer dereference in case of media error and wrong counting of free space in normal situation Signed-off-by: Marcin Slusarz Cc: Jan Kara Acked-by: Cyrill Gorcunov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e28d80f18211e5d49e450ba0f07b8fdca6dfb83b Author: Jan Kara Date: Wed Feb 13 15:03:33 2008 -0800 udf: fix directory offset handling Patch cleaning up UDF directory offset handling missed modifications in dir.c (because I've submitted an old version :(). Fix it. Signed-off-by: Jan Kara Reported-by: Marcin Slusarz Tested-by: Marcin Slusarz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac76cff2ecd73944473a437cd87770f812635025 Author: Michael Opdenacker Date: Wed Feb 13 15:03:32 2008 -0800 Documentation: sysctl/kernel.txt: fix documentation reference This patch fixes a reference to Documentation/kmod.txt which was apparently renamed to Documentation/debugging-modules.txt Signed-off-by: Michael Opdenacker Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed58f8027945f1cf415bfe3805e1fa3fe8ed9edf Author: Sergio Luis Date: Wed Feb 13 15:03:30 2008 -0800 fs/smbfs/inode.c: fix warning message deprecating smbfs Fix the warning message regarding smbfs to "smbfs is deprecated and will be removed from the 2.6.27 kernel. Please migrate to cifs" instead of "smbfs is deprecated and will be removedfrom the 2.6.27 kernel. Please migrate to cifs" Signed-off-by: Sergio Luis Screwed-up-by: Andrew Morton Cc: Steven French Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1a5955d90981c602ab77a8a181a0aa0f4f12cd9 Author: Randy Dunlap Date: Wed Feb 13 15:03:29 2008 -0800 docbook: drop z85230 library from kernel-api Drop z85230 support library info from kernel-api since it's duplicated in the Z85230 book. Signed-off-by: Randy Dunlap Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 413d57c9907c72ed608df2be72ef8ed13a3eeb46 Author: Marcin Slusarz Date: Wed Feb 13 15:03:29 2008 -0800 xfs: convert beX_add to beX_add_cpu (new common API) remove beX_add functions and replace all uses with beX_add_cpu Signed-off-by: Marcin Slusarz Cc: Mark Fasheh Reviewed-by: Dave Chinner Cc: Timothy Shimmin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91d35dd93e14c34539a8005183ea500f25caad02 Author: Ivan Kokshaysky Date: Wed Feb 13 15:03:26 2008 -0800 moduleparam: fix alpha, ia64 and ppc64 compile failures On alpha, ia64 and ppc64 only relocations to local data can go into read-only sections. The vast majority of module parameters use the global generic param_set_*/param_get_* functions, so the 'const' attribute for struct kernel_param is not only useless, but it also causes compile failures due to 'section type conflict' in those rare cases where param_set/get are local functions. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=8964 Signed-off-by: Ivan Kokshaysky Cc: Richard Henderson Cc: "Luck, Tony" Cc: Anton Blanchard Cc: Paul Mackerras Cc: Adrian Bunk Cc: Kamalesh Babulal Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc2cda1ebd4430f55deb60f0193a3e3b835499a2 Author: Randy Dunlap Date: Wed Feb 13 15:03:25 2008 -0800 docbook: make a networking book and fix a few errors Move networking (core and drivers) docbook to its own networking book. Fix a few kernel-doc errors in header and source files. Signed-off-by: Randy Dunlap Cc: Trond Myklebust Cc: "J. Bruce Fields" Cc: Neil Brown Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65b6e42cdc5b6a1ce2ada31cc294d7e60b22bb43 Author: Randy Dunlap Date: Wed Feb 13 15:03:23 2008 -0800 docbook: sunrpc filenames and notation fixes Use updated file list for docbook files and fix kernel-doc warnings in sunrpc: Warning(linux-2.6.24-git12//net/sunrpc/rpc_pipe.c:689): No description found for parameter 'rpc_client' Warning(linux-2.6.24-git12//net/sunrpc/rpc_pipe.c:765): No description found for parameter 'flags' Warning(linux-2.6.24-git12//net/sunrpc/clnt.c:584): No description found for parameter 'tk_ops' Warning(linux-2.6.24-git12//net/sunrpc/clnt.c:618): No description found for parameter 'bufsize' Signed-off-by: Randy Dunlap Cc: Trond Myklebust Cc: "J. Bruce Fields" Cc: Neil Brown Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 073b86dacc3c0fa79c71f3519169ea18d5521227 Author: Randy Dunlap Date: Wed Feb 13 15:03:23 2008 -0800 docbook: move pipe and splice to filesystems docbook Move pipes and splice docbook to filesystems book. kernel-api book is huge (10x most other books) & slow to process. Signed-off-by: Randy Dunlap Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b51d63c6d3078f47c26bcf7584b5c3ebea2defd0 Author: Randy Dunlap Date: Wed Feb 13 15:03:22 2008 -0800 kernel-doc: fix fs/pipe.c notation Fix several kernel-doc notation errors in fs/pipe.c. Signed-off-by: Randy Dunlap Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55265b00ad423898bb743bce515f073c3f290bdb Author: David Brownell Date: Wed Feb 13 15:03:21 2008 -0800 parport: section fixup Fix section warning for parport_ECP_supported(); it's called from a routine exported to modules, so it can't be removed with __devinit section pruning. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df24d9a6a9014010513d6af1105f4de05c504a4b Author: J. Bruce Fields Date: Wed Feb 13 15:03:20 2008 -0800 Documentation: prune redundant SubmitChecklist items Kernel style is mentioned twice, and the git apply trick is a bit redundant given the checkpatch.pl recommendation (which also checks for bad whitespace). Signed-off-by: J. Bruce Fields Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 064d9efe947542097be669581f82d6b097e81d1a Author: Nishanth Aravamudan Date: Wed Feb 13 15:03:19 2008 -0800 hugetlb: fix overcommit locking proc_doulongvec_minmax() calls copy_to_user()/copy_from_user(), so we can't hold hugetlb_lock over the call. Use a dummy variable to store the sysctl result, like in hugetlb_sysctl_handler(), then grab the lock to update nr_overcommit_huge_pages. Signed-off-by: Nishanth Aravamudan Reported-by: Miles Lane Cc: Adam Litke Cc: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2695a14d315c014474ccadbaed40b0169b00cb5b Author: Thomas Bogendoerfer Date: Wed Feb 13 15:03:17 2008 -0800 SC26XX: missing PORT define in serial_core.h When submitting the driver for inclusion to 2.6.25 I've missed the change to serial_core.h. This patch fixes this. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21534301ea1801783bd88fba2a2e617ee4d2bd28 Author: Harvey Harrison Date: Wed Feb 13 15:03:17 2008 -0800 Final removal of FASTCALL()/fastcall All users are gone, remove definitions and comments referring to them. Signed-off-by: Harvey Harrison Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5606c2d4447e80b1d72406af4e78af1eda611d4 Author: Harvey Harrison Date: Wed Feb 13 15:03:16 2008 -0800 remove final fastcall users fastcall always expands to empty, remove it. Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fbf6bfca76d50abef478ba902b8597ecbadfd390 Author: Paul E. McKenney Date: Wed Feb 13 15:03:15 2008 -0800 rcupdate: fix comment This comment caused some consternation during fastcall removal. Make it truthful. Signed-off-by: Paul E. McKenney Cc: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3c97528689619fc66569b30bf83d09d9929521a Author: Harvey Harrison Date: Wed Feb 13 15:03:15 2008 -0800 include/linux: Remove all users of FASTCALL() macro FASTCALL() is always expanded to empty, remove it. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa02cd2d9bd1e24a230bd66a0a741b984d03915a Author: Peter Zijlstra Date: Wed Feb 13 21:33:16 2008 +0100 xtime_lock vs update_process_times Commit d3d74453c34f8fd87674a8cf5b8a327c68f22e99 ("hrtimer: fixup the HRTIMER_CB_IRQSAFE_NO_SOFTIRQ fallback") broke several archs, and since only Russell bothered to merge the fix, and Greg to ACK his arch, I'm sending this for merger. I have confirmation that the Alpha bit results in a booting kernel. That leaves: blackfin, frv, sh and sparc untested. The deadlock in question was found by Russell: IRQ handle -> timer_tick() - xtime seqlock held for write -> update_process_times() -> run_local_timers() -> hrtimer_run_queues() -> hrtimer_get_softirq_time() - tries to get a read lock Now, Thomas assures me the fix is trivial, only do_timer() needs to be done under the xtime_lock, and update_process_times() can savely be removed from under it. Signed-off-by: Peter Zijlstra Acked-by: Greg Ungerer CC: Richard Henderson CC: Bryan Wu CC: David Howells CC: Paul Mundt CC: William Irwin Acked-by: Ingo Molnar Acked-by: Ivan Kokshaysky Signed-off-by: Linus Torvalds commit 10270d4838bdc493781f5a1cf2e90e9c34c9142f Author: Linus Torvalds Date: Wed Feb 13 09:56:14 2008 -0800 acpi: fix acpi_os_read_pci_configuration() misuse of raw_pci_read() The raw_pci_read() interface (as the raw_pci_ops->read() before it) unconditionally fills in a 32-bit integer return value regardless of the size of the operation requested. So claiming to take a "void *" is wrong, as is passing in a pointer to just a byte variable. Noticed by pageexec when enabling -fstack-protector (which needs other patches too to actually work, but that's a separate issue). Acked-by: Len Brown Signed-off-by: Linus Torvalds commit d897d2b597167586fcf1fb197ad5a1c23332c3e8 Author: David Howells Date: Wed Feb 13 16:10:08 2008 +0000 FRV: Fix up parse error in linker script Fix up parse error in FRV linker script, presumably introduced through changes to the INIT_TEXT and EXIT_TEXT macros. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 282ea441e003f2886893ab7bb60bfe29399ef7be Author: Al Viro Date: Wed Feb 13 03:56:59 2008 +0000 drivers/memstick/host/tifm_ms.c breakage writel(sock + ...) that should've been writel(sock->addr + ...) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 39ed7adb17bdec8224bd3fae551bb7222e05f35b Author: Al Viro Date: Wed Feb 13 03:53:00 2008 +0000 dm-raid1 breakage on 64bit test_and_set_bit() on address of uint32_t is a Bad Idea(tm)... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 5906a0448208024d140e1ee0e65f9168a405fb94 Author: Tobias Mueller Date: Wed Feb 13 17:08:04 2008 +0100 HID: add USB IDs for MacBook 3rd generation Add support for Macbook 3rd generation special mappings. Signed-off-by: Tobias Mueller Signed-off-by: Jiri Kosina commit 5163dc1a645bc9ed7984fa484f1a77378c166d23 Author: Marcin Slusarz Date: Wed Feb 13 00:06:08 2008 +0100 IB/mthca: Convert to use be16_add_cpu() replace: big_endian_variable = cpu_to_beX(beX_to_cpu(big_endian_variable) + expression_in_cpu_byteorder); with: beX_add_cpu(&big_endian_variable, expression_in_cpu_byteorder); Generated with a semantic patch. Signed-off-by: Marcin Slusarz Cc: Sean Hefty Cc: Hal Rosenstock Signed-off-by: Roland Dreier commit 8704e9a8790cc9e394198663c1c9150c899fb9a2 Author: Steve Wise Date: Tue Feb 12 16:09:29 2008 -0600 RDMA/cxgb3: Fail loopback connections The cxgb3 HW and driver don't support loopback RDMA connections. So fail any connection attempt where the destination address is local. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit e6bafba5b4765a5a252f1b8d31cbf6d2459da337 Author: Al Viro Date: Wed Feb 13 04:03:25 2008 +0000 wmi: (!x & y) strikes again Signed-off-by: Al Viro Acked-by: Carlos Corbacho Signed-off-by: Linus Torvalds commit 99109301d103fbf0de43fc5a580a406c12a501e0 Author: Sergio Luis Date: Tue Feb 12 20:48:03 2008 -0300 [SCSI] gdth: update deprecated pci_find_device Fix compilation warning in gdth.c, which was using the deprecated pci_find_device. drivers/scsi/gdth.c:645: warning: 'pci_find_device' is deprecated (declared at include/linux/pci.h:495) Changing it to use pci_get_device, instead. Signed-off-by: Sergio Luis Signed-off-by: James Bottomley commit 61c92814dc324b541391757062ff02fbf3b08086 Author: Boaz Harrosh Date: Tue Feb 12 19:35:22 2008 +0200 [SCSI] gdth: scan for scsi devices The patch: "gdth: switch to modern scsi host registration" missed one simple fact when moving a way from scsi_module.c. That is to call scsi_scan_host() on the probed host. With this the gdth driver from 2.6.24 is again able to see drives and boot. Signed-off-by: Boaz Harrosh Tested-by: Joerg Dorchain Tested-by: Stefan Priebe Tested-by: Jon Chelton Cc: Stable Tree Signed-off-by: James Bottomley commit c2a9cc7e86cf535a4fa14aebf5c3bc3349d09603 Author: Harvey Harrison Date: Tue Feb 12 12:10:27 2008 -0800 x86: pit_clockevent can be static arch/x86/kernel/i8253.c:98:27: warning: symbol 'pit_clockevent' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4de0d4a6d173351b023ab2855c3d331146a418e5 Author: Huang, Ying Date: Wed Feb 13 17:22:41 2008 +0800 x86: EFI runtime code mapping enhancement This patch enhances EFI runtime code memory mapping as following: - Move __supported_pte_mask & _PAGE_NX checking before invoking runtime_code_page_mkexec(). This makes it possible for compiler to eliminate runtime_code_page_mkexec() on machine without NX support. - Use set_memory_x/nx in early_mapping_set_exec(). This eliminates the duplicated implementation. This patch has been tested on Intel x86_64 platform with EFI64/32 firmware. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar commit e85f20518bb928667508c22090c85d458e25a4f7 Author: Thomas Gleixner Date: Tue Feb 12 19:46:48 2008 +0100 x86: EFI: fix use of unitialized variable and the cache logic Andi Kleen pointed out that the cache attribute logic is reverse in efi_enter_virtual_mode(). This problem alone is harmless as we do not (yet) do cache attribute conflict resolution. (This bug was not present in the original EFI submission - I introduced it while fixing up rejects.) While reviewing this code I noticed a second, worse problem: the use of uninitialized md->virt_addr. Fix both problems. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5d3c8b21e22712137db6bbd246d1bdcbe0a09914 Author: Andi Kleen Date: Wed Feb 13 16:20:35 2008 +0100 x86: CPA: fix gbpages support in try_preserve_large_page [ mingo@elte.hu: while gbpages cannot be enabled on mainline currently, keep the code uptodate and this fix is easy enough. ] Use correct page sizes and masks for GB pages in try_preserve_large_page() This prevents a boot hang on a GB capable system with CONFIG_DIRECT_GBPAGES enabled. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2b5407811db755257ae53c75cc6b312ed5d2ad9e Author: Jeremy Fitzhardinge Date: Wed Feb 13 16:20:35 2008 +0100 xen: unpin initial Xen pagetable once we're finished with it Unpin the Xen-provided pagetable once we've finished with it, so it doesn't cause stray references which cause later swapper_pg_dir pagetable updates to fail. Signed-off-by: Jeremy Fitzhardinge Tested-by: Jody Belka Signed-off-by: Ingo Molnar commit 37cc8d7f963ba2deec29c9b68716944516a3244f Author: Jeremy Fitzhardinge Date: Wed Feb 13 16:20:35 2008 +0100 x86/early_ioremap: don't assume we're using swapper_pg_dir At the early stages of boot, before the kernel pagetable has been fully initialized, a Xen kernel will still be running off the Xen-provided pagetables rather than swapper_pg_dir[]. Therefore, readback cr3 to determine the base of the pagetable rather than assuming swapper_pg_dir[]. Signed-off-by: Jeremy Fitzhardinge Tested-by: Jody Belka Signed-off-by: Ingo Molnar commit 416e2d63794d4e57774989429e174507801915f2 Author: Jody Belka Date: Tue Feb 12 23:37:48 2008 +0000 x86: fixup machine_ops reboot_{32|64}.c unification fallout When reboot_32.c and reboot_64.c were unified (commit 4d022e35fd...), the machine_ops code was broken, leading to xen pvops kernels failing to properly halt/poweroff/reboot etc. This fixes that up. Signed-off-by: Jody Belka Cc: Miguel Boton Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1cdde19109901e8f1194e227d0bcd48caf713323 Author: Ingo Molnar Date: Wed Feb 13 16:20:35 2008 +0100 x86: fix sigcontext.h user export Jakub Jelinek reported that some user-space code that relies on kernel headers has built dependency on the sigcontext->eip/rip register names - which have been unified in commit: commit 742fa54a62be6a263df14a553bf832724471dfbe Author: H. Peter Anvin Date: Wed Jan 30 13:30:56 2008 +0100 x86: use generic register names in struct sigcontext so give the old layout to user-space. This is not particularly pretty, but it's an ABI so there's no danger of the two definitions getting out of sync. Reported-by: Jakub Jelinek Signed-off-by: Ingo Molnar commit b68aa2300cabeb96801369a4bb37a4f19f59ed84 Author: Peter Zijlstra Date: Wed Feb 13 15:45:40 2008 +0100 sched: rt-group: refure unrunnable tasks Refuse to accept or create RT tasks in groups that can't run them. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit bccbe08a60973c873e6af6fdb9ec11ffb1a6e4de Author: Peter Zijlstra Date: Wed Feb 13 15:45:40 2008 +0100 sched: rt-group: clean up the ifdeffery Clean up some of the excessive ifdeffery introduces in the last patch. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 052f1dc7eb02300b05170ae341ccd03b76207778 Author: Peter Zijlstra Date: Wed Feb 13 15:45:40 2008 +0100 sched: rt-group: make rt groups scheduling configurable Make the rt group scheduler compile time configurable. Keep it experimental for now. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 9f0c1e560c43327b70998e6c702b2f01321130d9 Author: Peter Zijlstra Date: Wed Feb 13 15:45:39 2008 +0100 sched: rt-group: interface Change the rt_ratio interface to rt_runtime_us, to match rt_period_us. This avoids picking a granularity for the ratio. Extend the /sys/kernel/uids// interface to allow setting the group's rt_runtime. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 23b0fdfc9299b137bd126e9dc22f62a59dae546d Author: Peter Zijlstra Date: Wed Feb 13 15:45:39 2008 +0100 sched: rt-group: deal with PI Steven mentioned the fun case where a lock holding task will be throttled. Simple fix: allow groups that have boosted tasks to run anyway. If a runnable task in a throttled group gets boosted the dequeue/enqueue done by rt_mutex_setprio() is enough to unthrottle the group. This is ofcourse not quite correct. Two possible ways forward are: - second prio array for boosted tasks - boost to a prio ceiling (this would also work for deadline scheduling) Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 4cf5d77a6eefaa7a464bc34e8cb767356f10fd74 Author: Peter Zijlstra Date: Wed Feb 13 15:45:39 2008 +0100 sched: fix incorrect irq lock usage in normalize_rt_tasks() lockdep spotted this bogus irq locking. normalize_rt_tasks() can be called from hardirq context through sysrq-n Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 8ed3699682be75fd68281239c202ad3830f9c72d Author: Peter Zijlstra Date: Wed Feb 13 15:45:39 2008 +0100 sched: fair-group: separate tg->shares from task_group_lock On Mon, 2008-02-11 at 15:09 +0300, Denis V. Lunev wrote: > BUG: sleeping function called from invalid context > at /home/den/src/linux-netns26/kernel/mutex.c:209 > in_atomic():1, irqs_disabled():0 > no locks held by swapper/0. > Pid: 0, comm: swapper Not tainted 2.6.24 #304 > > Call Trace: > [] ? __debug_show_held_locks+0x15/0x27 > [] __might_sleep+0xc0/0xdf > [] mutex_lock_nested+0x28/0x2a9 > [] sched_destroy_group+0x18/0xea > [] sched_destroy_user+0xd/0xf > [] free_uid+0x8a/0xab > [] __put_task_struct+0x3f/0xd3 > [] delayed_put_task_struct+0x23/0x25 > [] __rcu_process_callbacks+0x8d/0x215 > [] rcu_process_callbacks+0x23/0x44 > [] __do_softirq+0x79/0xf8 > [] ? profile_pc+0x2a/0x67 > [] call_softirq+0x1c/0x30 > [] do_softirq+0x61/0x9c > [] irq_exit+0x51/0x53 > [] smp_apic_timer_interrupt+0x77/0xad > [] apic_timer_interrupt+0x6b/0x70 > [] ? default_idle+0x43/0x76 > [] ? default_idle+0x41/0x76 > [] ? default_idle+0x0/0x76 > [] ? cpu_idle+0x76/0x98 separate the tg->shares protection from the task_group lock. Reported-by: Denis V. Lunev Tested-by: Denis V. Lunev Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 720a2592cf1b9af86f30c44e8d89348826c03372 Author: Peter Zijlstra Date: Wed Feb 13 15:45:36 2008 +0100 hrtimer: more hrtimer_init_sleeper() fallout. Missed an instance... futex_lock_pi() hrtimer_init_sleeper() rt_mutex_timed_lock() rt_mutex_timed_fastlock() rt_mutex_slowlock() hrtimer_start() Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit d5bd0146f0d61f7dc9904a7cc6d5cb9832034de4 Author: Neil Turton Date: Tue Feb 12 23:13:48 2008 -0800 [NET]: Improve cache line coherency of ingress qdisc Move the ingress qdisc members of struct net_device from the transmit cache line to the receive cache line to avoid cache line ping-pong. These members are only used on the receive path. Signed-off-by: Neil Turton Signed-off-by: David S. Miller commit d8b2a4d21e0b37b9669b202867bfef19f68f786a Author: Matti Linnanvuori Date: Tue Feb 12 23:10:11 2008 -0800 [NET]: Fix race in dev_close(). (Bug 9750) There is a race in Linux kernel file net/core/dev.c, function dev_close. The function calls function dev_deactivate, which calls function dev_watchdog_down that deletes the watchdog timer. However, after that, a driver can call netif_carrier_ok, which calls function __netdev_watchdog_up that can add the watchdog timer again. Function unregister_netdevice calls function dev_shutdown that traps the bug !timer_pending(&dev->watchdog_timer). Moving dev_deactivate after netif_running() has been cleared prevents function netif_carrier_on from calling __netdev_watchdog_up and adding the watchdog timer again. Signed-off-by: Matti Linnanvuori Signed-off-by: David S. Miller commit b318e0e4ef4e85812c25afa19f75addccc834cd4 Author: Herbert Xu Date: Tue Feb 12 22:50:35 2008 -0800 [IPSEC]: Fix bogus usage of u64 on input sequence number Al Viro spotted a bogus use of u64 on the input sequence number which is big-endian. This patch fixes it by giving the input sequence number its own member in the xfrm_skb_cb structure. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 45b503548210fe6f23e92b856421c2a3f05fd034 Author: Laszlo Attila Toth Date: Tue Feb 12 22:42:09 2008 -0800 [RTNETLINK]: Send a single notification on device state changes. In do_setlink() a single notification is sent at the end of the function if any modification occured. If the address has been changed, another notification is sent. Both of them is required because originally only the NETDEV_CHANGEADDR notification was sent and although device state change implies address change, some programs may expect the original notification. It remains for compatibity. If set_operstate() is called from do_setlink(), it doesn't send a notification, only if it is called from rtnl_create_link() as earlier. Signed-off-by: Laszlo Attila Toth Signed-off-by: David S. Miller commit 370125f0a48a2584a2506fd567d690df6d87cf2c Author: Pavel Emelyanov Date: Tue Feb 12 22:38:06 2008 -0800 [NETLABLE]: Hide netlbl_unlabel_audit_addr6 under ifdef CONFIG_IPV6. This one is called from under this config only, so move it in the same place. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 56628b1d8964eb7ac924154d60b5d874bfb2b1e8 Author: Pavel Emelyanov Date: Tue Feb 12 22:37:19 2008 -0800 [NETLABEL]: Don't produce unused variables when IPv6 is off. Some code declares variables on the stack, but uses them under #ifdef CONFIG_IPV6, so thay become unused when ipv6 is off. Fortunately, they are used in a switch's case branches, so the fix is rather simple. Is it OK from coding style POV to add braces inside "cases", or should I better avoid such style and rework the patch? Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 94de7feb2dee6d0039ecbe98ae8b63bbb63808b6 Author: Pavel Emelyanov Date: Tue Feb 12 22:35:37 2008 -0800 [NETLABEL]: Compilation for CONFIG_AUDIT=n case. The audit_log_start() will expand into an empty do { } while (0) construction and the audit_ctx becomes unused. The solution: push current->audit_context into audit_log_start() directly, since it is not required in any other place in the calling function. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 910d6c320cac65c81d66e8fd30dca167092722eb Author: Pavel Emelyanov Date: Tue Feb 12 22:16:33 2008 -0800 [GENETLINK]: Relax dances with genl_lock. The genl_unregister_family() calls the genl_unregister_mc_groups(), which takes and releases the genl_lock and then locks and releases this lock itself. Relax this behavior, all the more so the genl_unregister_mc_groups() is called from genl_unregister_family() only. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 4c3a0a254e5d706d3fe01bf42261534858d05586 Author: Pavel Emelyanov Date: Tue Feb 12 22:15:14 2008 -0800 [NETLABEL]: Fix lookup logic of netlbl_domhsh_search_def. Currently, if the call to netlbl_domhsh_search succeeds the return result will still be NULL. Fix that, by returning the found entry (if any). Signed-off-by: Pavel Emelyanov Acked-by: Paul Moore Signed-off-by: David S. Miller commit 0f8f27c39553dd3aedcaf5c39adefe3efef28b6b Author: Rami Rosen Date: Tue Feb 12 22:06:53 2008 -0800 [IPV6]: remove unused method declaration (net/ndisc.h). This patch removes unused declaration of dflt_rt_lookup() method in include/net/ndisc.h Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit fee54fa517bef1de2c10a1a3e918228cc59dce90 Author: Urs Thuermann Date: Tue Feb 12 22:03:25 2008 -0800 [NET]: Fix comment for skb_pull_rcsum Fix comment for skb_pull_rcsum Signed-off-by: Urs Thuermann Signed-off-by: David S. Miller commit 28a89453b1e8de8d777ad96fa1eef27b5d1ce074 Author: Herbert Xu Date: Tue Feb 12 18:07:27 2008 -0800 [IPV6]: Fix IPsec datagram fragmentation This is a long-standing bug in the IPsec IPv6 code that breaks when we emit a IPsec tunnel-mode datagram packet. The problem is that the code the emits the packet assumes the IPv6 stack will fragment it later, but the IPv6 stack assumes that whoever is emitting the packet is going to pre-fragment the packet. In the long term we need to fix both sides, e.g., to get the datagram code to pre-fragment as well as to get the IPv6 stack to fragment locally generated tunnel-mode packet. For now this patch does the second part which should make it work for the IPsec host case. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 69cc64d8d92bf852f933e90c888dfff083bd4fc9 Author: David S. Miller Date: Mon Feb 11 21:45:44 2008 -0800 [NDISC]: Fix race in generic address resolution Frank Blaschka provided the bug report and the initial suggested fix for this bug. He also validated this version of this fix. The problem is that the access to neigh->arp_queue is inconsistent, we grab references when dropping the lock lock to call neigh->ops->solicit() but this does not prevent other threads of control from trying to send out that packet at the same time causing corruptions because both code paths believe they have exclusive access to the skb. The best option seems to be to hold the write lock on neigh->lock during the ->solicit() call. I looked at all of the ndisc_ops implementations and this seems workable. The only case that needs special care is the IPV4 ARP implementation of arp_solicit(). It wants to take neigh->lock as a reader to protect the header entry in neigh->ha during the emission of the soliciation. We can simply remove the read lock calls to take care of that since holding the lock as a writer at the caller providers a superset of the protection afforded by the existing read locking. The rest of the ->solicit() implementations don't care whether the neigh is locked or not. Signed-off-by: David S. Miller commit 3611f4d2a5e0f6135805f88bc5ecb63fa9ee5107 Author: David Newall Date: Mon Feb 11 21:41:30 2008 -0800 hci_ldisc: fix null pointer deref Arjan: With the help of kerneloops.org I've spotted a nice little interaction between the TTY layer and the bluetooth code, however the tty layer is not something I'm all too familiar with so I rather ask than brute-force fix the code incorrectly. The raw details are at: http://www.kerneloops.org/search.php?search=uart_flush_buffer What happens is that, on closing the bluetooth tty, the tty layer goes into the release_dev() function, which first does a bunch of stuff, then sets the file->private_data to NULL, does some more stuff and then calls the ldisc close function. Which in this case, is hci_uart_tty_close(). Now, hci_uart_tty_close() calls hci_uart_close() which clears some internal bit, and then calls hci_uart_flush()... which calls back to the tty layers' uart_flush_buffer() function. (in drivers/bluetooth/hci_tty.c around line 194) Which then WARN_ON()'s because that's not allowed/supposed to be called this late in the shutdown of the port.... Should the bluetooth driver even call this flush function at all?? David: This seems to be what happens: Hci_uart_close() flushes using hci_uart_flush(). Subsequently, in hci_dev_do_close(), (one step in hci_unregister_dev()), hci_uart_flush() is called again. The comment in uart_flush_buffer(), relating to the WARN_ON(), indicates you can't flush after the port is closed; which sounds reasonable. I think hci_uart_close() should set hdev->flush to NULL before returning. Hci_dev_do_close() does check for this. The code path is rather involved and I'm not entirely clear of all steps, but I think that's what should be done. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit e848b583e03306f5f9b3a66a793c37e3649e04ca Author: Jarek Poplawski Date: Mon Feb 11 21:38:32 2008 -0800 [AX25] ax25_ds_timer: use mod_timer instead of add_timer This patch changes current use of: init_timer(), add_timer() and del_timer() to setup_timer() with mod_timer(), which should be safer anyway. Reported-by: Jann Traschewski Sign