ChangeSet@1.1832, 2004-06-21 20:26:23-07:00, viro@www.linux.org.uk [PATCH] sparse: the rest of ieee1394 annotation ChangeSet@1.1831, 2004-06-21 20:26:12-07:00, viro@www.linux.org.uk [PATCH] sparse: hd.c annotation ChangeSet@1.1830, 2004-06-21 20:26:01-07:00, viro@www.linux.org.uk [PATCH] sparse: quota annotation ChangeSet@1.1829, 2004-06-21 20:25:50-07:00, viro@www.linux.org.uk [PATCH] sparse: sock_fprog sanitized sock_fprog instances that had kernel pointer in ->filter (both of them - in ppp_generic and isdn_ppp) replaced with explicit pairs len + kernel pointer. Copying of userland sock_fprog (with its __user ->filter) cleaned up and sanitized. Trivial annotation done in the rest of ->ioctl() in ppp_generic and isdn_ppp. ChangeSet@1.1828, 2004-06-21 20:25:39-07:00, viro@www.linux.org.uk [PATCH] sparse: raw1394 annotation ChangeSet@1.1827, 2004-06-21 20:25:28-07:00, viro@www.linux.org.uk [PATCH] sparse: drivers/net/wan annotation ChangeSet@1.1826, 2004-06-21 20:25:16-07:00, viro@www.linux.org.uk [PATCH] sparse: efivars.c initializer fix ChangeSet@1.1825, 2004-06-21 20:25:05-07:00, viro@www.linux.org.uk [PATCH] sparse: zlib stray extern removal ChangeSet@1.1824, 2004-06-21 20:24:54-07:00, viro@www.linux.org.uk [PATCH] sparse: ncpfs/ioctl.c annotation ChangeSet@1.1823, 2004-06-21 20:24:44-07:00, viro@www.linux.org.uk [PATCH] ibmtr missing include ChangeSet@1.1822, 2004-06-21 19:56:37-07:00, torvalds@ppc970.osdl.org Merge bk://linux-acpi.bkbits.net/linux-acpi-release-2.6.7 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1731.1.2, 2004-06-21 20:59:09-04:00, len.brown@intel.com Merge intel.com:/home/lenb/src/linux-acpi-test-2.6.7 into intel.com:/home/lenb/bk/linux-acpi-test-2.6.7 ChangeSet@1.1728.2.4, 2004-06-21 20:53:04-04:00, len.brown@intel.com [ACPI] re-factor previous mpparse IRQ override fix (Linus Torvalds) Reflect that only the dstirq depends on the dstapic. ChangeSet@1.1731.1.1, 2004-06-21 15:22:34-04:00, len.brown@intel.com Merge intel.com:/home/lenb/src/linux-acpi-test-2.6.7 into intel.com:/home/lenb/bk/linux-acpi-test-2.6.7 ChangeSet@1.1728.2.3, 2004-06-21 15:20:51-04:00, len.brown@intel.com [ACPI] fix double timer interrupt mapping (Hans-Frieder Vogt) caused by errant fix for OSDL 2835 ChangeSet@1.1821, 2004-06-20 23:44:05-07:00, axboe@suse.de [PATCH] only clear ->last_merge when appropriate Make sure we only clear q->last_merge hint, if it matches the request currently passed in. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds ChangeSet@1.1820, 2004-06-20 20:46:32-07:00, sam@ravnborg.org [PATCH] kbuild: add deb-pkg target To prepare kbuild for more kernel packaging formats move all packaging support to scripts/package. In top-level Makefile introduce generic support for all package formats using target names *-pkg. Included the old rpm target for backward compatibility. A new variable KBUILD_IMAGE is used to specify what kernel image will be part of the final package, and is to be set by the arch specific makefile. KBUILD_IMAGE may be overridden from command line or environment. KBUILD_IMAGE will see wider usage later, mainly when installing kernel images. Introducing KBUILD_IMAGE allowed arch specific details to be deleted from the mkspec and builddeb scripts. While in the process added the deb packet format. Script is From: Wichert Akkerman To create a RPM packet use 'make rpm-pkg'. To create a deb packet use 'make deb-pkg'. Both targets are included in 'make help' Signed-off-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1819, 2004-06-20 20:46:14-07:00, sam@ravnborg.org [PATCH] Avoid rebuild of IKCFG when using O= When using a separate output directory the in-kernel config wiere rebuild each time the kernel was compiled. Fix this by specifying correct path to Makefile in the prerequisite to the ikconfig.h file. Signed-off-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1818, 2004-06-20 20:46:03-07:00, sam@ravnborg.org [PATCH] wanxl firware build fix allmodconfig and allyesconfig are currently failing because they select wanxl firmware rebuild, and that requires an m68k assembler toolchain. Add a new generic option to the "Generic Driver Options" menu. The option is defaul equals y and prevents us from building firmware unless really needed. Firmware is usually provided in separate filer '_shipped', and there is no need to rebuild them unless strictly required. First user is WanXL - which otherwise required a m68k tool-set to compile. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1817, 2004-06-20 20:45:52-07:00, geert@linux-m68k.org [PATCH] Fix idr.h comment Fix path in header file. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1816, 2004-06-20 20:45:41-07:00, juhl-lkml@dif.dk [PATCH] Fix warning in tdfxfb.c drivers/video/tdfxfb.c:1104: warning: initialization discards qualifiers from pointer target type Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1815, 2004-06-20 20:45:30-07:00, nickpiggin@yahoo.com.au [PATCH] lindent rwsem Lindent rwsem.c and rwsem-spinlock.c and fix a few things by hand. Also added a couple of comments for the memory barriers. Added the __sched annotation that was left out of rwsem-spinlock.c. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1814, 2004-06-20 20:45:19-07:00, akpm@osdl.org [PATCH] jfs warning fix On ppc64, s64 is `long'. In file included from fs/jfs/jfs_xtree.h:25, from fs/jfs/jfs_incore.h:26, from fs/jfs/super.c:29: fs/jfs/jfs_btree.h: In function `BT_STACK_DUMP': fs/jfs/jfs_btree.h:151: warning: long long unsigned int format, s64 arg (arg 2) Cc: Dave Kleikamp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1813, 2004-06-20 20:45:08-07:00, ralf@linux-mips.org [PATCH] Add M48T35 RTC driver Add M48T35 RTC driver for the SGI IP27 aka Origin 200, Origin 2000 and Onyx 2. Signed-off-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1812, 2004-06-20 20:44:57-07:00, ralf@linux-mips.org [PATCH] Cobalt LCD Driver update Mostly reformatting to get the sometimes random formatting style of the LCD driver to something Linux compliant. Use module_init/exit for module initialization and cleanup. Signed-off-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1811, 2004-06-20 20:44:45-07:00, ralf@linux-mips.org [PATCH] DS1286 cleanups Remove #ifdef'ed hooks for the DS1286 driver through the kernel. While cleaning make it work as a module also and add back the core of the driver got lost when drivers/sgi/ was shredded. Signed-off-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1810, 2004-06-20 20:44:34-07:00, ralf@linux-mips.org [PATCH] mips: remove old junk Remove old, unused initialization stuff. Signed-off-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1809, 2004-06-20 20:44:23-07:00, bjoern@j3e.de [PATCH] NLS support for ASCII I created an ASCII NSL module manually based on the ISO-8859-1 NLS module. This might be of use for people who do not want any charset conversion to take place. fs modules like vfat for example then could be forced to display any non-ASCII character in the uni_xlate escaped form. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1808, 2004-06-20 20:44:11-07:00, emoenke@gwdg.de [PATCH] CREDITS update Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1807, 2004-06-20 20:44:00-07:00, akpm@osdl.org [PATCH] move as documentation Move the anticipatory scheduler documentation into Documentation/block. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1806, 2004-06-20 18:58:22-07:00, axboe@suse.de [PATCH] deadline I/O scheduler documentation Document the deadline scheduler and its tunables. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1805, 2004-06-20 18:58:10-07:00, juhl-lkml@dif.dk [PATCH] isp16 check_region() removal Convert check_region to request_region and clean up some parentheses in return statements for drivers/cdrom/isp16.c. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1804, 2004-06-20 18:57:59-07:00, ak@suse.de [PATCH] NUMA API updates This patch three issues in NUMA API - When 1 was passed to set_mempolicy or mbind as maxnodes argument get_nodes could corrupt the stack and cause a crash. Fix that. - Remove the restriction to do interleaving only for order 0. Together with the patch that went in previously to use interleaving policy at boot time this should give back the original behaviour of distributing the big hash tables. - Fix some bad white space in comments Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1803, 2004-06-20 18:57:48-07:00, mason@suse.com [PATCH] fix possible stack corruption during reiserfs_file_write With preallocation turned on, reiserfs_allocate_blocks_for_region wasn't sending a large enough array to hold all the blocks it was asking the block allocator to find. This can result in stack corruption. The fix is to kmalloc an array to hold the blocks, making sure to allocate something large enough. There was also a recent optimization to force the allocator to find a free region large enough to hold the entire preallocation size. This was sometimes causing more blocks to be allocated then had been requested, which would also overflow the array. Something more elegant is required here, until then just disable the optimization. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1802, 2004-06-20 18:57:37-07:00, fabian.frederick@skynet.be [PATCH] sparse annotation for sys_quotactl() Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1801, 2004-06-20 18:57:26-07:00, hugh@veritas.com [PATCH] mprotect propagate anon_vma When mprotect shifts the boundary between vmas (merging the reprotected area into the vma before or the vma after), make sure that the expanding vma has anon_vma if the shrinking vma had, to cover anon pages imported. Thanks to Andrea for alerting us to this oversight. Cc: Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1800, 2004-06-20 18:57:15-07:00, jbarnes@engr.sgi.com [PATCH] export sys_ioctl to modules Small patch to export sys_ioctl if CONFIG_COMPAT is set. This allows platforms to implement 32 bit compatibility ioctl handlers in modules. Submitted-by: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1799, 2004-06-20 18:57:04-07:00, hch@lst.de [PATCH] fix isdn to not assume mem*io return values These are defined like the normal ISO C mem* routines although x86 happens to return void by accident. Fix isdn to not assume a return value. Sent to the isdn list, but as usual I didn't get any reply. The patch is from the Debian kernel package and really old. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1798, 2004-06-20 18:56:53-07:00, kraxel@bytesex.org [PATCH] v4l: radio-zoltrix fix. From: Paul Focke I recently upgraded from 2.4 to kernel 2.6 & noticed that the zoltrix radio driver was not working. Seems like a little typo. I tested this on my system and it's working fine now. I doubt there are any other linux users in the world who still use this card ;-) Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1797, 2004-06-20 18:56:42-07:00, kraxel@bytesex.org [PATCH] v4l: cx88 driver update This is a update for the cx88 tv card driver. Changes: * finally make it build with gcc 2.95 ;) * add new tv cards. * plenty of fixes for the TV sound code. * use v4l2 API for communication with tuner + tda9887 * misc other minor stuff. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1796, 2004-06-20 18:56:31-07:00, kraxel@bytesex.org [PATCH] saa7134 driver update This is an update for the saa7134 driver. Changes: * add support for more TV cards, as usual ;) * add support for image cropping. * use v4l2 API to talk to the tuner chips (thus it depends on the tuner/tda9887 patch). * fixes for the audio carrier scan. * make transport stream packet size configurable. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1795, 2004-06-20 18:56:19-07:00, kraxel@bytesex.org [PATCH] v4l: IR input driver update. This patch updates the ir-kbd-gpio and ir-kbd-i2c drivers. Nothing major, just some keytable fixes and support for more hardware. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1794, 2004-06-20 18:56:08-07:00, kraxel@bytesex.org [PATCH] v4l: bttv driver update This is a update of the bttv driver. Changes: * some card-specific fixes + new cards. * separate buffer switching for video frames and vbi data, that should make bttv less sensitive to high irq latencies. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1793, 2004-06-20 18:55:57-07:00, kraxel@bytesex.org [PATCH] v4l: tuner + tda9887 updates This is a big update for the tuner and tda9887 modules which are used for TV card tuning. The tda9887 module is basically completely rewritten and understands all the config bits now instead of having just some fixed config presets. Some of these config bits can be changed by insmod options now. The other big change is that both modules allow to use the V4L2 API for inter-module communication (i.e. when bttv/saa7134/... pass through the tuning ioctls to the modules). That allows to specify the TV norm more precisely (not just PAL but PAL-I, PAL-BG, ...), which is needed in some cases to make TV audio work correctly. Using the old v4l1 API is still possible so this shouldn't break any users of these two modules. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1792, 2004-06-20 18:55:46-07:00, kraxel@bytesex.org [PATCH] v4l: ir-common update Some minor changes for the ir-common module: Update for the RC5 keytable and increase the IR_KEYTAB_SIZE #define. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1791, 2004-06-20 18:55:35-07:00, kraxel@bytesex.org [PATCH] v4l: msp3400 cleanup. This patch has some cleanups for the msp3400 module: Balance is used directly now instead of maintaining the state as left/right volume and calculate the balance from that. The msp3400 did that only for historical reasons and it isn't needed any more ... Credits for that go to Perry Gilfillan. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1790, 2004-06-20 18:55:24-07:00, kraxel@bytesex.org [PATCH] v4l: video-buf fixes. This patch has some minor bugfixes for the video-buf module. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1789, 2004-06-20 18:55:13-07:00, kraxel@bytesex.org [PATCH] v4l: video-buf magic numbers This patch adds some magic IDs and checks for them to the data structs of the video-buf module. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1788, 2004-06-20 18:55:02-07:00, kraxel@bytesex.org [PATCH] v4l: update video-buf for per-frame input switching. This patch updates the video-buf module to support the per-frame input switching added by the v4l2 API patch. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1787, 2004-06-20 18:54:51-07:00, kraxel@bytesex.org [PATCH] v4l: v4l2 API updates This patch has some minor updates to v4l2 API: * A new pixel format (V4L2_PIX_FMT_SBGGR8). * Adds some #defines for tv norms for convenience. * Allow to specify the video source to capture from on a per-frame basis. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1786, 2004-06-20 18:54:40-07:00, axboe@suse.de [PATCH] iommu max segment size This patch is from James, I've changed it slightly only. The problem is that some IOMMU implementations have a maximum limit to the size of the number of contiguously mappable pages (admittedly, this limit is mostly in the resource management algorithms rather than the IOMMUs themselves). This patch adds this concept to the bio layer via the parameter BIO_VMERGE_MAX_SIZE which architectures can define in asm/io.h (if undefined, we assume it to be infinite, which is current behaviour). While adding this, I noticed several places where bio was making incorrect assumptions about virtual mergeability (none of which was a bug: bio was overestimating rather than underestimating). - The worst offender was bio_add_page(), which seemed never to check for virtual mergeability - I also fixed blk_hw_contig_segments() not to check the QUEUE_CLUSTER flag, and not to check the phys segment boundary. In order to track the hw segment size across bios, I had to introduce two extra bio parameters: bi_hw_front_size and bi_hw_back_size which store the sizes of the front and back hw contiguous segments (and which will be equal if there's only one hw segment). When the bio is merged into a request, these fields are updated with the total hw contig size so they can always be used to assess if the merger would violate the BIO_VMERGE_MAX_SIZE parameter. Signed-Off-By: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1785, 2004-06-20 18:54:29-07:00, dcn@sgi.com [PATCH] add wait_event_interruptible_exclusive() macro This patch defines a macro that does exactly what wait_event_interruptible() does except that it adds the current task to the wait queue as an exclusive task (i.e., sets the WQ_FLAG_EXCLUSIVE flag) rather than as a non-exclusive task as wait_event_interruptible() does. This allows one to do a wake_up_nr() to wake up a specific number of tasks. I'm in the process of submitting a patch to linux-ia64 that requires this capability. (Its subject line is "[PATCH 3/4] SGI Altix cross partition functionality".) Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1784, 2004-06-20 18:54:18-07:00, mika@osdl.org [PATCH] Uninline machine_specific_memory_setup() Cleanup arch/i386/kernel/setup.c a little bit by: * un-inlining machine_specific_memory_setup() (it's implementations are pretty big to be inlined anyway) * remove setup_memory_region() by moving the code inside setup_arch() I would also recommend BK-renaming all four files (include/asm-i386/*/setup_arch_post.h) to ".c" and moving them into arch/i386/*/, but that obviously is not needed in anyway. But IMHO they are clearly ".c" files, not ".h" files. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1783, 2004-06-20 18:54:07-07:00, mark@alpha.dyndns.org [PATCH] Add ovcamchip driver This patch adds a new driver for the OmniVision OV6xx0 and OV7xx0 series of CMOS image sensors. It is currently used by the w9968cf USB webcam driver, which is already in mainline 2.6. Up until now it had to be compiled outside the kernel tree, which is clearly suboptimal. It is also used by version 2 of the ov511 USB webcam driver, which will be merged in the near future. That will reduce some code duplication, since the existing ov511 has much of this code built-in. This was previously submitted to Linux-USB-Devel, and I have fixed the concerns that came up at that time. Developer's Certificate of Origin 1.0 By making a contribution to this project, I certify that: (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it. Signed-off-by: Mark McClelland Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1782, 2004-06-20 18:53:55-07:00, akpm@osdl.org [PATCH] swapoff: activate pages People like to use swapoff/swapon as a way of restoring their VM to a predictable "preconditional" state. Problem is, swapoff leaves mapped anon/pagecache pages on the inactive list, so they immediately get swapped out again when swapspace becomes available. Let's move these pages onto the active list to the VM has to again decide whether to swap them out. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1781, 2004-06-20 18:53:44-07:00, shaggy@austin.ibm.com [PATCH] jfs build fix Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1780, 2004-06-20 18:53:33-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] airo.c broke But Al fixed it again. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1779, 2004-06-20 18:53:22-07:00, paulkf@microgate.com [PATCH] ppp_synctty.c receive/write_wakeup fix Allow receive and write_wakeup callbacks to be called at hard interrupt context and/or with interrupts disabled (removes softirq warning). This mirrors changes by Paul Mackerras to ppp_async.c for the same purpose. Patch has been previously posted for comments and has been tested with success by multiple persons. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1778, 2004-06-20 18:53:11-07:00, cesarb@nitnet.com.br [PATCH] O_NOATIME support This patch adds support for the O_NOATIME open flag (GNU extension): int O_NOATIME Macro If this bit is set, read will not update the access time of the file. See File Times. This is used by programs that do backups, so that backing a file up does not count as reading it. Only the owner of the file or the superuser may use this bit. It is useful if you want to do something with the file atime (for instance, moving files that have not been accessed in a while to somewhere else, or something like Debian's popularity-contest) but you also want to read all files periodically (for instance, tripwire or debsums). Currently, the program that reads all files periodically has to use utimes, which can race with the atime update: A B open fstat read open read close close utimes And the file still has the old atime, instead of the new one from when B did the read from it. This problem does not happen if A uses O_NOATIME instead of utimes to preserve the atime. This patch adds the O_NOATIME constant for all architectures, but it would also be possible to add it one architecture at a time by defining it to 0 when not defined in asm-*. Based on patch by Marek Michalkiewicz at http://www.uwsg.iu.edu/hypermail/linux/kernel/9811.2/0118.html Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1777, 2004-06-20 18:52:59-07:00, dhowells@redhat.com [PATCH] Permit inode & dentry hash tables to be allocated > MAX_ORDER size Here's a patch to allocate memory for big system hash tables with the bootmem allocator rather than with main page allocator. It is needed for three reasons: (1) So that the size can be bigger than MAX_ORDER. IBM have done some testing on their big PPC64 systems (64GB of RAM) with linux-2.4 and found that they get better performance if the sizes of the inode cache hash, dentry cache hash, buffer head hash and page cache hash are increased beyond MAX_ORDER (order 11). Now the main allocator can't allocate anything larger than MAX_ORDER, but the bootmem allocator can. In 2.6 it appears that only the inode and dentry hashes remain of those four, but there are other hash tables that could use this service. (2) Changing MAX_ORDER appears to have a number of effects beyond just limiting the maximum size that can be allocated in one go. (3) Should someone want a hash table in which each bucket isn't a power of two in size, memory will be wasted as the chunk of memory allocated will be a power of two in size (to hold a power of two number of buckets). On the other hand, using the bootmem allocator means the allocation will only take up sufficient pages to hold it, rather than the next power of two up. Admittedly, this point doesn't apply to the dentry and inode hashes, but it might to another hash table that might want to use this service. I've coelesced the meat of the inode and dentry allocation routines into one such routine in mm/page_alloc.c that the the respective initialisation functions now call before mem_init() is called. This routine gets it's approximation of memory size by counting up the ZONE_NORMAL and ZONE_DMA pages (and ZONE_HIGHMEM if requested) in all the nodes passed to the main allocator by paging_init() (or wherever the arch does it). It does not use max_low_pfn as that doesn't seem to be available on all archs, and it doesn't use num_physpages since that includes highmem pages not available to the kernel for allocating data structures upon - which may not be appropriate when calculating hash table size. On the off chance that the size of each hash bucket may not be exactly a power of two, the routine will only allocate as many pages as is necessary to ensure that the number of buckets is exactly a power of two, rather than allocating the smallest power-of-two sized chunk of memory that will hold the same array of buckets. The maximum size of any single hash table is given by MAX_SYS_HASH_TABLE_ORDER, as is now defined in linux/mmzone.h. Signed-off-by: Paul Mackerras Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1776, 2004-06-20 18:52:48-07:00, daniel.ritz@gmx.ch [PATCH] pcmcia: enable read prefetch on o2micro bridges to fix HDSP enable read prefetching on O2micro bridges. It fixes the problems seen with the RME Hammerfall DSP. Thanks to Eric Still from O2micro for the input. Cc: Russell King Signed-off-by: Daniel Ritz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1775, 2004-06-20 18:52:36-07:00, pazke@donpac.ru [PATCH] use new DMI API for HP Pavilion Example code for the new DMI APU - port HP Pavilion irq workaround to new DMI probing. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1774, 2004-06-20 18:52:25-07:00, pazke@donpac.ru [PATCH] export DMI check functions This patch creates and exports 2 functions which can be used by the rest of kernel code to perform DMI data checks: - dmi_check_system() function checks system DMI data against given blacklist table and on each match runs corresponding callback function; - dmi_get_system_info() function returns DMI data value. Useful for people wanting more complex DMI data check than simple string match. Also filling unused match entries with NO_MATCH made optional, but existing NO_MATCH occurences are left intact, so people are free to continue dmi_scan.c patching without massive reject problems. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1773, 2004-06-20 18:52:14-07:00, akpm@osdl.org [PATCH] ppc64: eeh.h warning-fix In file included from include/asm/io.h:365, from drivers/video/kyro/STG4000Reg.h:23, from drivers/video/kyro/STG4000Ramdac.c:16: include/asm/eeh.h:58: warning: `struct device_node' declared inside parameter list include/asm/eeh.h:58: warning: its scope is only this definition or declaration, which is probably not what you want Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1772, 2004-06-20 18:52:03-07:00, akpm@osdl.org [PATCH] ppc64 CONFIG_ALTIVEC=n build fix With CONFIG_ALTIVEC=n, flush_altivec_to_thread() has no implementation. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1770, 2004-06-20 17:36:21-07:00, akepner@sgi.com [NET]: Lockless loopback patch (version 2). ChangeSet@1.1769, 2004-06-20 17:06:07-07:00, davem@nuts.davemloft.net Merge bk://kernel.bkbits.net/acme/net-2.6 into nuts.davemloft.net:/disk1/BK/net-2.6 ChangeSet@1.1722.118.9, 2004-06-20 20:54:15-03:00, acme@conectiva.com.br [NET] move tcp_memory_free to sk_stream_memory_free Signed-off-by: Arnaldo Carvalho de Melo ChangeSet@1.1764.3.1, 2004-06-20 16:38:03-07:00, davem@nuts.davemloft.net Merge bk://kernel.bkbits.net/acme/net-2.6-1.1768 into nuts.davemloft.net:/disk1/BK/acme-2.6 ChangeSet@1.1722.118.8, 2004-06-20 19:45:03-03:00, acme@conectiva.com.br [NET] move skb_can_coalesce to skbuff.h This one also removes the duplicate can_coalesce in tcp.c and makes it use skb_can_coalesce. Signed-off-by: Arnaldo Carvalho de Melo ChangeSet@1.1764.2.1, 2004-06-20 12:32:43-07:00, davem@nuts.davemloft.net [SPARC64]: Check _TIF_SYSCALL_SUCCESS before syscall return value. We might have to clear the flag, and if we do not then subsequent syscalls can get confused. Bug easily triggered by suspending emacs in a pty and then resuming, select() returns due to a pending signal but because _TIF_SYSCALL_SUCCESS is erroneously set by a previous syscall -514 ends up slipping into userspace. Oops. ChangeSet@1.1764.1.17, 2004-06-20 10:39:30-07:00, geert@linux-m68k.org [PATCH] m68k: I/O abstraction updates M68k I/O abstraction updates: - Make I/O ports and addresses `unsigned long' - Add casts to make operations warning-compatible with other archs - Add {in,out}[wl]_p() and {in,out}l(), which are needed for some drivers Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.1764.1.16, 2004-06-20 10:39:19-07:00, geert@linux-m68k.org [PATCH] m68k: atomic op fixups M68k: Add missing atomic operations (from Roman Zippel and me) and replace `__inline__' by `inline' while we're at it. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.1764.1.15, 2004-06-20 10:39:08-07:00, geert@linux-m68k.org [PATCH] m68k: Mac IOP fix Mac IOP: Fix copy-and-paste bug (found by OPERA, reported by Zhenmin Li, confirmed by Brad Boyer) Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.1764.1.14, 2004-06-20 10:38:57-07:00, geert@linux-m68k.org [PATCH] m68k: sparse infrastructure M68k: Make sparse work Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.1764.1.13, 2004-06-20 10:38:46-07:00, geert@linux-m68k.org [PATCH] m68k: Mac Sonic Ethernet Mac Sonic Ethernet: Kill duplicate `MODULE_LICENSE("GPL");' (already defined in included sonic.c) which causes a compile failure Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.1764.1.12, 2004-06-20 10:38:35-07:00, geert@linux-m68k.org [PATCH] affs remount fixes AFFS: Fix oops on write after remount (from Roman Zippel): - Allocate/free bitmap as necessary - Remove last uses of SF_READONLY Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.1764.1.11, 2004-06-20 10:38:24-07:00, geert@linux-m68k.org [PATCH] m68k: use set_page_count() M68k: From 2.6.7-rc1 on, it's no longer allowed to access page->count directly Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.1764.1.10, 2004-06-20 10:38:13-07:00, geert@linux-m68k.org [PATCH] m68k: bus error handling M68k: Allow to catch a bus error via the exception mechanism (from Roman Zippel) Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.1764.1.9, 2004-06-20 10:38:02-07:00, geert@linux-m68k.org [PATCH] m68k: new gcc optimizations M68k compiler updates from Roman Zippel: - Fix various lvalue warnings from newer gcc - Remove unnecessary volatile declarations - Change some constraints from "a" to "m" to generate slightly better code - Use "o" constraint for bitfield instructions - Use generic bitmap functions for some of the ext2/minix bitmap functions Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.1764.1.8, 2004-06-20 10:37:51-07:00, geert@linux-m68k.org [PATCH] m68k: handle new gcc's M68k: Fixes for when compiling with modern gcc (from Roman Zippel): - Avoid warning 'use of memory input without lvalue in asm operand 0 is deprecated' of newer gcc - Replace some '%/' with offical '%%' to escape a '%' Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.1764.1.7, 2004-06-20 10:37:41-07:00, geert@linux-m68k.org [PATCH] m68k: IFPSP060 update IFPSP060: Make sure that the destination address of a misaligned cas access is properly mapped in, so the kernel won't oops in the emulation handler (from Roman Zippel). Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.1764.1.6, 2004-06-20 09:59:33-07:00, hirofumi@mail.parknet.co.jp [PATCH] FAT: don't use "utf8" charset and NLS_DEFAULT Recently, some distributors have set "utf8" to NLS_DEFAULT, therefore, FAT uses the "iocharset=utf8" as default. But, since "iocharset=utf8" doesn't provide the function (lower <-> upper conversion) which FAT needs, so FAT can't provide suitable behavior. This patch does: - doesn't recognize "utf8" as "iocharset" - doesn't use NLS_DEFAULT as default "iocharset" - instead of NLS_DEFAULT, adds FAT_DEFAULT_CODEPAGE and FAT_DEFAULT_IOCHARSET NOTE: the following looks like buggy, so it's not recommended "codepage=437,iocharset=iso8859-1,utf8" however, some utf8 file name can handle. (in this case, it uses the table of iso8859-1 for lower <-> upper conversion) Sign-off-by: Jesse Barnes Sign-off-by: OGAWA Hirofumi Sign-off-by: Linus Torvalds ChangeSet@1.1764.1.5, 2004-06-20 09:56:58-07:00, torvalds@ppc970.osdl.org Follow 2.4.x semantics for in-kernel signal sending. ChangeSet@1.1764.1.4, 2004-06-20 09:33:28-07:00, arjanv@redhat.com [PATCH] fix amd64 boot breakage This fixes a bug that prevent my amd64 box from booting; numa_default_policy was __init however it's called like this in init/main.c: free_initmem(); unlock_kernel(); system_state = SYSTEM_RUNNING; numa_default_policy(); eg after free_initmem(). This resulted in it being reused/freed and that gives a nasty oops. ChangeSet@1.1722.146.7, 2004-06-20 07:00:13-05:00, stevef@steveft21.ltcsamba Do not kill cifsd thread until last smb session on tcp session is SMBulogged off. Fixes umounting bug (pointed out by Nick Millington) when multiple mounts with different userids are mounted to the same server from the client. Signed-off-by: Steve French (sfrench@us.ibm.com) ChangeSet@1.1722.118.7, 2004-06-20 03:03:06-03:00, acme@toy.kerneljanitors.org [NET] generalise tcp_add_data, skb_split and tcp_copy_to_page Signed-off-by: Arnaldo Carvalho de Melo ChangeSet@1.1766, 2004-06-19 21:20:36-07:00, akpm@osdl.org [NET]: Fix warning in farsync WAN driver. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.1765, 2004-06-19 16:47:14-07:00, yoshfuji@linux-ipv6.org [ECONET]: Fix some warnings. ChangeSet@1.1760.1.12, 2004-06-19 17:45:27-04:00, ralf@linux-mips.org [PATCH] hdlcdrv needs to stop queueing We better stop the queue in the close call. Signed-off-by: Ralf Baechle ChangeSet@1.1760.1.11, 2004-06-19 17:45:19-04:00, ralf@linux-mips.org [PATCH] Cosmetic cleanups to sb1250-mac.c Signed-off-by: Ralf Baechle ChangeSet@1.1760.1.10, 2004-06-19 17:45:10-04:00, ralf@linux-mips.org [PATCH] Reformat Pure microcosmetic. Signed-off-by: Ralf Baechle ChangeSet@1.1760.1.9, 2004-06-19 17:45:01-04:00, ralf@linux-mips.org [PATCH] Use netdev_priv in sgiseeq The combined allocation of of receive and transmit rings and driver data so far made the use of netdev_priv impossible. Split the allocation and use netdev_priv to access the non-ring driver_private data. Signed-off-by: Ralf Baechle ChangeSet@1.1760.1.8, 2004-06-19 17:41:19-04:00, arjanv@redhat.com [PATCH] sk98lin pci id ChangeSet@1.1760.1.7, 2004-06-19 17:36:14-04:00, ryan@michonline.com [PATCH] orinoco.c rate limit lost information frame message Rate limit a (apparently) harmless warning in orinoco.c (My laptop remained connected with active X applications running over ssh while this message was hitting every second, since I patched my driver to include this the problem hasn't recurred.) Signed-Off-By: Ryan Anderson ChangeSet@1.1760.3.3, 2004-06-19 17:12:57-04:00, brazilnut@us.ibm.com [PATCH] pcnet32: cleanup IRQ limitation. Cleanup pcnet32 IRQ handling based on suggestions from Ralf Baechle , and Brian Murphy Tested by myself and Brian Murphy. Please also apply to 2.4.27-pre6. Signed-off-by: Don Fry ChangeSet@1.1760.3.2, 2004-06-19 17:12:48-04:00, brazilnut@us.ibm.com [PATCH] pcnet32: recover after rx hang. This patch fixes a receive hang that occasionally occurs after a Tx FIFO underrun. The receive dma remains in a hung state sometimes. The transmit operations continue to occur, but no receive activity. This was reproduced on several ppc64 systems and the fix has been verified there. The patch has been tested as well on an ia32 system, which did not experience the hang because it did not have fifo underruns, which is a preqrequisite for the hang. The memory barriers decreased the frequency of occurrence. The final change to reset the chip instead of just stopping it eliminated the last hangs. Please also apply against 2.4.7 (with offset of -1), tested ia32. Signed-off by: brazilnut@us.ibm.com ChangeSet@1.1760.3.1, 2004-06-19 17:12:39-04:00, brazilnut@us.ibm.com [PATCH] pcnet32: discard oversize rx packets This patch will discard received frames that are larger than one buffer. This has been tested on ia32 and ppc64 systems. Please also apply to 2.4.7 (with offset of -3), tested ia32. Signed-off by: brazilnut@us.ibm.com ChangeSet@1.1760.1.6, 2004-06-19 17:09:31-04:00, davem@redhat.com [PATCH] hamachi DMA Let's get this thing not using bus_to_virt() anymore, as follows. Signed-off-by: David S. Miller ===== drivers/net/hamachi.c 1.35 vs edited ===== ChangeSet@1.1760.1.5, 2004-06-19 17:08:21-04:00, fenlason@redhat.com [PATCH] sunhme patch Without this patch, insmod-ing the sunhme module crashes on my fc2 box. -- JF ChangeSet@1.1760.1.4, 2004-06-19 17:07:34-04:00, jeb.j.cramer@intel.com [PATCH] e1000 management reset fix * Resetting the adapter blew away management settings. So we save the important bits before performing a reset. ChangeSet@1.1760.1.3, 2004-06-19 17:07:25-04:00, shemminger@osdl.org [PATCH] convert sk fddi driver to ANSI C Sparse does not handle K&R at all, and I think I saw Linus saying that he has no intention of adding it to sparse while ago. So here is a blob of patch to convert drivers/net/skfp/* from K&R to ANSI-C. Compile tested with "make allmodconfig" on x86, as I obviously don't have the HW. Mika Signed-off-by: Stephen Hemminger ChangeSet@1.1760.1.2, 2004-06-19 17:06:09-04:00, akpm@osdl.org [PATCH] H8/300: smc9194 driver From: Yoshinori Sato - H8/300 target support - fixed irq support - high address (>0xffff) i/o fix Signed-off-by: Andrew Morton ChangeSet@1.1760.2.1, 2004-06-19 17:04:50-04:00, herbert@gondor.apana.org.au [PATCH] Re: linux-2.6.7 Equalizer Load-balancer. eql.c. local non-privileged DoS Vitaly V. Bursov wrote: > > there are multiple vulns in drivers/net/eql.c > > if there is no such device, dev_get_by_name returns NULL and everything dies. > Exploiting this is trivial. Thanks for the report. This patch should fix them. Signed-off-by: Herbert Xu Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- ===== drivers/net/eql.c 1.13 vs edited ===== ChangeSet@1.1760.1.1, 2004-06-19 17:00:28-04:00, achirica@telefonica.net [wireless airo] Clean initialization of Mini-PCI cards even from suspend ChangeSet@1.1764, 2004-06-19 12:48:23-07:00, davem@nuts.davemloft.net [IPV6]: Export necessary xfrm6_tunnel functions. ChangeSet@1.1763, 2004-06-19 11:55:24-07:00, yoshfuji@linux-ipv6.org [NET]: Fix some userland header bustage. ChangeSet@1.1762, 2004-06-19 11:36:58-07:00, akpm@osdl.org [NET]: Fix econet build bustage. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.1760, 2004-06-19 07:50:55-07:00, mikulas@artax.karlin.mff.cuni.cz [PATCH] HPFS fixes for 2.6.7 kernel This contains hpfs fixes from my source ported to 2.6.7 kernel: updates: - allocator fragments files less - OS/2 Warp Server filesystem can be mounted read/only - added reschedule points so that it doesn't hog CPU bug fixes: - filesystem error message when syncing or fsyncing deleted file (or when system just writes it on its own) - filesystem error on extremly fragmented files - corrupted disk structures could possibly corrupt memory ChangeSet@1.1759, 2004-06-19 07:50:44-07:00, akpm@osdl.org [PATCH] mptctl.c build fix drivers/message/fusion/mptctl.c:89:24: asm/compat.h: No such file or directory Signed-off-by: Andrew Morton ChangeSet@1.1758, 2004-06-19 07:49:02-07:00, torvalds@ppc970.osdl.org Merge http://lia64.bkbits.net/to-linus-2.5 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1722.149.10, 2004-06-18 21:52:08-07:00, yanmin.zhang@intel.com [PATCH] ia64: fix free_huge_page() call in hugetlb_prefault() In base kernel 2.6.7, there is bug in function hugetlb_prefault(). The call to free_huge_page() is incorrect and should be replaced with a call to page_cache_release(). Signed-off-by: David Mosberger ChangeSet@1.1722.149.9, 2004-06-18 21:49:12-07:00, eranian@hpl.hp.com [PATCH] ia64: perfmon stack consumption fix This patch moves the pfm_ovfl_arg_t structure from the kernel stack into the pfm_context_t structure. This minimizes kernel stack space consumption. Signed-off-by: Stephane Eranian Signed-off-by: David Mosberger ChangeSet@1.1722.149.8, 2004-06-18 21:45:35-07:00, ashok.raj@intel.com [PATCH] ia64: move move_irq() from iosapic.c to irq.c This patch moves move_irq() from ioaspic.c to irq.c to make this common for ia64 subarches. Signed-off-by: Ashok Raj Signed-off-by: David Mosberger ChangeSet@1.1722.149.7, 2004-06-18 21:42:42-07:00, arun.sharma@intel.com [PATCH] ia64: fix ia32 partial-page map support for overlapping mmaps - Handle the overlapping mmaps in the MAP_FIXED case - Handle unmaps correctly i.e. call __ia32_delete_pp_range() - There are now three clear entry points into the pp manipulation code - ia32_set_pp - ia32_unset_pp - ia32_compare_pp - Rename internal functions to __ia32_*pp_* - Grab mmap_sem just once at the main entry point Signed-off-by: Gordon Jin Signed-off-by: Arun Sharma Signed-off-by: David Mosberger ChangeSet@1.1722.146.6, 2004-06-18 23:02:41-05:00, stevef@smfhome1.smfdom check better for free files on writepage retry Signed-off-by: Steve French (sfrench@us.ibm.com) ChangeSet@1.1722.146.5, 2004-06-18 22:01:37-05:00, stevef@smfhome1.smfdom Do not send junk in bcc area of oplock break SMB Lock request, and always let oplock break release through even if requests are ahead of it waiting for responses to complete. Signed-off-by: Steve French (sfrench@us.ibm.com) ChangeSet@1.1757, 2004-06-18 18:26:37-07:00, rddunlap@osdl.org [PATCH] sparse: lib/string.c sparse fix A classic.. lib/string.c:165:19: warning: assignment expression in conditional From: Mika Kukkonen Signed-off-by: Randy Dunlap ChangeSet@1.1756, 2004-06-18 18:26:26-07:00, rddunlap@osdl.org [PATCH] sparse: kernel/module.c sparse fix Add __user annotation for !CONFIG_MODULE_UNLOAD case. From: Mika Kukkonen Signed-off-by: Randy Dunlap ChangeSet@1.1755, 2004-06-18 16:46:25-07:00, viro@www.linux.org.uk [PATCH] sparse: drivers/video/sis annotation ChangeSet@1.1754, 2004-06-18 16:37:47-07:00, viro@www.linux.org.uk [PATCH] sparse: drivers/video/aty annotation ChangeSet@1.1753, 2004-06-18 16:35:56-07:00, torvalds@ppc970.osdl.org Merge ppc970.osdl.org:/home/torvalds/v2.6/v2.6.7 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1722.154.13, 2004-06-18 16:35:04-07:00, viro@www.linux.org.uk [PATCH] sparse: autofs annotation ChangeSet@1.1722.154.12, 2004-06-18 16:34:54-07:00, viro@www.linux.org.uk [PATCH] sparse: synclinkmp annotation ChangeSet@1.1722.154.11, 2004-06-18 16:34:45-07:00, viro@www.linux.org.uk [PATCH] sparse: cyclades annotation ChangeSet@1.1722.154.10, 2004-06-18 16:34:35-07:00, viro@www.linux.org.uk [PATCH] sparse: ipmi annotation ChangeSet@1.1722.154.9, 2004-06-18 16:34:24-07:00, viro@www.linux.org.uk [PATCH] sparse: amd64 bits - added define of __x86_64__ to sparse arguments on amd64 - switched amd64 uaccess.h to __chk_user_ptr() ChangeSet@1.1722.154.8, 2004-06-18 16:34:14-07:00, viro@www.linux.org.uk [PATCH] sparse: applicom annotation ChangeSet@1.1722.154.7, 2004-06-18 16:34:03-07:00, viro@www.linux.org.uk [PATCH] sparse: udf cleanups removed bogus externs from declarations in fs/udf/* ChangeSet@1.1722.154.6, 2004-06-18 16:33:52-07:00, viro@www.linux.org.uk [PATCH] sparse: drivers/video/matrox annotation ChangeSet@1.1722.154.5, 2004-06-18 16:33:41-07:00, viro@www.linux.org.uk [PATCH] sparse: drivers/video/kyro annotation ChangeSet@1.1722.154.4, 2004-06-18 16:33:31-07:00, viro@www.linux.org.uk [PATCH] sparse: drivers/video partial annotation misc annotation in drivers/video/* (nowhere near complete) ChangeSet@1.1722.154.3, 2004-06-18 16:33:20-07:00, viro@www.linux.org.uk [PATCH] sparse: nfs partial annotation ChangeSet@1.1722.154.2, 2004-06-18 16:33:09-07:00, viro@www.linux.org.uk [PATCH] sparse: mwave annotation ChangeSet@1.1722.154.1, 2004-06-18 16:32:59-07:00, viro@www.linux.org.uk [PATCH] sparse: binfmt_aout annotation ChangeSet@1.1739.1.10, 2004-06-18 14:14:17-07:00, akpm@osdl.org [NET]: Fix eql.c failed dev_get_by_name() return value check. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.1739.1.9, 2004-06-18 14:12:29-07:00, yoshfuji@linux-ipv6.org [IPV6]: Fix autoconf description in ip-sysctl.txt. ChangeSet@1.1739.1.8, 2004-06-18 14:11:36-07:00, wli@holomorphy.com [IRDA]: Remove usage of isa_virt_to_bus() Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.1739.1.7, 2004-06-18 14:09:17-07:00, dlstevens@us.ibm.com [IPV6]: Handle user asking for any device in mcast calls. ChangeSet@1.1739.1.6, 2004-06-18 13:54:52-07:00, shemminger@osdl.org [PKT_SCHED]: Add loss option to network delay scheduler. This enhances the network simulation scheduler to do simple random loss. The loss parameter is a simple 32 bit value such that 0 means no loss, and 0xffffffff is always drop. I have a new version of the tc command which takes care of conversion from percent to this value. Same patch for 2.4 and 2.6 Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1739.1.5, 2004-06-18 13:51:42-07:00, davem@nuts.davemloft.net [PKT_SCHED]: Do not check netif_queue_stopped() in dequeue ops, races with driver. Based upon a patch from Stephen Hemminger. Signed-off-by: David S. Miller ChangeSet@1.1751, 2004-06-18 13:50:35-07:00, torvalds@ppc970.osdl.org sparse: fix up fusion/mptctl.c after merge ChangeSet@1.1750, 2004-06-18 13:46:11-07:00, torvalds@ppc970.osdl.org Merge ChangeSet@1.1722.153.2, 2004-06-18 13:43:51-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: drivers/message/fusion annotations and fixes Sigh... First of all, LSI folks have very quaint idea of existing platforms and word sizes on those. Their definitions of U32 and S32 should really be reserved for posterity (preferably chiseled into the rock they have between the ears), but kernel is the wrong place for that. Fixed. mptctl_do_mpt_command() was always called on userland pointers; kernel/userland argument removed along with dead code, function annotated, callers updated. The rest is trivial annotations in mptctl.c and in its ioctl structures - nothing fancy there. ChangeSet@1.1722.153.1, 2004-06-18 13:43:40-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] crapectomy - last users of kernel_scsi_ioctl() gone Last 3 users of kernel_scsi_ioctl() eliminated; two of them used to read partition table by issuing a READ6 via ioctl (instead of just calling scsi_bios_ptable() as every other ->biosparam() instance does). The last one was doing a very quaint access to fields of scsi_device by issuing SCSI_IOCLT_GET_LUN and then shuffling bits in the result. Down with that insanity... ChangeSet@1.1739.1.4, 2004-06-18 13:40:49-07:00, shemminger@osdl.org [PKT_SCHED]: Delay scheduler should retry if requeue fails. If delay scheduler decides not to send the packet right away, it requeues it. If the requeue fails, it should go and look again rather than waking up prematurely. Same patch should apply to both 2.6 and 2.4 Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1749, 2004-06-18 13:36:39-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: ibmasmfs annotations Trivial annotations + couple of missing (void) in prototypes ChangeSet@1.1748, 2004-06-18 13:36:27-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: ide-tape annotation ChangeSet@1.1747, 2004-06-18 13:36:16-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: drivers/input annotations Trivial annotations in drivers/input ChangeSet@1.1746, 2004-06-18 13:36:05-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: drivers/char/watchdog annotation Trivial annotations in drivers/char/watchdog/* ChangeSet@1.1745, 2004-06-18 13:35:54-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: ixj annotated drivers/telephony (aka ixj.c) annotated, IXJ_CADENCE split into kernel and userland variants, ioctl structures got __user on pointers. ChangeSet@1.1744, 2004-06-18 13:35:42-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: vm86.c annotated vm86.c annotated; vm86old(2) and vm86(2) switched to explicit int (struct pt_regs regs) format. ChangeSet@1.1743, 2004-06-18 13:35:31-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: rt_sigsuspend/sigaltstack sanitized rt_sigsuspend() and sigaltstack() prototype changed; instead of playing games with casts of argument address to struct pt_regs * and digging through it, we declare them as int (struct pt_regs regs) instead. ChangeSet@1.1742, 2004-06-18 13:35:20-07:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] sparse: i387 math-emu annotation arch/i386/math-emu/* annotated. ChangeSet@1.1739.1.3, 2004-06-18 13:18:34-07:00, shemminger@osdl.org [PKT_SCHED]: Delay scheduler enqueue always succeeds. If underlying fifo enqueue fails, return the status not 0. Same patch should apply to both 2.6 and 2.4 Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1739.1.2, 2004-06-18 13:15:58-07:00, shemminger@osdl.org [BRIDGE]: Kill sysfs hotplug avoidance hacks. The whole effort to avoid hotplug was misguided. If it is really a problem (which it doesn't appear to be) then it can more easily be addressed by smarter hotplug scripts in user space. This patch gets rid of the whole subsystem hack for bridge kobjects. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1722.127.22, 2004-06-18 19:53:46+01:00, rmk@flint.arm.linux.org.uk [ARM] Remove NexusPCI/FTVPCI platform. This platform is no longer maintained, and its maintainer says that the hardware is obsolete and out of circulation. ChangeSet@1.1722.127.21, 2004-06-18 19:45:27+01:00, rmk@flint.arm.linux.org.uk [ARM] Remove TBOX. This platform is no longer maintained, and its maintainer says that the hardware is obsolete and out of circulation. ChangeSet@1.1739.1.1, 2004-06-18 11:43:35-07:00, torvalds@ppc970.osdl.org Merge bk://kernel.bkbits.net/davem/net-2.6 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1722.146.4, 2004-06-18 12:43:06-05:00, stevef@stevef95.austin.ibm.com Merge bk://cifs.bkbits.net/linux-2.5cifs into stevef95.austin.ibm.com:/home/stevef/linux-2.5cifs ChangeSet@1.1740, 2004-06-18 10:32:19-07:00, greg@kroah.com Merge kroah.com:/home/greg/linux/BK/bleed-2.6 into kroah.com:/home/greg/linux/BK/usb-2.6 ChangeSet@1.1739, 2004-06-18 10:06:37-07:00, torvalds@ppc970.osdl.org Merge bk://linux-scsi.bkbits.net/scsi-for-linus-2.6 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1722.97.83, 2004-06-18 10:04:39-07:00, greg@kroah.com USB: mark pwc driver broken again, as it still is :( ChangeSet@1.1722.127.20, 2004-06-18 17:58:33+01:00, tony@com.rmk.(none) [ARM PATCH] 1931/1: Allow device address translation in dma-mapping, version 3 Patch from Tony Lindgren Allows translation of shared memory addresses for devices using dma-mapping. In some cases the device DMA address is different from the ARM DMA address, for example with some USB OHCI controllers. For more background information, please see the ARM Linux mailing list thread "OHCI controller". ChangeSet@1.1722.127.19, 2004-06-18 17:53:15+01:00, nico@org.rmk.(none) [ARM PATCH] 1932/1: fix comment about cache handling syscall Patch from Nicolas Pitre Let's make it coherent with what the actual code is doing and has always done, even in 2.4. Nobody complained about this so let's just fix the comment. The most natural usage pattern for this is a base address and a size so it's more efficient to have an exclusive end address anyway. ChangeSet@1.1722.97.82, 2004-06-18 09:52:38-07:00, stern@rowland.harvard.edu [PATCH] USB: dummy_hcd shouldn't reject SET-ADDRESS requests This patch for the dummy_hcd driver prevents it from rejecting SET-ADDRESS requests when the address is already set. The USB 2.0 spec states that if a device is in the ADDRESS state, it should accept and start using the new address. Behavior in the CONFIGURED state is undefined, but since dummy_hcd doesn't keep track of the difference between the two states we might as well accept the new address in any case. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1738, 2004-06-18 09:50:41-07:00, axboe@suse.de [PATCH] cfq direct io alias problem This is a fix for when we encounter an alias during insert. When that happens we move the request to dispatch, but it may happen that this request is also the ->last_merge hint. So we may attempt to merge with this later, when it's either in progress or already freed. Rearrange the logic a bit so we clear the merge hint there as well. It looks more complex than it is, the only real code change is the addition of a cfq_remove_merge_hints() in cfq_dispatch_sort(). Signed-off-by: Linus Torvalds ChangeSet@1.1737, 2004-06-18 09:50:31-07:00, axboe@suse.de [PATCH] cfq allocation race It's possible under unlucky circumstances for this race to trigger. I described it with a comment in the code. Signed-Off-By: Jens Axboe Signed-off-by: Linus Torvalds ChangeSet@1.1736, 2004-06-18 09:50:20-07:00, axboe@suse.de [PATCH] cfq sysfs support This makes the CFQ tunables available in sysfs, like AS and deadline. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds ChangeSet@1.1722.127.18, 2004-06-18 17:49:27+01:00, icampbell@com.rmk.(none) [ARM PATCH] 1934/2: Consolidate code to set CKEN on PXA Patch from Ian Campbell I've seen comments several times that various PXA drivers update CKEN in an unsafe manner. This patch consolidates this code into a single function pxa_set_cken() and updates all the in tree drivers to use it. ChangeSet@1.1735, 2004-06-18 09:48:38-07:00, torvalds@ppc970.osdl.org Remove old stale header files that aren't referenced anywhere. Noted by Alexey Dobriyan. ChangeSet@1.1734, 2004-06-18 09:46:06-07:00, torvalds@ppc970.osdl.org Merge ChangeSet@1.1722.127.17, 2004-06-18 17:43:22+01:00, icampbell@com.rmk.(none) [ARM PATCH] 1930/1: Allocate correct number of pseudo palette entries in pxafb Patch from Ian Campbell The pxafb driver incorrectly allocates 17 u32's for a 16 entry pseudo palette. ChangeSet@1.1722.151.143, 2004-06-18 09:36:50-07:00, davem@nuts.davemloft.net Merge ChangeSet@1.1733, 2004-06-18 09:33:53-07:00, torvalds@ppc970.osdl.org This removes the files orphaned by the earlier PC9800 removal ChangeSet@1.1732, 2004-06-18 09:31:40-07:00, torvalds@ppc970.osdl.org Merge ChangeSet@1.1722.125.47, 2004-06-18 09:24:59-07:00, torvalds@ppc970.osdl.org Merge duplicate selinux network hooks ChangeSet@1.1722.151.142, 2004-06-18 08:25:41-07:00, chrisw@osdl.org [PATCH] RLIM: remove unused queued_signals global accounting Remove unused queued_signals global accounting. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.141, 2004-06-18 08:25:30-07:00, chrisw@osdl.org [PATCH] RLIM: enforce rlimits on queued signals Add a user_struct pointer to the sigqueue structure. Charge sigqueue allocation and destruction to the user_struct rather than a global pool. This per user rlimit accounting obsoletes the global queued_signals accouting. The patch as charges the sigqueue struct allocation to the queue that it's pending on (the receiver of the signal). So the owner of the queue is charged for whoever writes to it (much like quota for a 777 file). The patch started out charging the task which allocated the sigqueue struct. In most cases, these are always the same user (permission for sending a signal), so those cases are moot. In the cases where it isn't the same user, it's a privileged user sending a signal to another user. It seems wrong to charge the allocation to the privleged user, when the other user could block receipt as long as it feels. The flipside is, someone else can fill your queue (expectation is that someone else is privileged). I think it's right the way it is. The change to revert is very small. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.140, 2004-06-18 08:25:20-07:00, chrisw@osdl.org [PATCH] RLIM: pass task_struct in send_signal() Update send_signal() api to allow passing the task receiving the signal. This is necessary to ensure signals generated out of process context can be charged to the correct user. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.139, 2004-06-18 08:23:45-07:00, torvalds@ppc970.osdl.org Fix kill_pg_info(): return success if _any_ signal succeeded. ChangeSet@1.1722.151.138, 2004-06-18 08:17:04-07:00, kszysiu@iceberg.elsat.net.pl [PATCH] cmpci oops on rmmod + fix The cmpci driver included in Linux 2.6.7 causes an oops on rmmod, I believe cm_remove should be marked __devexit rather than __devinit. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.137, 2004-06-18 08:16:53-07:00, ysato@users.sourceforge.jp [PATCH] H8/300: io.h cleanup - optimize byteswap - add noswap io mode - cleanup var type Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.136, 2004-06-18 08:16:42-07:00, ysato@users.sourceforge.jp [PATCH] H8/300: ptrace fix - Kconfig typo fix - PTRACE_PEEKUSER read process info support - exr restore fix - ptrace register offset fix Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.135, 2004-06-18 08:16:33-07:00, kaos@ocs.com.au [PATCH] contify some scheduler functions Several scheduler macros only read from the task struct, mark them const. It may help the compiler generate better code. Signed-off-by: Keith Owens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.134, 2004-06-18 08:16:21-07:00, greg@kroah.com [PATCH] remove EXPORT_SYMBOL(kallsyms_lookup) Distros have started to ship kernels with this patch, as it seems that some unnamed binary module authors are already abusing this function (as well as some open source modules, like the openib code.) I could not find any valid reason why this symbol should be exported, so here's a patch against 2.6.7 that removes it. Signed-off-by: Greg Kroah-Hartman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.133, 2004-06-18 08:16:11-07:00, rddunlap@osdl.org [PATCH] remove blank line in show_trace() Delete a blank line for more error reporting on-screen. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.132, 2004-06-18 08:16:00-07:00, kenneth.w.chen@intel.com [PATCH] Hugetlb page bug fix for i386 in PAE mode Hit a bug check when unmap a hugetlb vma in PAE mode on i386 (and x86-64). Bad page state at free_hot_cold_page (in process 'a.out', page c165cc40) flags:0x20000000 mapping:f75e1d00 mapped:0 count:0 Backtrace: Call Trace: [] bad_page+0x79/0x9e [] free_hot_cold_page+0x71/0xfa [] unmap_hugepage_range+0xa3/0xbf [] unmap_vmas+0xac/0x252 [] default_wake_function+0x0/0xc [] unmap_region+0xd8/0x145 [] do_munmap+0xfc/0x14d [] sys_shmdt+0xa5/0x126 [] sys_ipc+0x23c/0x27f [] sys_write+0x38/0x59 [] syscall_call+0x7/0xb It turns out there is a bug in hugetlb_prefault(): with 3 level page table, huge_pte_alloc() might return a pmd that points to a PTE page. It happens if the virtual address for hugetlb mmap is recycled from previously used normal page mmap. free_pgtables() might not scrub the pmd entry on munmap and hugetlb_prefault skips on any pmd presence regardless what type it is. Patch to fix the bug. Signed-off-by: Ken Chen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.131, 2004-06-18 08:15:49-07:00, minyard@acm.org [PATCH] IPMI base patch to fix channel handling and add polling This patch fixes some problems with handling of channel detection in the driver. Some systems that are IPMI 1.5 do not implement the channel query command. Also, the interface has to be fully up before the command is ready. This patch also adds a polling interface; this is required for situations where interrupts are not running, but the system must still issue IPMI commands, like when taking a crash dump. It also updates the driver version to v32. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.130, 2004-06-18 08:15:37-07:00, jmorris@redhat.com [PATCH] SELinux: Fine-grained Netlink support - SELinux changes This patch contains SELinux changes which add support for extended Netlink socket classes and the associated permissions nlmsg_read and nlmsg_write. Cc: David S. Miller Signed-off-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.129, 2004-06-18 08:15:25-07:00, jmorris@redhat.com [PATCH] SELinux: Fine-grained Netlink support - add sk to netlink_send hook Modifies the LSM netlink_send() hook so that it takes a struct sock parameter. SELinux will use this parameter to lookup the class of socket, which was assigned during socket security initialization. Cc: David S. Miller Signed-off-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.128, 2004-06-18 08:15:14-07:00, jmorris@redhat.com [PATCH] SELinux: Fine-grained Netlink support - move security_netlink_send() hook This patch moves the security_netlink_send() LSM hook after the user copy, so that LSM modules can safely examine skb payload content. For SELinux, we need to look at the Netlink message type. Cc: David S. Miller Signed-off-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.127, 2004-06-18 08:15:04-07:00, jmorris@redhat.com [PATCH] SELinux: Fine-grained Netlink support - SELinux headers update This patch regenerates the SELinux module headers to reflect new class and access vectors definitions. The size of the diff is misleading; much of it is simply a change in the ordering of the automatically generated definitions. The corresponding generation script has been changed to ensure a stable order in the future. Please apply. Author: Stephen Smalley Cc: David S. Miller Signed-off-by: Stephen Smalley Signed-off-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.126, 2004-06-18 08:14:53-07:00, chrisw@osdl.org [PATCH] fix simple_strtoul base 16 handling I know it's simple_strtoul, but is it meant to be that simple? Fix up for both simple_strtoul and simple_strtoull. simple_strtoul(0x401b, NULL, 0) = 0x401b simple_strtoul(0X401b, NULL, 0) = 0x0 simple_strtoul(0x401b, NULL, 16) = 0x0 simple_strtoul(0X401b, NULL, 16) = 0x0 simple_strtoull(0x401b, NULL, 0) = 0x401b simple_strtoull(0X401b, NULL, 0) = 0x0 simple_strtoull(0x401b, NULL, 16) = 0x0 simple_strtoull(0X401b, NULL, 16) = 0x0 Signed-off-by: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.125, 2004-06-18 08:14:42-07:00, eger@havoc.gtf.org [PATCH] rivafb: fb accel capabilities Here's the fb accel capabilities patch for rivafb. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.124, 2004-06-18 08:14:31-07:00, geert@linux-m68k.org [PATCH] fix warning in fbmem.c Fix a const/non-const warning. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.123, 2004-06-18 08:14:20-07:00, eger@havoc.gtf.org [PATCH] fix radeonfb panning and make it play nice with copyarea() radeonfb: fix panning corruption on a large virtual screen, Make panning and copyarea() play nicely with each other. Signed-off-by: David Eger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.122, 2004-06-18 08:14:09-07:00, lethal@Linux-SH.ORG [PATCH] asiliantfb init fix asiliantfb seems to have only been partially merged (the fbmem.c bits in particular seem to have been missed entirely). This adds them back in, though they do seem to be present in the fbdev tree, at least they were the last time I looked. These are the last bit of outstanding changes I have in the LinuxSH tree for asiliantfb, so it would be nice to get this out of the way. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.121, 2004-06-18 08:13:58-07:00, adaplas@hotpop.com [PATCH] More updates to rivafb driver 1. pass info->monspecs.modedb and info->monspecs.modedb_len to fb_find_mode() instead of NULL, 0 since its contents are specific to the attached display. Anyway, if info->monspecs.modedb == NULL, fb_find_mode() will use the default database. 2. Added best fit algo to fb_find_mode(). 3. Use snprintf instead of sprintf. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.120, 2004-06-18 08:13:47-07:00, adaplas@hotpop.com [PATCH] Updates to rivafb driver The patch updates rivafb to the following: 1. Fixed cursor corruption and simplified cursor code. 2. Maximized var->yres_virtual on initial mode setting. Scrolling, therefore, defaults to y-panning which is significantly faster. 3. Restricted var->xres_virtual and var->yres_virtual to 0x7fff (hardware limitation?). Otherwise, var->yres_virtual > 0x7fff + panning will hang the GPU. 4. Added I2C/DDC support. This feature enables independent mode setup to rivafb. 'stty rows n cols n' should now work correctly. This is a configurable option. 5. Various/minor fixes to drawing code. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.119, 2004-06-18 08:13:36-07:00, eger@havoc.gtf.org [PATCH] fbcon: prefer pan when available Improve heuristics to favor panning over copyarea() thanks to pseudocode from Antonino Daplas Signed-off-by: David Eger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.118, 2004-06-18 08:13:25-07:00, eger@havoc.gtf.org [PATCH] fb accel capabilities Baseline patch to make framebuffer/fbcon interaction more sane by basing the fbcon heuristics on capabilities advertized by underlying framebuffer via the fb_info.flags field. This patch updates fbcon, fb.h, and skeletonfb.c. It does *not* yet update the drivers themselves. They should compile and work, but their hinting is not correct yet, meaning most fb drivers will be slow until I set the flags to the right hinting driver-by-driver Signed-off-by: David Eger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.117, 2004-06-18 08:13:13-07:00, daniel@osdl.org [PATCH] handle partial DIO write The fsx-linux hole fill failure problem was caused by generic_file_aio_write_nolock() not handling the partial DIO write correctly. Here's a patch lets DIO do the partial write, and the fallback to buffered is done (correctly) for what is left. This fixes the hole filling without retrying the entire i/o. This patch also applies to 2.6.7-rc3 with some offset. I tested this (on ext3) with fsx-linux -l 500000 -r 4096 -t 4096 -w 4096 -Z -N 10000 junk -R -W Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.116, 2004-06-18 08:13:02-07:00, schwidefsky@de.ibm.com [PATCH] s390: lost dirty bits The SetPageUptodate function is called for pages that are already up to date. The arch_set_page_uptodate function of s390 may not clear the dirty bit in that case otherwise a dirty bit which is set between the start of an i/o for a writeback and a following call to SetPageUptodate is lost. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.115, 2004-06-18 08:12:51-07:00, hch@lst.de [PATCH] fix standalone inclusion of asm-i386/dma-mapping.h Without this a usb-storage patch I sent fails on x86 because dma-mapping.h uses struct device and various VM stuff without proper includes. It's fine on ppc at least. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.114, 2004-06-18 08:12:41-07:00, jmorris@redhat.com [PATCH] Fix sock_orphan race. The patch below fixes a race between sock_orphan() and selinux_socket_sock_rcv_skb() which can lead to a null pointer deref oops under heavy load. The sk_callback_lock is used in the patch to synchronize access to the incoming socket's inode security state. This patch has been under test in the Fedora kernel for over a month without incident. Author: Stephen Smalley Signed-off-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.113, 2004-06-18 08:12:29-07:00, marcelo.tosatti@cyclades.com [PATCH] update Marcelo CREDITS info Update my CREDITS information. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.112, 2004-06-18 08:12:18-07:00, jmorris@redhat.com [PATCH] Add security_file_permission() to AIO paths. Currently, there are no LSM hooks in the AIO codepaths, which means that LSM based access controls are not revalidated upon AIO read and write operations. The patch below adds the security_file_permission() LSM hook prior to the VFS aio_read()/aio_write() calls. Signed-off-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.111, 2004-06-18 08:12:08-07:00, linux@dominikbrodowski.de [PATCH] add 1 in __const_udelay() The "mull" instruction in __const_udelay() cuts off the lower 32 bits -- so, it is "rounding down". This is both an issue for small ndelay()s for _all_ values for loops_per_jiffy and for certain {n,u}delay()s for many loops_per_jiffy values. Assuming LPJ = 1501115 udelay(87) results in 130597 loops to be spent. However, 1000 * 130597 / 1501115 is 86.999997 us, so we're actually _rounding down_. 1000 * 130598 / 1501115 is 87.000662841, which would be the technically correct thing to do. Of course, for the TSC case this won't matter as the maths take some time, so the actual delay is 1000 * __udelay(x) / lpj + __OVERHEAD(x) Anybody worried about both the additional overhead and the fact that the overhead takes some time to run should add a check if (unlikely(xloops < OVERHEAD)) return; xloops -= OVERHEAD; to the delay() routines in arch/i386/kernel/timers/*.c and determine what the OVERHEAD is. Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.110, 2004-06-18 08:11:56-07:00, linux@dominikbrodowski.de [PATCH] round up in __udelay() Round up in __udelay(): 2**32 / 100000 is 4294.97, so it's more intuitive to round up, and it causes more predictable results: n usec delay on a 1500000 BogoMIPS system: n before -mull after 1 1000 ticks 1499 ticks 1500 ticks 10 14000 ticks 14999 ticks 15000 ticks n usec delay on a 100000 BogoMIPS system: n before -mull after 1 0 ticks 99 ticks 100 ticks 10 0 ticks 999 ticks 1000 ticks 100 9000 ticks 9999 ticks 10000 ticks While it can be argued that some time is also spent in the delay functions, it's better to spend _at least_ the specified time sleeping, in my humble opinion. And the overhead of a specific ->delay() implementation should be substracted in the specific ->delay() implementation. Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.109, 2004-06-18 08:11:46-07:00, linux@dominikbrodowski.de [PATCH] mull'ify multiplication with HZ in __const_udelay() John Stultz mentioned on lkml ( http://lkml.org/lkml/2004/6/5/15 ) that calls to udelay() don't delay long enough, causing trouble e.g. in the USB subsystem. The following patches address this issue. Move the multiplication of (loops_per_jiffy * xloops) with HZ into the "mull" asm operation. This increases the accuracy of the delay functions largely: n usec delay on a system with loops_per_jiffy = 1500000 : n before after 1 1000 ticks 1499 ticks 10 14000 ticks 14999 ticks n usec delay on a system with loops_per_jiffy = 100000 : n before after 1 0 ticks 99 ticks 10 0 ticks 999 ticks 100 9000 ticks 9999 ticks As noted by Kurt Garloff, it's necessary to adjust for large loops_per_jiffies, as the multiplication of it with HZ fails for 4GHz or larger. So, John Stultz suggested multiplying xloops with 4 first, and multiplying with (HZ/4). Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.108, 2004-06-18 08:11:35-07:00, neilb@cse.unsw.edu.au [PATCH] Fix raid1 read_balancing code. The meaning of mddev->in_sync changed subtly a while ago, and raid1 wasn't changed to match. This results in raid1 read_balancing not working properly. This patch corrects the relevant test. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.107, 2004-06-18 08:11:24-07:00, alex@clusterfs.com [PATCH] ext3: htree readdir fix I've observed that ext3_htree_fill_tree() doesn't ignore empty records (de->inode == 0). test case is very simple: turn htree on, create several hundreds of files, remove them and look at strace ls: [root@victim tests]# ls -a /test/1 . .. [root@victim tests]# strace ls /test/1/ .... getdents64(3, /* 18 entries */, 4096) = 432 getdents64(3, /* 0 entries */, 4096) = 0 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.106, 2004-06-18 08:11:13-07:00, wli@holomorphy.com [PATCH] fix isofs ignoring noexec and mode mount options * Removed period check for executables in fs/isofs/inode.c This fixes Debian BTS #162190 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=162190 From: Jan Gregor To: Debian Bug Tracking System Subject: kernel-source-2.4.18: kernel ignores noexec and mode option in cdrom case Message-ID: <20020924162129.A328@pisidlo> In /etc/fstab i have following line: /dev/cdrom /cdrom iso9660 gid=100,noauto,ro,noexec,mode=0444,user 0 0 I found on one CD that some files have exec bit set. From brief view those files has no extension (filename.ext). My drive is asus-1610a (ATAPI writer) connected throught scsi-emulation. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.105, 2004-06-18 08:11:04-07:00, wli@holomorphy.com [PATCH] fix handling of '/' embedded in filenames in isofs * Fix slashes in broken Acorn ISO9660 images in fs/isofs/dir.c (Darren Salt) This fixes Debian BTS #141660. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=141660 From: Darren Salt Message-ID: <4B238BA09A%linux@youmustbejoking.demon.co.uk> To: submit@bugs.debian.org Subject: Handle '/' in filenames in broken ISO9660 images [Also applicable to 2.2.x] There has been for some time a problem with certain CD-ROMs whose images were generated using a particular tool on Acorn RISC OS. The problem is that in certain catalogue entries, the extension separator character '/' (RISC OS uses '.' and '/' the other way round) was not replaced with '.'; thus Linux cannot properly parse this without this patch, thinking that it is a directory separator. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.104, 2004-06-18 08:10:53-07:00, wli@holomorphy.com [PATCH] fix duplicate environment variables passed to init * Fixed argument processing bug in init/main.c (Eric Delaunay) This fixes Debian BTS #58566. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=58566 From: Eric Delaunay Message-Id: <200002201918.UAA02327@jazz.pontchartrain.fr> Subject: pb in handling parameters on kernel command line To: submit@bugs.debian.org (debian bug tracking system) Hello, I found some bugs in kernel command line parser. AFAIK, they are not Debian nor sparc specific but I'm not subscribed to linux-kernel mailing list and since I'm involved with boot-floppies (mainly for sparc), I think I'm right to report it here. Feel free to forward it upstream (I checked the latest 2.3.46 sources and it seems these bugs are still there). These bugs are not release critical. The latter just not gives the user a chance to overwrite TERM env var at boot time. It could be just inconvenient for serial console boot, and in this case, our busybox' init is already enforcing TERM=vt102. Nevertheless if it could not be fixed before the release, I could even write a workaround in busybox' init (it's just a matter of rewriting getenv()). At last, it does not affect sysvinit package because serial console tty is controlled by a getty process which is reading terminal settings on its command line (take a look in inittab for T0 entries, if any). Ok, here is my modest contribution to kernel hacking. I don't know much about kernel internals but it seems that argument parsing is a bit broken. One trivial patch for command line like "init=/bin/sh console=prom" where console=prom is replaced by lot of spaces in previous call to setup_arch() on sparc, therefore the line parsed by parse_options() is really "init=/bin/sh " and a lot of null args are pushed into argv_init. The other patch is for command line like "TERM=vt100" where both default & user TERM entries are pushed into the env array. Taking a look into /proc/1/environ, it shows up: HOME=/ TERM=linux TERM=vt100 It appears that ash (maybe other shells too) is giving the latter entry but glibc getenv() is giving the former. It is therefore impossible to get entry from the user in a C program like busybox' init (used in Debian boot-floppies). I guess getenv() is not written to support duplicate entries, therefore the kernel should avoid such construct. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.103, 2004-06-18 08:10:43-07:00, wli@holomorphy.com [PATCH] unregister driver if probing fails in sb_card.c * Unregister driver if probing fails in sound/oss/sb_card.c This fixes Debian BTS #218845. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=218845 From: Robin Gerard To: submit@bugs.debian.org Subject: no sound with kernel-image-2.6.0-test9-1-386 Message-ID: <20031103004939.GA2071@mauritius> I downlaoded the kernel-image-2.6.0-test9-1-386_2.6.0-test9-1_i386.deb and I installed it successfully. Everything works fine, except the sound. (I run also the kernel-image-2.4.20 and the sound is ok with this kernel) My sound card is a sb. First I launched modconf but no module was displayed. I did: modprobe sb and I got: sb: Init: Done sb: Init: Starting Probe... kobject_register failed for OSS SndBlstr (-17) Call Trace: [] kobject_register+0x3a/0x40 [] bus_add_driver+0x30/0x64 [] driver_register+0x2d/0x34 [] preempt_schedule+0x2a/0x48 [] pnp_register_driver+0x28/0x58 [] pnp_register_card_driver+0x5e/0x98 [] sb_init+0x63/0xb5 [sb] [] sys_init_module+0xe8/0x1f0 [] syscall_call+0x7/0xb Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.102, 2004-06-18 08:10:32-07:00, wli@holomorphy.com [PATCH] lower priority of "too many keys" msg in atkbd.c From: "Jon Thackray" * Lowered priority of "too many keys" message in drivers/input/keyboard/atkbd.c This fixes Debian BTS #239036. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=239036 The keyboard under 2.6.4 seems to be behaving strangely, reporting unknown key codes and too many keys pressed, even when no keys have been pressed. The keyboard is connected via an 8 way KVM switch, but was working quite acceptably under 2.4.25 with no such messages. Trying 2.6.3 is not an option as it doesn't support the hardware properly, as previously reported. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.101, 2004-06-18 08:10:21-07:00, rddunlap@osdl.org [PATCH] istallion printk fix istallion: Remove duplicate "%d" in printk(); Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.100, 2004-06-18 08:10:10-07:00, egmont@uhulinux.hu [PATCH] Shift+PgUp if nr of scrolled lines is < 4 Using the vga console driver, if the number of the lines scrolled out is less than four, then Shift+PageUp doesn't work. The bug is closely related to the 'margin' feature of scrolling, which means that if less than four lines should remain unvisible in the direction we are scrolling to, then we scroll a little bit more just to see those few lines. Kind of two small magnets at the borders of the buffer. This bug was also reported with maybe a less clear description by Stepan Koltsov (cc'ed just for fun) back in 2001 and he got no answer. I found it at http://seclists.org/lists/linux-kernel/2001/Nov/0080.html His patch simply disables margin support and hence everythings becomes okay, but you lose a nice feature. Here's a patch that retains margin support and fixes the bug. Works for me, tested for a week. No guarantee. As I don't fully understand the code (see also my previous mail) I'm not 100% sure that I'm doing the right thing, so I'd prefer if someone would take a closer look at it. At least 2.4 and 2.6 are affected, maybe older ones too. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.99, 2004-06-18 08:09:59-07:00, davidel@xmailserver.org [PATCH] epoll: replace the file lookup hash with rbtrees The epoll allocation for the fd lookup hash used to allocate up to 1MB (depending on the "hint" size passed to epoll_create()) with __get_free_pages(0), and this might lead to a "malicious" user to do something like: for (i = 0; i < 1024; i++) epoll_create(BIG-NUM); You can replace "malicious user" with IBM-ltp test suite, and the meaning does not change. The above code might exhaust memory badly, even before the file creation limit is topped. Also, the allocation was independent from the number of fds pushed into the epoll fd hash. Using an rb-tree ther will be not pre-allocation of the hash, and the size of the memory used will be proportional to the number of fds pushed into the epoll fd. The patch also removes 100 lines of code, that is never a bad thing ;) Signed-off-by: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.98, 2004-06-18 08:09:48-07:00, rtjohnso@eecs.berkeley.edu [PATCH] drivers/char/ipmi/ipmi_devintf.c: user/kernel pointer typo Judging from context, I think there's a misplaced "&" in this code that can cause stack overflows and other nasty problems. Perhaps it's left over from when msgdata was an array instead of a pointer? Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.97, 2004-06-18 08:09:37-07:00, akpm@osdl.org [PATCH] Make update_one_process() static Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.96, 2004-06-18 08:09:26-07:00, vandrove@vc.cvut.cz [PATCH] Decrease stack usage in ncpfs's ioctl It decreases stack consumption in one of ncpfs's paths from 3000 to 2200 bytes (and stack portion in ncpfs ioctl code from 1336 to 452 bytes). - some code used large structure (with embeded 256 bytes for filename) while it never passed filename around. Use something smaller in ncp_conn_logged_in. Decrease 616 => 300. - gcc-3.3 is very bad when it comes to parallel blocks in ioctl. Split some branches from large switch to separate functions. ncp_ioctl now uses 152 bytes of stack (instead of 720) and biggest child 64. Signed-off-by: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.95, 2004-06-18 08:09:16-07:00, herbert@gondor.apana.org.au [PATCH] swsusp: remove copy_pagedir It can be replaced by a simple memcpy. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.94, 2004-06-18 08:09:05-07:00, herbert@gondor.apana.org.au [PATCH] remove unnecessary memsets from swsusp and pmdisk Here's the patch that removes the memset calls from both pmdisk and swsusp. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.93, 2004-06-18 08:08:54-07:00, herbert@gondor.apana.org.au [PATCH] omdisk memory leak fix Fix a couple of memory leaks in the pmdisk driver. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.92, 2004-06-18 08:08:43-07:00, pavel@ucw.cz [PATCH] Fix memory leak in swsusp This fixes 2 memory leaks in swsusp: during relocating pagedir, eaten pages were not properly freed in error path and even regular freeing path was freeing one page too little. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.91, 2004-06-18 08:08:32-07:00, axboe@suse.de [PATCH] blk: move threshold unplugging The 'unplug on queued exceeding unplug threshold' logic only works for file system requests currently, since it's in __make_request(). Move it where it belongs, in elv_add_request(). This way it works for queued block sg requests as well. Signed-Off-By: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.90, 2004-06-18 08:08:21-07:00, axboe@suse.de [PATCH] fix cdrom mt rainier probe Mt rainier probe must be deferred to media load time, since it requires a valid media (the drive may present a different capability based on what media is loaded). This fixes that for ide-cd and sr. Signed-Off-By: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.89, 2004-06-18 08:08:10-07:00, mikem@beardog.cca.cpqcorp.net [PATCH] cciss ioctl32 update This patch provides a conversion routine for 32-bit user space apps that call into a 64-bit kernel on x86_64 architectures. This is required for the HP Array Configuration utility and the HP management agents. Without this patch the apps will not function. The 2 ioctls affected are the cciss pass thru ioctls. Caveat: it spits out 2 warnings during compilation. I've tried everything I can think of to clean them up, but... If anyone has any helpful suggestions I'm all ears. Code by Stephen Cameron Tested by Stephen Cameron & Mike Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.88, 2004-06-18 08:07:59-07:00, andrea@suse.de [PATCH] remap_file_pages() speedup Avoid taking down_write(mmap_sem) unless we really need it. Seems that the only reason we're taking it for writing is to protect vma->vm_flags. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.87, 2004-06-18 08:07:48-07:00, arun.sharma@intel.com [PATCH] sys_getdents64 needs compat wrapper Due to different structure alignment rules in the ABI between ia32 and ia64, certain members of the dirent structure are not guaranteed to be 8 byte aligned on ia64. This requires a compat wrapper around these 32 bit system calls. Other architectures may or may not have the problem, depending on the alignment rules. This was observed by running /emul/ia32-linux/bin/ls on 2.6.6 which produces kernel mode unaligned faults. Original patch by: Arnd Bergmann Signed-off-by: Gordon Jin Signed-off-by: Arun Sharma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.86, 2004-06-18 08:07:37-07:00, tvignaud@mandrakesoft.com [PATCH] checksatck.pl fixes - "\<" and "\>" can be safely replaced with "<" and ">" - "$var =~ /^string$/" is better written "$var eq 'string'" - $i is better written without the double quotes - it's not safe to use for without "my"ing the iteration variable - "print foreach @array" is better written "print @array" - declare variables - ".*" is useless at the end of a regexp - "$a[@a] = $foo" is a rather obfuscated syntax for "push @a, $foo"... let's not opencoding language basic operators... - ignoring return value from a regexp is very bad: this can results in working on previous value of $1, $2, ... Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.85, 2004-06-18 08:07:26-07:00, ashok.raj@intel.com [PATCH] don't create cpu/online sysfs file This file provides ability for caller of register_cpu() to either create a control file, or not. This can be handy if a particular platform decides that certain CPU's are not removable. Hence would like to not create a control file. Signed-off-by: Dave Hansen Signed-off-by: Ashok Raj Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.84, 2004-06-18 08:07:15-07:00, umka@namesys.com [PATCH] memory allocation checks in cs46xx_dsp_proc_register_scb_desc() Adds memory allocation checks in cs46xx_dsp_proc_register_scb_desc() Signed-off-by: Yury Umanets Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.83, 2004-06-18 08:07:05-07:00, torque@ukrpost.net [PATCH] memory allocation checks in mtdblock_open() Fixes memory allocation check in mtdblock_open() Signed-off-by: Yury Umanets Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.82, 2004-06-18 08:06:54-07:00, torque@ukrpost.net [PATCH] memory allocation checks in eth1394_update() Adds memory allocation checks in eth1394_update(). Signed-off-by: Yury Umanets Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.81, 2004-06-18 08:06:43-07:00, ak@suse.de [PATCH] Use numa policy API for boot time policy Suggested by Manfred Spraul. __get_free_pages had a hack to do node interleaving allocation at boot time. This patch sets an interleave process policy using the NUMA API for init and the idle threads instead. Before entering the user space init the policy is reset to default again. Result is the same. Advantage is less code and removing of a check from a fast path. Removes more code than it adds. I verified that the memory distribution after boot is roughly the same. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.80, 2004-06-18 08:06:32-07:00, wli@holomorphy.com [PATCH] apic: make mach_default compile again While sweeping the APIC code two points were missed. The first is getting the definition of BAD_APICID available to include/asm-i386/mach-default/mach_apic.h by #including the right header, and the second is UP local APIC without UP IO-APIC linking in get_broadcast_physid(). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.79, 2004-06-18 08:06:21-07:00, wli@holomorphy.com [PATCH] apic: remove marking of non-present physids in phys_cpu_present_map Marking invalid APIC ID's in phys_cpu_present_map was intended to generate "collisions" between APIC ID's in order to assist the ordinary bounds checking against the broadcast physical APIC ID. However, this is bounds checked everywhere it's necessary, and it's also not even possible to properly bounds-check everywhere. So this patch removes that marking of non-present physical APIC ID's. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.78, 2004-06-18 08:06:09-07:00, wli@holomorphy.com [PATCH] apic: fix kicking of non-present cpus The following patch repairs kicking of non-present cpus by making cpu_present_to_apicid() bounds-check its argument. It also corrects the same issue on NUMA-Q by correctly passing the generated artificial APIC ID instead of the raw value discovered in the MP table. A miscellaneous compilefix for CONFIG_ACPI_BOOT is also included for completeness. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.77, 2004-06-18 08:05:58-07:00, wli@holomorphy.com [PATCH] APIC enumeration fixes The following patch appears sound according to an audit to ensure that all of the codepaths where it was introduced were called after the APIC fixmappings were set up. This patch introduces get_physical_broadcast(), which checks the version ID of the local APIC to determine whether it's a serial APIC or xAPIC, and returns the correct physical broadcast ID. It replaces all uses of APIC_BROADCAST_ID and IO_APIC_MAX_ID with this in order to ensure. It also changes the checks during MP table parsing so the APIC ID is checked in tandem with the version number. I'm holding out for some kind of testing to get an idea of whether this covers the cases or introduces regressions, or whatever. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.76, 2004-06-18 08:05:47-07:00, akpm@osdl.org [PATCH] i386 uninline some bitops Uninline the non-leaf bit search functions. Saves 9 kbytes from my vmlinux. And gratuitously s/__inline__/inline/ Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.75, 2004-06-18 08:05:36-07:00, wli@holomorphy.com [PATCH] x86_64 numa cpumask build fix arch/x86_64/mm/numa.c: In function `numa_initmem_init': arch/x86_64/mm/numa.c:185: error: incompatible types in assignment Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.74, 2004-06-18 08:05:25-07:00, tom.l.nguyen@intel.com [PATCH] msi TARGET_CPUS fix Somehow the change in TARGET_CPUS generated this error in UP environment. Patch below will fix it. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.73, 2004-06-18 08:05:14-07:00, kevcorry@us.ibm.com [PATCH] dm: dm-raid1.c: Use list_for_each_entry_safe dm-raid1.c: In rh_exit(), use list_for_each_entry_safe instead of list_for_each_safe. Signed-off-by: Kevin Corry Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.72, 2004-06-18 08:05:03-07:00, kevcorry@us.ibm.com [PATCH] dm: dm-raid1.c: Make delayed_bios a bio_list dm-raid1.c: Make struct region::delayed_bios a bio_list instead of a bio*. This will ensure the queued bios are kept in the proper order. Signed-off-by: Kevin Corry Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.71, 2004-06-18 08:04:52-07:00, kevcorry@us.ibm.com [PATCH] dm: dm-io: Error handling dm-io: Proper error handling when someone is trying to read from multiple regions. Signed-off-by: Kevin Corry Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.70, 2004-06-18 08:04:41-07:00, kevcorry@us.ibm.com [PATCH] dm: Use structure assignments instead of memcpy Use structure assignments instead of memcpy's. [Suggested by akpm during kcopyd review.] Signed-off-by: Kevin Corry Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.69, 2004-06-18 08:04:32-07:00, kevcorry@us.ibm.com [PATCH] dm: Create/destroy kcopyd on demand. Create/destroy kcopyd on demand. This changes kcopyd to initialize its mempool and workqueue only when a client specifically needs to use it. Signed-off-by: Kevin Corry Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.68, 2004-06-18 08:04:21-07:00, kevcorry@us.ibm.com [PATCH] dm: Documentation Device-Mapper documentation. Signed-off-by: Kevin Corry Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.67, 2004-06-18 08:04:10-07:00, christophe@saout.de [PATCH] Device-mapper: dm-zero flushing fix Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.66, 2004-06-18 08:03:59-07:00, kevcorry@us.ibm.com [PATCH] dm: dm-zero version Add missing dm-zero version number. From: Alasdair Kergon Signed-off-by: Kevin Corry Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.65, 2004-06-18 08:03:48-07:00, agk@redhat.com [PATCH] Device-mapper: dm-zero Add dm-zero target Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.64, 2004-06-18 08:03:37-07:00, agk@redhat.com [PATCH] Device-mapper: mirroring Add mirror target. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.63, 2004-06-18 08:03:25-07:00, kevcorry@us.ibm.com [PATCH] dm: Fix error cleanup in dm_create_persistent() dm-exception-store.c: Fix error cleanup in dm_create_persistent(). This was originally found by chrisw during code review. From: Dave Olien Signed-off-by: Kevin Corry Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.62, 2004-06-18 08:03:15-07:00, agk@redhat.com [PATCH] Device-mapper: snapshots Add snapshot target Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.61, 2004-06-18 08:03:03-07:00, kevcorry@us.ibm.com [PATCH] kcopyd commentary We're also working on some general documentation which will go in Documentation/device-mapper and will include more detailed information about the core driver and the other sub-modules. We'll try to submit those patches in the near future. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.60, 2004-06-18 08:02:55-07:00, kevcorry@us.ibm.com [PATCH] dm: kcopyd: No need to lock pages No need to lock kcopyd pages. From: Alasdair Kergon Signed-off-by: Kevin Corry Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.59, 2004-06-18 08:02:44-07:00, kevcorry@us.ibm.com [PATCH] dm: kcopyd: remove superfluous INIT_LIST_HEADs Remove superfluous kcopyd INIT_LIST_HEAD. From: Alasdair Kergon Signed-off-by: Kevin Corry Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.58, 2004-06-18 08:02:33-07:00, agk@redhat.com [PATCH] Device-mapper: kcopyd Add kcopyd - a daemon for copying regions of block devices around in an efficient manner. Multiple destinations can be specified for a copy. Designed to perform well both with many small chunks or few large chunks. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.57, 2004-06-18 08:02:21-07:00, agk@redhat.com [PATCH] dm-io: device-mapper i/o library for kcopyd Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.56, 2004-06-18 08:02:10-07:00, bogdan.costescu@iwr.uni-heidelberg.de [PATCH] 3c59x: support for ATI Radeon 9100 IGP The following patch adds support for the 3Com networking core found in the ATI Radeon 9100 IGP southbridge used on boards like Asus P4R800-VM. The main point of this patch is using HAS_MII instead of HAS_NWAY for the definition of the board. All the previous trials since the end of last year used HAS_NWAY which disables the Tx part of the transceiver; using HAS_NWAY was the way all 3Com Cyclone and Tornado chips worked, as they had the transceiver integrated. The ATI solution has an external transceiver and I had to physically see the different chip on the board (the board was provided by ATI) to finally understand that it needs the HAS_MII definition... I'm still waiting for some docs from ATI to clarify if this is the correct way of handling this chip and if there are any differences w.r.t EEPROM handling, but as it appears to work and was also confirmed by other testers, I don't want to keep owners of such boards away from their networks :-) The textual identification was a bit hard to decide; it's called "3c920B-EMB-WNM" in the Windows .INF file that Asus provides for their boards. As this name was already used for PCI ID 9210, I added the paranthesis which specifies where this chip is found. The Scyld driver defines FEATURE_TORNADO to include HAS_NWAY. This board would then probably need to not be defined with FEATURE_TORNADO, but the same as in this patch. I would like to publicly thank Tyson Vickers for both ideas and patience during the last few weeks. He managed to get the driver working by randomly setting driver parameters :-) But then he contacted me and worked with me towards the solution. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.55, 2004-06-18 08:01:58-07:00, thomas@winischhofer.net [PATCH] sisfb update 1.7.10 attached is an update for the sisfb driver to version 1.7.10. This update includes - fixes for pure 64bit and 32/64bit mixed systems (add ioctl conversion; fix variable sizes, etc; REQUIRED for current X.org/XFree86 on 64bit systems, even if pure 64bit), - fixes for 301C video bridge, (scales TV output correctly now) - fixes for 1600x1200 and 1400x1050 LCD panels, - many fixes for 661/741/760 (amongst others, proper LFB support for the 760 and corrections for SiS' new BIOS data layout; would lead to display corruption with old driver) - add support for many modes for LCD which were unsupported previously, - add support for HiVision and YPbPr HDTV - "vga=" statement now honoured properly (sisfb will set the same mode as the kernel did by default) - use LCD native resolution mode if no mode is given - a major clean up of main driver code, - radical removal of duplicate (or nearly duplicate) code, - switched to 2.6 module_param macros, - enhanced communication with the X driver, - added eventual POSTing of SiS300/305 card for non-x86 archs, - added ability to relocate the image on the TV screen using a userland tool, - added Documentation/fb/sisfb.txt (why the heck was this missing?!) - small fix for SiS DRM driver (match 32/64bit fixes mentioned above) (cast the data passed to sis_free as u32) - make driver re-entrant by avoiding static structures and variables. As usual, heavily tested. The mode switching code is even lab-tested by SiS (although 100% written by me). Please apply asap (especially since 64bit systems were not properly supported previously; as mentioned, current X.org/XFree86 needs this update for proper communication with the framebuffer driver on 64bit systems. X crashes on such systems with the old driver). Signed-off-by: Thomas Winischhofer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.54, 2004-06-18 08:01:45-07:00, paul@serice.net [PATCH] iso9660: NFS fix Make all inode numbers unique for images less than 128GB in size. Required for knfsd. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.53, 2004-06-18 08:01:34-07:00, paul@serice.net [PATCH] iso9660: fix handling of inodes beyond 4GB This is my fourth attempt to patch the isofs code. It is similar to the last posting except this one implements the NFS get_parent() method which has always been missing. The original problem I set out to addresses is that the current iso9660 file system cannot reach inodes located beyond the 4GB barrier. This is caused by using the inode number as the byte offset of the inode data. Being 32-bits wide, the inode number is unable to reach inode data that does not reside on the first 4GB of the file system. This causes real problems with "growisofs" http://fy.chalmers.se/~appro/linux/DVD+RW/#isofs4gb and my pet project "shunt" http://www.serice.net/shunt/ This patch switches the isofs code from iget() to iget5_locked() which allows extra data to be passed into isofs_read_inode() so that inode data anywhere on the disk can be reached. The inode number scheme was also changed. Continuing to use the byte offset would have resulted in non-unique inodes in many common situations, but because the inode number no longer plays any role in reading the meta-data off the disk, I was free to set the inode number to some unique characteristic of the file. I have chosen to use the block offset which is also 32-bits wide. Lastly, the pre-patch code uses the default export_operations to handle accessing the file system through NFS. The problem with this is that the default NFS operations assume that iget() works which is no longer the case because of the necessity of switching to iget5_locked(). So, I had to implement the NFS operations too. As a bonus, I went ahead and implemented the NFS get_parent() method which has always been missing. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.52, 2004-06-18 08:01:23-07:00, tim@physik3.uni-rostock.de [PATCH] BSD accounting format rework BSD accounting format rework: Use all explicit and implicit padding in struct acct to - correctly report 32 bit uid/gid, - correctly report jobs (e.g., daemons) running longer than 497 days, - increase the precision of ac_etime from 2^-13 to 2^-20 (i.e., from ~6 hours to ~1 min. after a year) - store the current AHZ value. - allow cross-platform processing of the accounting file (limited for m68k which has a different size struct acct). - introduce versioning for smooth transition to incompatible formats in the future. Currently the following version numbers are defined: 0: old format (until 2.6.7) with 16 bit uid/gid 1: extended variant (binary compatible to v0 on M68K) 2: extended variant (binary compatible to v0 on everything except M68K) 3: a new binary incompatible format (64 bytes) 4: new binary incompatible format (128 bytes). layout of its first 64 bytes is the same as for v3. 5: marks second half of new binary incompatible format (128 bytes) (layout is not yet defined) All this is accomplished without breaking binary compatibility. 32 bit uid/gid support is compatible with the patch previously floating around and used e.g. by Red Hat. This patch also introduces a config option for a new, binary incompatible "version 3" format that - is uniform across and properly aligned on all platforms - stores pid and ppid - uses AHZ==100 on all platforms (allows to report longer times) Much of the compatibility glue goes away when v1/v2 support is removed from the kernel. Such a patch is at http://www.physik3.uni-rostock.de/tim/kernel/2.7/acct-cleanup-04.patch and might be applied in the 2.7 timeframe. The new v3 format is source compatible with current GNU acct tools (6.3.5). However, current GNU acct tools can be compiled for only one format. As there is no way to pass the kernel configuration to userspace, with my patch it will still only support the old v2 format. Only if v1/v2 support is removed from the kernel, recompiling GNU acct tools will yield v3 support. A preliminary take at the corresponding work on cross-platform userspace tools (GNU acct package) is at http://www.physik3.uni-rostock.de/tim/kernel/utils/acct/ This version of the package is able to read any of the v0/v2/v3 formats, regardless of byte-order (untested), even within the same file. Cross-platform compatibility with m68k (v1 format) is not yet implemented, but native use on m68k should work (untested). pid and ppid are currently only shown by the dump-acct utility. Thanks to Arthur Corliss, Albert Cahalan and Ragnar Kjørstad for their comments, and to Albert Cahalan for the u64->IEEE float conversion code. Signed-off-by: Tim Schmielau Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.51, 2004-06-18 08:01:12-07:00, alan@redhat.com [PATCH] make the 3c59x/3c90x driver somewhat more reliable The existing driver violates basic PCI rules in several places making it unusable for basic things like DHCP in Fedora Core. This patch removes all the situations I can find where it writes to the device while in D3 state and breaks stuff. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.50, 2004-06-18 08:01:01-07:00, bwindle@fint.org [PATCH] fix 3c59x.c to allow 3c905c 100bT-FD Fix the 3c905C 10/100 transceiver initialisation woes. (This was reverted from 2.6.7-rcX, but the bug reporter said the failure turned out to be unrepeatable). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.49, 2004-06-18 08:00:52-07:00, joris@eljakim.nl [PATCH] Validate PM-Timer rate at boot time Add a check to the PM-Timer initialization code. It validates the PM-Timer rate against PIT channel 2 and rejects the PM-Timer if its rate is not withing 5% of the expected number. Rationale: The PMTMR timers of certain (older) mainboards are running at invalid rates, often much faster than the rate expected by the PM-Timer code. This causes the system clock to run much too fast. See also http://bugme.osdl.org/show_bug.cgi?id=2375 Possible workarounds are disabling the PM-Timer in the kernel config or disabling the PM-Timer at boot time through the "clock=tsc" parameter. However, we believe it is more user friendly to automatically validate the PM-Timer rate at boot time before using it as the system time source. Tested by me (with broken timer) and John Stultz (with good timer) and believed to be ok. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.48, 2004-06-18 08:00:41-07:00, willy@debian.org [PATCH] ahc1542 !CONFIG_MCA build fix The old 1542 scsi driver is both ISA and MCA. The MCA portions are disabled when !CONFIG_MCA through the typical wrapper scheme (a la pci.h and !CONFIG_PCI). However... the driver unconditionally includes linux/mca.h which in turn unconditionally includes asm/mca.h. This breaks drivers on platforms with ISA but not MCA, like alpha. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.47, 2004-06-18 08:00:30-07:00, mingo@elte.hu [PATCH] x86: remove io_apic_sync The patch below gets rid of io_apic_sync(). io_apic_sync() was introduced in 2.1.104 and it was originally done for masking and unmasking as well. Later the unmasking use got removed but the masking use lingered around. I dont think it was ever justified to do it and clearly since the lack of io_apic_sync() didnt break some of the other writes we do to the IO-APIC registers, it must be unnecessary in the masking case too. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.46, 2004-06-18 08:00:20-07:00, mingo@elte.hu [PATCH] x86: remove APIC_LOCKUP_DEBUG the patch below gets rid of APIC_LOCKUP_DEBUG. It has been in the kernel for more than 3 years and the message was only reported once during that period of time - and even in that case it was a side-effect of a really bad crash. The lockup workaround works, the debugging code can be moved out. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.45, 2004-06-18 08:00:09-07:00, pavel@ucw.cz [PATCH] io_apic.c code consolidation This cleans up io_apic.c a bit -- I do not really like 4 copies of same code. Ingo said: yeah, agreed - i checked & test it, it's ok. I made a small modification (see the patch below) to uninline the __modify_IO_APIC_irq() function - shaving 0.5K off the kernel's size. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.44, 2004-06-18 07:59:58-07:00, nickpiggin@yahoo.com.au [PATCH] Fix read() vs truncate race do_generic_mapping_read() { isize1 = i_size_read(); ... readpage copy_to_user up to isize1; } readpage() { isize2 = i_size_read(); ... read blocks ... zero-fill all blocks past isize2 } If a second thread runs truncate and shrinks i_size, so isize1 and isize2 are different, the read can return up to a page of zero-fill that shouldn't really exist. The trick is to read isize1 after doing the readpage. I realised this is the right way to do it without having to change the readpage API. The patch should not cost any cycles when reading from pagecache. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.43, 2004-06-18 07:59:47-07:00, akpm@osdl.org [PATCH] invalidate_inodes2(): mark pages not uptodate Andrea Arcangeli points out that invalidate_inode_pages2() is supposed to mark mapped-into-pagetable pages as not uptodate so that next time someone faults the page in we will go get a new version from backing store. The callers are the direct-io code and the NFS "something changed on the server" code. In both these cases we do need to go and re-read the page. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.42, 2004-06-18 07:59:36-07:00, herbert@gondor.apana.org.au [PATCH] Check return status of register calls in i82365 i82365 calls driver_register and platform_device_register without checking their return values. This patch fixes that. It also runs platform_device_register() prior to isa_probe() so we don't have to undo ise_probe()'s effects if platform_device_register() ends up failing. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.41, 2004-06-18 07:59:25-07:00, tol@stacken.kth.se [PATCH] getgroups16() fix sys_getgroups16 (or rather groups16_to_user()) returns large gids truncated. Needs to be fixed, one way or another. Don't know why the other similar casts are still there. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.40, 2004-06-18 07:59:14-07:00, rene.herman@keyaccess.nl [PATCH] same small resource tweaks, x86_64 version The same small tweaks for x86_64. Just to keep the two in sync. One additional wrinkle: vram_resource was exported to e820.c, which didn't actually use it. Undo that. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.39, 2004-06-18 07:59:03-07:00, rene.herman@keyaccess.nl [PATCH] small tweaks to standard resource stuff Various small tweaks. Compiled and booted. 1. add IORESOURCE_BUSY | IORESOURCE_MEM also for the kernel code and data resources. I don't believe this actually matters one bit, but they're hooked into a BUSY/MEM parent ("System RAM") and marking them busy seems to make sense. 2. delete the .start = 1M default for the kernel code resource. This isn't actually a change; it's set to virt_to_phys(_text) in setup_arch() overriding any default anyways. 3. s/vram_resource/video_ram_resource/. Lines up much nicer with video_rom_resource... 4. s/checksum/romchecksum/. setup.c is a fairly large file, and "checksum" pollutes the namespace. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.38, 2004-06-18 07:58:52-07:00, hpa@zytor.com [PATCH] Use first-fit for pty allocation (With Andrew Morton). The current dynamic pty allocation scheme has a few problems: - pty numbers grow to be very large, causing wtmp file bloat. - Seems to break libc5 and some old applications So change it to do first-fit. An IDR tree is used to provide a logarithmic-time search. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.37, 2004-06-18 07:58:40-07:00, tytso@mit.edu [PATCH] Ext3: Retry allocation after transaction commit (v2) Here is a reworked version of my patch to ext3 to retry certain filesystem operations after an ENOSPC error. The ext3_should_retry_alloc() function will not wait on the currently running transaction if there is a currently active handle; hence this should avoid deadlocks in the Lustre use case. The patch is versus BK-recent. I've also included a simple, reliable test case which demonstrates the problem this patch is intended to fix. (Note that BK-recent is not sufficient to address this test case, and waiting on the commiting transaction in ext3_new_block is also not sufficient. Been there, tried that, didn't work. We need to do the full-bore retry from the top level. The ext3_should_retry_alloc() will only wait on the committing transaction if there is an active handle; hence Lustre will probably also need to use ext3_should_retry_alloc() if it wants to reliably avoid this particular problem.) #!/bin/sh # # TEST_DIR=/tmp IMAGE=$TEST_DIR/retry.img MNTPT=$TEST_DIR/retry.mnt TEST_SRC=/usr/projects/e2fsprogs/e2fsprogs/build MKE2FS_OPTS="" IMAGE_SIZE=8192 umount $MNTPT dd if=/dev/zero of=$IMAGE bs=4k count=$IMAGE_SIZE mke2fs -j -F $MKE2FS_OPTS $IMAGE function test_log () { echo $* logger -p local4.notice $* } mkdir -p $MNTPT mount -o loop -t ext3 $IMAGE $MNTPT test_log Retry test: BEGIN for i in `seq 1 3` do test_log "Retry test: Loop $i" echo 2 > /proc/sys/fs/jbd-debug while ! mkdir -p $MNTPT/foo/bar do test_log "Retry test: mkdir failed" sleep 1 done echo 0 > /proc/sys/fs/jbd-debug cp -r $TEST_SRC $MNTPT/foo/bar 2> /dev/null rm -rf $MNTPT/* done umount $MNTPT test_log "Retry test: END" akpm@osdl.org Rework the code to make it a formal JBD API entry point. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.36, 2004-06-18 07:58:28-07:00, rene.herman@keyaccess.nl [PATCH] pc9800: merge std_resources.c back into setup.c std_resources.{c,h} was only split off due to pc9800 wanting to override it. With it gone, it might as well be merged back in. Doesn't change any code. It was compiled and booted. This time this also actually doesn't break compilation of any of the subarches. That's to say, any further. I guess it might have been my .config (my regular PC config, with just the subarch switched through menuconfig) or O=, but only ELAN actually compiled. Voyager and VISWS bombed out at the final link and NUMAQ much sooner (with "physnode_map undeclared" during compilation of numaq.c). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.35, 2004-06-18 07:58:17-07:00, bunk@fs.tum.de [PATCH] more PC9800 removal Removes more PC9800 code. Requires: bk rm drivers/char/upd4990a.c bk rm drivers/net/ne2k_cbus.c bk rm drivers/net/ne2k_cbus.h Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.34, 2004-06-18 07:58:05-07:00, rddunlap@osdl.org [PATCH] Remove PC9800 support PC9800 sub-arch is incomplete, hackish (at least in IDE), maintainers don't reply to emails and haven't touched it in awhile. Can't even config it to try to build it without other patches to the kernel tree. bk-rm-script: #! /bin/sh bk rm -r ./arch/i386/mach-pc9800 bk rm -r ./arch/i386/boot98 bk rm ./drivers/char/lp_old98.c bk rm ./drivers/serial/serial98.c bk rm ./drivers/scsi/scsi_pc98.c bk rm ./drivers/scsi/pc980155.c bk rm ./drivers/scsi/pc980155.h bk rm ./drivers/block/floppy98.c bk rm ./drivers/input/keyboard/98kbd.c bk rm ./drivers/input/serio/98kbd-io.c bk rm ./drivers/input/misc/98spkr.c bk rm ./drivers/input/mouse/98busmouse.c bk rm ./drivers/ide/legacy/pc9800.c bk rm ./drivers/ide/legacy/hd98.c bk rm -r ./include/asm-i386/mach-pc9800 bk rm ./include/asm-i386/pc9800_sca.h bk rm ./include/asm-i386/pc9800.h bk rm ./fs/partitions/nec98.c bk rm ./fs/partitions/nec98.h bk rm ./sound/isa/cs423x/pc98.c bk rm ./sound/isa/cs423x/pc9801_118_magic.h bk rm ./sound/isa/cs423x/sound_pc9800.h Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.33, 2004-06-18 07:57:53-07:00, Robert.Picco@hp.com [PATCH] HPET driver The driver supports the High Precision Event Timer. The driver has adopted a similar API to the Real Time Clock driver. It can support any number of HPET devices and the maximum number of timers per HPET device. For further information look at the documentation in the patch. Thanks to Venki at Intel for testing the driver on X86 hardware with HPET. HPET documentation is available at http://www.intel.com/design/chipsets/datashts/252516.htm Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.32, 2004-06-18 07:57:41-07:00, chrisw@osdl.org [PATCH] RLIM: adjust default mqueue sizes Lower default sizes for POSIX mqueue allocation now that rlimits are in place. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.31, 2004-06-18 07:57:29-07:00, chrisw@osdl.org [PATCH] RLIM: enforce rlimits for POSIX mqueue allocation Add a user_struct to the mq_inode_info structure. Charge the maximum number of bytes that could be allocated to a mqueue to the user who creates the mqueue. This is checked against the per user rlimit. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.30, 2004-06-18 07:57:18-07:00, chrisw@osdl.org [PATCH] RLIM: add mq_attr_ok() helper Add helper function mq_attr_ok() to do mq_attr sanity checking, and do some extra overlow checking. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.29, 2004-06-18 07:57:07-07:00, chrisw@osdl.org [PATCH] RLIM: add mq_bytes to user_struct Add mq_bytes field to user_struct, and make sure it's properly initialized. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.28, 2004-06-18 07:56:56-07:00, chrisw@osdl.org [PATCH] RLIM: add rlimit entry for POSIX mqueue allocation Add an rlimit entry to control the maximum number of bytes a user can allocate to a POSIX mqueue. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.27, 2004-06-18 07:56:43-07:00, chrisw@osdl.org [PATCH] RLIM: add simple get_uid() helper Add simple helper function to grab a reference to a user_struct. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.26, 2004-06-18 07:56:32-07:00, chrisw@osdl.org [PATCH] RLIM: add sigpending field to user_struct Add sigpending field to user_struct, and make sure it's properly initialized. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.25, 2004-06-18 07:56:20-07:00, chrisw@osdl.org [PATCH] RLIM: add rlimit entry for controlling queued signals The following patches introduce per user rlimits for both queued signals and POSIX message queues. The changes touch all the arches resource.h files as well as init_task.c to get the rlimit defaults setup. Both require caching the user_struct to avoid problems with setuid(). The signal changes makes some small changes to send_signal() to pass along the task being signalled to get proper accounting for signals initiated in interrupt. Thanks to Marcelo for getting this one going. This patch: Add an rlimit entry to control the maximum number of pending signals a user may have. This is essentially just the resource.h changes. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.24, 2004-06-18 07:56:09-07:00, akpm@osdl.org [PATCH] i2c fixups for idr API change Fix up the i2c code which uses the IDR library. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.23, 2004-06-18 07:55:58-07:00, minyard@acm.org [PATCH] IDR fixups There were definately some problems in there. I've made some changes and tested with a lot of bounds. I don't have a machine with enough memory to fill it up (it would take ~16GB on a 64-bit machine), but I use the "above" code to simulate a lot of situations. The problems were: * IDR_FULL was not the right value * idr_get_new_above() was not defined in the headers or documented. * idr_alloc() bug-ed if there was a race and not enough memory was allocated. It should have returned NULL. * id will overflow when you go past the end. * There was a "(id >= (1 << (layers*IDR_BITS)))" comparison, but at the top layer it would overflow the id and be zero. * The allocation should return ENOSPC for an "above" value with nothing above it, but it returned EAGAIN. I have not tested on 64-bits (as I don't have a 64-bit machine). I've included the files, a diff from the previous version, and my test programs. For the test programs, idr_test will just attempt to allocate elements, check them, free them, and check them again. idr_test2 will allocate element with between them. idr_test3 just tests some bounds and tries all values with just a few in the idr. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.22, 2004-06-18 07:55:47-07:00, akpm@osdl.org [PATCH] idr: remove counter bits from id's idr_get_new() currently returns an incrementing counter in the top 8 bits of the counter. Which means that most users have to mask it off again, and we only have a 24-bit range. So remove that counter. Also: - Remove the BITS_PER_INT define due to namespace collision risk. - Make MAX_ID_SHIFT 31, so counters have a 0 to 2G-1 range. - Why is MAX_ID_SHIFT using sizeof(int) and not sizeof(long)? If it's for consistency across 32- and 64-bit machines, why not just make it "31"? - Does this still hold true with the counter removed? /* We can only use half the bits in the top level because there are only four possible bits in the top level (5 bits * 4 levels = 25 bits, but you only use 24 bits in the id). */ If not, what needs to change? Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.21, 2004-06-18 07:55:36-07:00, minyard@acm.org [PATCH] Fixes for idr code * On a 32-bit architecture, the idr code will cease to work if you add more than 2^20 entries. You will not be able to find many of the entries. The problem is that the IDR code uses 5-bit chunks of the number and the lower portion used by IDR is 24 bits, so you have one bit that leaks over into the comparisons that should not be there. The solution is to mask off that bit before doing IDR processing. This actually causes the POSIX timer code to crash if you create that many timers. I have included an idr_test.tar.gz file that demonstrates this with and without the fix, in case you need more evidence :). * When the IDR fills up, it returns -1. However, there was no way to check for this condition. This patch adds the ability to check for the idr being full and fixes all the users. It also fixes a problem in fs/super.c where the idr code wasn't checking for -1. * There was a race condition creating POSIX timers. The timer was added to a task struct for another process then the data for the timer was filled out. The other task could use/destroy time timer as soon as it is in the task's queue and the lock is released. This moves settup up the timer data to before the timer is enqueued or (for some data) into the lock. * Change things so that the caller doesn't need to run idr_full() to find out the reason for an idr_get_new() failure. Just return -ENOSPC if the tree was full, or -EAGAIN if the caller needs to re-run idr_pre_get() and try again. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.20, 2004-06-18 07:55:25-07:00, mason@suse.com [PATCH] reiserfs data logging support Add data=journal support for reiserfs Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.19, 2004-06-18 07:55:13-07:00, mason@suse.com [PATCH] reiserfs: btree readahead Walking the btree can trigger a number of single block synchronous reads. This patch does btree readahead during operations that are likely to be long and sequential. So far, that only includes directory reads and truncates, but it can make both much faster. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.18, 2004-06-18 07:55:03-07:00, mason@suse.com [PATCH] reiserfs: remove debugging warning from block allocator Remove debugging warning from the reiserfs block allocator code Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.17, 2004-06-18 07:54:52-07:00, mason@suse.com [PATCH] reiserfs: block allocator should not inherit "packing locality 1" reiserfsck --rebuild-tree expects the only key with a packing locality of 1 to be for the root directory (key [1 2]). The new block allocator inherited that packing locality down to subdirectories, which triggers failures in reiserfsck --rebuild-tree reiserfsck in readonly check mode doesn't complain about this, thanks to Jeff Mahoney for finding it. The fix is to never inherit packing locality #1 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.16, 2004-06-18 07:54:43-07:00, mason@suse.com [PATCH] reiserfs: block allocator optimizations From: From: The current reiserfs allocator pretty much allocates things sequentially from the start of the disk, it works very nicely for desktop loads but once you've got more then one proc doing io data files can fragment badly. One obvious solution is something like ext2's bitmap groups, which puts file data into different areas of the disk based on which subdirectory they are in. The problem with bitmap groups is that if you've got a group of subdirectories their contents will be spread out all over the disk, leading to lots of seeks during a sequential read. This allocator patch uses the packing locality to determine which bitmap group to allocate from, but when you create a file it looks in the bitmaps to see how 'full' that packing locality already is. If it hasn't been heavily used yet, the packing locality is inherited from the parent directory putting files in new subdirs close to the parent subdir, otherwise it is the inode number of the parent directory putting new files far away from the parent subdir. The end result is fewer bitmap groups for the same working set. For example, one test data set created by 20 procs running in parallel has 6822 subdirs. And with vanilla reiserfs that would mean 6822 packing localities. This patch turns that into 26 packing localities. This makes sequential reads of big directory trees more efficient, but it also makes the btree more efficient in general. Things end up sorted better because groups of subdirs end up with similar keys in the btree, instead of being spread out all over. The bitmap grouping code tries to use the start of each bitmap group for metadata, and offsets the data slightly. The data and metadata are still close together, but not completely intermixed like they are in the default allocator. The end result is that leaf nodes tend to be close to each other, making metadata readahead more effective. The old block allocator had the ability to enforce a minimum allocation size, but did not use it. It now tries to do a pass looking for larger allocation chunks before falling back to the old behaviour of taking any blocks it can find. The patch changes the defaults to: mount -o alloc=skip_busy:dirid_groups:packing_groups You can get back the old behaviour with mount -o alloc=skip_busy mount -o alloc=dirid_groups will turn on the bitmap groups mount -o alloc=packing_groups turns on the packing locality reduction code mount -o alloc=skip_busy:dirid_groups turns on both dirid_groups and skip_busy Finally the patch adds a mount -o alloc=oid_groups, which puts files into bitmap groups based on a hash of their objectid. This would be used for databases or other situations where you have a limited number of very large files. This command will tell you how many packing localities are actually in use: debugreiserfs -d /dev/xxx | grep '^|.*SD' | sed 's/^.....//' | awk '{print $1}' | sort -u | wc -l Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.15, 2004-06-18 07:54:32-07:00, akpm@osdl.org [PATCH] ppc64: uninline __pte_free_tlb() The pgalloc.h changes broke ppc64: In file included from include/asm-generic/tlb.h:18, from include/asm/tlb.h:24, from arch/ppc64/mm/hash_utils.c:48: include/asm/pgalloc.h: In function `__pte_free_tlb': include/asm/pgalloc.h:110: dereferencing pointer to incomplete type include/asm/pgalloc.h:111: dereferencing pointer to incomplete type Uninlining __pte_free_tlb() fixes that. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.14, 2004-06-18 07:54:20-07:00, rmk@arm.linux.org.uk [PATCH] Clean up asm/pgalloc.h include 3 This patch cleans up needless includes of asm/pgalloc.h from the arch/i386/ subtree. Compile tested on x86_pc SMP. [I also tried VISWS + SMP without PM doesn't build in smpboot.c, though I don't believe its caused by this patch. With PM, fails to link complaining maxcpus is undefined. Therefore, I presume VISWS + SMP is an invalid configuration.] This patch is part of a larger patch aiming towards getting the include of asm/pgtable.h out of linux/mm.h, so that asm/pgtable.h can sanely get at things like mm_struct and friends. I suggest testing in -mm for a while to ensure there aren't any hidden arch issues. The outstanding list of files for other architectures can be found at http://www.arm.linux.org.uk/misc/pgalloc.txt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.13, 2004-06-18 07:54:08-07:00, rmk@arm.linux.org.uk [PATCH] Clean up asm/pgalloc.h include This patch cleans up needless includes of asm/pgalloc.h from the drivers/ subtree. drivers/char/mem.c has been compile tested; the others have not, since they are for non-x86 and non-ARM architectures. This patch is part of a larger patch aiming towards getting the include of asm/pgtable.h out of linux/mm.h, so that asm/pgtable.h can sanely get at things like mm_struct and friends. I suggest testing in -mm for a while to ensure there aren't any hidden arch issues. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.12, 2004-06-18 07:53:57-07:00, rmk@arm.linux.org.uk [PATCH] Clean up asm/pgalloc.h include This patch cleans up needless includes of asm/pgalloc.h from the fs/ kernel/ and mm/ subtrees. Compile tested on multiple ARM platforms, and x86, this patch appears safe. This patch is part of a larger patch aiming towards getting the include of asm/pgtable.h out of linux/mm.h, so that asm/pgtable.h can sanely get at things like mm_struct and friends. I suggest testing in -mm for a while to ensure there aren't any hidden arch issues. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.11, 2004-06-18 07:53:45-07:00, yoav.zach@intel.com [PATCH] binfmt_misc: improve calculation of interpreter's credentials This patch allows for misc binaries to run with credentials and security token that are calculated according to the binaries, and not according to the interpreter, which is the legacy behavior of binfmt_misc. The way it is done is by calling prepare_binprm, which is where these attributes are calculated, before switching the 'file' field in the bprm from the binary to the interpreter. This feature should be used with care, since the interpreter will have root permissions when running a setuid binary owned by root. Please note - - Only root can register an interpreter with binfmt_misc. The feature is documented and the administrator is advised to handle it with care - The new feature is enabled only with a special flag in the registration string. When this flag is not specified the current behavior of binfmt_misc is kept - This is the only 'right' way for an interpreter to know the correct AT_SECURE value for the interpreted binary From: Chris Wright This patchset looks OK, except for one problem. It installs the fd (which could've been unreadable) without unsharing the ->files. So someone can use this to read unreadable yet executable files. Here's a patch which fixes that up. I added one bit that's commented out because I'm not positive if a final steal_locks() is needed. I did a fair amount of rearranging to simplify the error conditions relative to the fd_install(), and unshare_files(). From: Chris Wright I found that the intel patchset (and mine as well) leaked i_writecount on the original executed file. In addition, I verified that the steal_locks() bit is indeed needed. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.10, 2004-06-18 07:53:34-07:00, yoav.zach@intel.com [PATCH] Handle non-readable binfmt_misc executables I work in a group that works on enabling the IA-32 Execution Layer (http://www.intel.com/pressroom/archive/releases/20040113comp.htm) on Linux. In a few words - this is a dynamic translator for IA-32 binaries on IPF platform. Following David Mosberger's advice - we use the binfmt_misc mechanism for the invocation of the translator whenever the user tries to exec an IA-32 binary. The EL is meant to help in the migration path from IA-32 to IPF. From our beta customers we learnt that at first stage - they tend to keep their environment mostly intact, using the legacy IA-32 binaries. Such an environment has, naturally, setuid and non-readable binaries. It will be useless to ask the administrator to change the settings of such an environment - some of them are very complex, and the administrators are reluctant to make any changes in a system that already proved itself to be robust and secure. So, our target with these patches is not to enhance the support for scripts but rather to allow a translator to be integrated into a working environment that is not (and should not be) aware to the fact it's being emulated. As I said before - it is practically hopeless to expect an administrator of such a system to change it so that it will suit the current behavior of binfmt_misc. But, even if we could do that, I'm not sure it would be a good idea - these changes are likely to be less secure than the suggested patches - - In order to execute non-readable binaries the binary will have to be made readable, which is obviously less secure than allowing only a trusted translator to read it - There will be no way for the translator to calculate the accurate AT_SECURE value for the translated process. This might end up with the translated process running in a non-secured mode when it actually needs to be secured. I prepared a patch that solves a couple of problems that interpreters have when invoked via binfmt_misc. currently - 1) such interpreters cannot open non-readable binaries 2) the processes will have their credentials and security attributes calculated according to interpreter permissions and not those of the original binary the proposed patch solves these problems by - 1) opening the binary on behalf of the interpreter and passing its fd instead of the path as argv[1] to the interpreter 2) calling prepare_binprm with the file struct of the binary and not the one of the interpreter The new functionality is enabled by adding a special flag to the registration string. If this flag is not added then old behavior is not changed. A preliminary version of this patch was sent to the list on 9/1/2003 with the title "[PATCH]: non-readable binaries - binfmt_misc 2.6.0-test4". This new version fixes the concerns that were raised by the patch, except of calling unshare_files() before allocating a new fd. this is because this feature did not enter 2.6 yet. Arun Sharma says: We were going through an internal review of this patch: http://marc.theaimsgroup.com/?l=linux-kernel&m=107424598901720&w=2 which is in your tree already. I'm not sure if this line of code got sufficient review. + /* call prepare_binprm before switching to interpreter's file + * so that all security calculation will be done according to + * binary and not interpreter */ + retval = prepare_binprm(bprm); The case that concerns me is: unprivileged interpreter and a privileged binary. One can use binfmt_misc to execute untrusted code (interpreter) with elevated privileges. One could argue that all binfmt_misc interpreters are trusted, because only root can register them. But that's a change from the traditional behavior of binfmt_misc (and binfmt_script). (Update): Arun pointed out that calculating the process credentials according to the binary that needs to be translated is a bit risky, since it requires the administrator to pay extra attention not to register an interpreter which is not intended to run with root credentials. After discussing this issue with him, I would like to propose a modified patch: The old patch did 2 things - 1) open the binary for reading and 2) calculate the credentials according to the binary. I removed the riskier part of changing the credentials calculation, so the revised patch only opens the binary for reading. It also includes few words of warning in the description of the 'open-binary' feature in binfmt_misc.txt, and makes the function entry_status print the flags in use. As for the 'credentials' part of the patch, I will prepare a separate patch for it and send it again to the LKML, describe the problem and ask for people comments. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.9, 2004-06-18 07:53:23-07:00, mporter@kernel.crashing.org [PATCH] Add PPC4xx MAINTAINERS entry, merge CREDITS from 2.4 Add myself as the PPC4xx maintainer. Merge CREDITS entry from 2.4 Signed-off-by: Matt Porter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.8, 2004-06-18 07:53:12-07:00, olh@suse.de [PATCH] ppc64: avoid multiline /proc/cmdline content on iSeries /proc/cmdline is filled via an OS400 call iSeries_init(). It scans the returned data from the end, instead of the beginning. This leads to multiple lines in /proc/cmdline Just scan from the beginning and stop at the first newline. This patch changes also the /proc/iSeries/mf/*/cmdline interface to do the same as the initial setup. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.7, 2004-06-18 07:53:00-07:00, mikpe@csd.uu.se [PATCH] ppc32 irq.c cpumask fix 2.6.7-rc3-mm1 changed cpumask_t from ulong to a struct, causing compile-time errors in arch/ppc/kernel/irq.c. Proposed fix below. Tested on a G3. Signed-off-by: Mikael Pettersson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.6, 2004-06-18 07:52:49-07:00, kumar.gala@freescale.com [PATCH] ppc32: support for e500 and 85xx Here is both a GNU style and BK patch for adding support for the e500 core and 85xx platform to 2.6. This is pretty much a direct port from 2.4 with a bit of cleanup around the edges. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.5, 2004-06-18 07:52:38-07:00, hugh@veritas.com [PATCH] mm: pretest pte_young and pte_dirty Test for pte_young before going to the costlier atomic test_and_clear, as asm-generic does. Test for pte_dirty before going to the costlier atomic test_and_clear, as asm-generic does (I said before that I would not do so for pte_dirty, but was missing the point: there is nothing atomic about deciding to do nothing). But I've not touched the rather different ppc and ppc64. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.4, 2004-06-18 07:52:27-07:00, hugh@veritas.com [PATCH] mm: flush TLB when clearing young Traditionally we've not flushed TLB after clearing the young/referenced bit, it has seemed just a waste of time. Russell King points out that on some architectures, with the move from 2.4 mm sweeping to 2.6 rmap, this may be a serious omission: very frequently referenced pages never re-marked young, and the worst choices made for unmapping. So, replace ptep_test_and_clear_young by ptep_clear_flush_young throughout rmap.c. Originally I'd imagined making some kind of TLB gather optimization, but don't see what now: whether worth it rather depends on how common cross-cpu flushes are, and whether global or not. ppc and ppc64 have already found this issue, and worked around it by arranging TLB flush from their ptep_test_and_clear_young: with the aid of pgtable rmap pointers. I'm hoping ptep_clear_flush_young will allow ppc and ppc64 to remove that special code, but won't change them myself. It's worth noting that it is Andrea's anon_vma rmap which makes the vma available for ptep_clear_flush_young in page_referenced_one: anonmm and pte_chains would both need an additional find_vma for that. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1722.127.16, 2004-06-18 13:33:48+01:00, rmk@flint.arm.linux.org.uk [ARM] Add support code for ARM hardware vector floating point This cset adds the code to handle the hardware vector floating point unit found on some ARM926 and later CPUs. The hardware provides an implementation for the common cases, and bounces exceptions for other cases, which have to be handled in software, and signalling SIGFPE as appropriate. ChangeSet@1.1722.152.4, 2004-06-18 15:21:08+09:00, yoshfuji@linux-ipv6.org [XFRM] fix dependency issues for CONFIG_IPV6=m. ChangeSet@1.1731, 2004-06-18 01:56:40-04:00, len.brown@intel.com Merge intel.com:/home/lenb/src/linux-acpi-test-2.6.7 into intel.com:/home/lenb/bk/linux-acpi-test-2.6.7 ChangeSet@1.1728.2.2, 2004-06-18 01:40:30-04:00, len.brown@intel.com Merge intel.com:/home/lenb/src/linux-acpi-test-2.6.6 into intel.com:/home/lenb/src/linux-acpi-test-2.6.7 ChangeSet@1.1722.152.3, 2004-06-18 14:25:15+09:00, yoshfuji@linux-ipv6.org [IPV6] XFRM: support (uncompressed) tunnel mode ipcomp6 using xfrm6_tunnel infrastructure. ChangeSet@1.1722.152.2, 2004-06-18 13:56:36+09:00, yoshfuji@linux-ipv6.org [IPV6] XFRM: add missing xfrm6_policy_check(). ChangeSet@1.1722.152.1, 2004-06-18 13:54:05+09:00, yoshfuji@linux-ipv6.org [IPV6] make several functions static in ip6_tunnel that should be. ChangeSet@1.1608.11.12, 2004-06-18 00:18:19-04:00, len.brown@intel.com [ACPI] handle SCI override to nth IOAPIC http://bugzilla.kernel.org/show_bug.cgi?id=2835 ChangeSet@1.1722.151.3, 2004-06-17 21:16:48-07:00, rth@twiddle.net [PATCH] alpha: fix discontigmem+initrd build From: Ivan Kokshaysky Compilation fails due to incorrect usage of NODE_DATA(). Reported by hpa. ChangeSet@1.1722.151.2, 2004-06-17 21:04:44-07:00, paulus@samba.org [PATCH] ppc64: Optimize exception/syscall entry/exit This rewrites the PPC64 exception entry/exit routines to make them smaller and faster. In particular we no longer save all of the registers for the common exceptions - system calls, hardware interrupts and decrementer (timer) interrupts - only the volatile registers. The other registers are saved and restored (if used) by the C functions we call. This involved changing the registers we use in early exception processing from r20-r23 to r9-r12, which ended up changing quite a lot of code in head.S. Overall this gives us about a 20% reduction in null syscall time. Some system calls need all the registers (e.g. fork/clone/vfork and [rt_]sigsuspend). For these the syscall dispatch code calls a stub that saves the nonvolatile registers before calling the real handler. This also implements the force_successful_syscall_return() thing for ppc64. Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds ChangeSet@1.1722.151.1, 2004-06-17 21:04:32-07:00, paulus@samba.org [PATCH] ppc64: Implement CONFIG_PREEMPT This implements CONFIG_PREEMPT for ppc64. Aside from the entry.S changes to check the _TIF_NEED_RESCHED bit when returning from an exception, there are various changes to make the ppc64-specific code preempt-safe, mostly adding preempt_enable/disable or get_cpu/put_cpu calls where needed. I have been using this on my desktop G5 for the last week without problems. Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds ChangeSet@1.1722.150.2, 2004-06-17 22:54:26-05:00, stevef@smfhome1.smfdom Fix typo in name of CIFS Kconfig option and add rename stats ChangeSet@1.1608.11.11, 2004-06-17 23:21:03-04:00, len.brown@intel.com [ACPI] avoid spurious interrupts on VIA http://bugzilla.kernel.org/show_bug.cgi?id=2243 ChangeSet@1.1728.2.1, 2004-06-17 23:00:08-04:00, len.brown@intel.com [ACPI] fix passive cooling mode indicator (Luming Yu) http://bugzilla.kernel.org/show_bug.cgi?id=1770 ChangeSet@1.1722.149.6, 2004-06-17 16:25:47-07:00, tony.luck@intel.com [PATCH] ia64: switching between CPEI & CPEP A couple of months ago Hidetoshi Seto from Fujitsu proposed a patch to provide similar switching between interrupt mode and polling mode for corrected platform events (CPE) as we have for processor events (CMC) [with the obvious difference that not all platforms support an interrupt for CPE]. I dusted it off and made a couple of very minor cleanups (which Seto-san checked out last night on his test setup and confirmed still passes). Signed-off-by: Tony Luck Signed-off-by: David Mosberger ChangeSet@1.1722.149.5, 2004-06-17 16:22:26-07:00, pfg@sgi.com [PATCH] ia64: fix SN2 interrupt rerouting Signed-off-by: Patrick Gefre Signed-off-by: David Mosberger ChangeSet@1.1722.149.4, 2004-06-17 15:47:19-07:00, davidm@tiger.hpl.hp.com ia64: Fix build-problem when CONFIG_IA32 is not enabled. Without this fix, you'll get unresolved references to sys_rt_sigaction(). ChangeSet@1.1722.149.3, 2004-06-17 15:45:25-07:00, davidm@tiger.hpl.hp.com ia64: Squish some more hazards & warnings for UP compile. ChangeSet@1.1722.149.2, 2004-06-17 15:41:25-07:00, davidm@tiger.hpl.hp.com ia64: Squish compiler-warning in perfmon.c when compiling for UP. ChangeSet@1.1722.97.81, 2004-06-17 15:23:14-07:00, stern@rowland.harvard.edu [PATCH] USB: Fix endian bug in g_file_storage This patch fixes a couple of places in g_file_storage where I forgot to use proper byte-swapping. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1722.97.80, 2004-06-17 15:22:55-07:00, stern@rowland.harvard.edu [PATCH] USB Storage: unusual_devs.h update On Thu, 17 Jun 2004, Daniel Nouri wrote: > I get this message when inserting my USB MMC card reader: > > usb 3-1: new full speed USB device using address 4 > usb.agent[5388]: usb-storage: already loaded > usb-storage: This device (04e6,0006,0205 S 01 P 01) has an unneeded Protocol entry in unusual_devs.h > Please send a copy of this message to Thanks for letting us know. This patch will eliminate that log message. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1722.97.79, 2004-06-17 15:22:34-07:00, mdharm-usb@one-eyed-alien.net [PATCH] USB Storage: Lexar Jumpshot CF reader This patch is required to fix up the jumpshot driver, and to supress the 'unneeded entry' message for another device which uses the same VID/PID/rev for multiple different versions of the device. Alan Stern cooked this patch up, originally. Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1722.97.78, 2004-06-17 15:22:14-07:00, david-b@pacbell.net [PATCH] USB: add support for Buffalo LUA-U2-KTX Add support for Buffalo's LUA-U2-KTX, which is a AX8817X based usb ethernet adapter. I just added the USB id and it worked like a dream. From: Neil Bortnak Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1722.97.77, 2004-06-17 15:21:44-07:00, david-b@pacbell.net [PATCH] proper bios handoff in ehci-hcd Stuart Hayes here at Dell has identified this or/and mix-up in the ehci-hcd driver. Because of this, ehci-hcd is not properly released by BIOSes supporting full 2.0 and port behavior can then become erratic. (Code predates general availability of such BIOS firmware. This version of the patch also fixes minor linewrap issues.) From: Gary Lerhaupt Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1722.97.76, 2004-06-17 15:21:14-07:00, sean@mess.org [PATCH] USB: PhidgetServo driver fixes Here is a patch for the phidgetservo driver -- it was using memory after kfree(), and using driver_info is much nicer. :) Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1722.97.75, 2004-06-17 15:20:50-07:00, stern@rowland.harvard.edu [PATCH] USB: Only process ports with change events pending This patch adds a bit-array to the hub driver's private data structure, used for storing the contents of the hub's interrupt status message. That message indicates which ports have events pending (and whether the hub itself has events pending). By only polling the status of the ports listed in the bit-array we can save a fair amount of overhead in hub communication. (The #error test added to hub.h is a little awkward, but it's purely precautionary -- it won't matter until someone decides to support hubs with more than 31 ports!) Also included in the patch, since this seemed the perfect opportunity for it, is Byron's suggestion for handling hub events in the order in which they were received. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ChangeSet@1.1722.125.46, 2004-06-17 13:40:02-07:00, jmorris@redhat.com [IPV6]: Fix OOPS in fragmentation. Incorrect SKB pointer is passed to output() callback in ip6_fragment(). Work done by James Morris and Yoshifuji Hideaki. Signed-off-by: James Morris Signed-off-by: Yoshifuji Hideaki Signed-off-by: David S. Miller ChangeSet@1.1608.11.10, 2004-06-17 16:31:52-04:00, len.brown@intel.com [ACPI] PCI bus numbering workaround for ServerWorks from David Shaohua Li http://bugzilla.kernel.org/show_bug.cgi?id=1662 ChangeSet@1.1722.125.45, 2004-06-17 12:11:42-07:00, davem@nuts.davemloft.net [NET]: In unregister_netdevice(), do synchronize_net() before final dev_put(). This way we make sure that all destination cache updates to remove references to this device are seen by entire system before final destruction of the device. ChangeSet@1.1722.125.44, 2004-06-17 12:09:59-07:00, davem@nuts.davemloft.net Cset exclude: kuznet@ms2.inr.ac.ru|ChangeSet|20040616204246|05149 ChangeSet@1.1722.125.43, 2004-06-17 11:52:18-07:00, shemminger@osdl.org [SPARSE]: Fix another net warning. Get rid of warning from assignment in conditional. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1722.125.42, 2004-06-17 11:40:00-07:00, shemminger@osdl.org [SPARSE]: Get rid of warning in bridge ethtool ioctl. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1722.125.41, 2004-06-17 11:16:48-07:00, shemminger@osdl.org [SPARSE]: Annotate csum_and_copy_to_user(). ChangeSet@1.1722.125.40, 2004-06-17 11:15:13-07:00, akpm@osdl.org [BRIDGE]: Fix bridge sysfs improprely initialized kobject. The bridge sysfs interface introduced around 2.6.7-rc1 created a bad entry in /sys because it didn't initialise the name member of the kobject. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.1722.125.39, 2004-06-17 10:56:25-07:00, shemminger@osdl.org [SPARSE]: Add annotations to sock_filter.h Since sock_fprog is argument in ioctl, the filter pointer needs to be annotated. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.1722.125.38, 2004-06-17 10:51:14-07:00, shemminger@osdl.org [SPARSE]: Get rid of warning in irtty_ioctl(). Don't really need verify_area because result of copy_to_user is checked. Add annotation to get rid of sparse warnings. Signed-off-by: Stephen Hemminger Signed-off-by: Jean Tourrilhes Signed-off-by: David S. Miller ChangeSet@1.1722.146.3, 2004-06-17 11:09:05-05:00, stevef@stevef95.austin.ibm.com fix typo in cifs kernel config option title Signed-off-by: Steve French (sfrench@us.ibm.com) ChangeSet@1.1728.1.7, 2004-06-17 02:15:36-04:00, len.brown@intel.com Merge intel.com:/home/lenb/src/linux-acpi-test-2.6.7-mpparse into intel.com:/home/lenb/bk/linux-acpi-test-2.6.7 ChangeSet@1.1728.1.6, 2004-06-17 01:42:44-04:00, len.brown@intel.com Merge intel.com:/home/lenb/src/linux-acpi-test-2.6.7 into intel.com:/home/lenb/bk/linux-acpi-test-2.6.7 ChangeSet@1.1728.1.5, 2004-06-17 01:30:00-04:00, len.brown@intel.com Merge intel.com:/home/lenb/src/linux-acpi-test-2.6.6 into intel.com:/home/lenb/src/linux-acpi-test-2.6.7 ChangeSet@1.1722.18.6, 2004-06-17 01:26:33-04:00, len.brown@intel.com [ACPI] Fix a lockup which Sid Boyce discovered with IOAPIC disabled. The problem was that drivers/serial/8250_acpi.c found COM1 in the ACPI namespace and called acpi_register_gsi() to set up its IRQ. ACPI tells us that the COM1 IRQ is edge triggered, active high, but acpi_register_gsi() was ignoring the edge_level argument, so it blindly set the COM1 IRQ to be level-triggered. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Andrew Morton ChangeSet@1.1722.18.3, 2004-06-17 01:15:58-04:00, len.brown@intel.com [ACPI] *** Warning: "acpi_register_gsi" [drivers/serial/8250_acpi.ko] undefined! Signed-off-by: Andrew Morton ChangeSet@1.1722.150.1, 2004-06-16 23:10:50-05:00, stevef@smfhome1.smfdom Fix /proc/fs/cifs/Stats to handle larger return data, and correct Kconfig reference to /proc/fs/cifs/Stats Signed-off-by: Steve French (sfrench@us.ibm.com) ChangeSet@1.1722.149.1, 2004-06-16 21:05:55-07:00, davidm@tiger.hpl.hp.com Merge tiger.hpl.hp.com:/data1/bk/vanilla/linux-2.5 into tiger.hpl.hp.com:/data1/bk/lia64/to-linus-2.5 ChangeSet@1.1722.107.13, 2004-06-16 20:53:53-07:00, davidm@tiger.hpl.hp.com ia64: Nuke two warnings in mca.c that showed in the simulator configuration. ChangeSet@1.1722.107.12, 2004-06-16 20:51:30-07:00, davidm@tiger.hpl.hp.com ia64: Fix ia32 partial-page-list code to compile cleanly in more configs. ChangeSet@1.1722.1.41, 2004-06-16 19:57:30-04:00, jgarzik@pobox.com Merge pobox.com:/spare/repo/netdev-2.6/via-rhine into pobox.com:/spare/repo/net-drivers-2.6 ChangeSet@1.1722.1.40, 2004-06-16 19:56:25-04:00, jgarzik@pobox.com Merge pobox.com:/spare/repo/netdev-2.6/via-gbit into pobox.com:/spare/repo/net-drivers-2.6 ChangeSet@1.1722.1.38, 2004-06-16 19:54:04-04:00, jgarzik@pobox.com Merge pobox.com:/spare/repo/netdev-2.6/misc-herbert into pobox.com:/spare/repo/net-drivers-2.6 ChangeSet@1.1722.148.2, 2004-06-16 19:51:21-04:00, jgarzik@pobox.com Merge pobox.com:/spare/repo/netdev-2.6/ip-copysum into pobox.com:/spare/repo/net-drivers-2.6 ChangeSet@1.1722.107.11, 2004-06-16 16:51:07-07:00, jbarnes@engr.sgi.com [PATCH] ia64: update sn2_defconfig Small patch to update the sn2_defconfig file. I just did a 'make oldconfig' with the current sn2_defconfig and removed 8250 support. Signed-off-by: David Mosberger ChangeSet@1.1722.107.10, 2004-06-16 16:04:19-07:00, kaos@sgi.com [PATCH] ia64: Support SN platform specific error features The SN prom supports fine grained error handling features, the OS needs to tell the prom if the OS expects to use these platform specific features. Signed-off-by: Keith Owens Signed-off-by: David Mosberger ChangeSet@1.1722.147.1, 2004-06-16 18:25:29-04:00, alan@redhat.com [PATCH] add new via-velocity gigabit ethernet driver Contributed by VIA, cleaned up by Alan. ChangeSet@1.1722.135.5, 2004-06-16 15:52:13-05:00, stevef@stevef95.austin.ibm.com fix throttle to limit number of requests to 50 on wire to server at one time. Signed-off-by: Steve French (sfrench@us.ibm.com) ChangeSet@1.1722.125.37, 2004-06-16 13:48:12-07:00, davem@nuts.davemloft.net [TCP]: No vegas by default just yet. ChangeSet@1.1722.125.36, 2004-06-16 13:42:46-07:00, kuznet@ms2.inr.ac.ru [NET]: In dst_ifdown(), synchronize_kernel() before dropping dev ref. ChangeSet@1.1722.125.35, 2004-06-16 11:18:42-07:00, dada1@cosmosbay.com [NET]: Tidy somaxconn sysctl doc. ChangeSet@1.1722.125.34, 2004-06-16 10:57:05-07:00, dlstevens@us.ibm.com [IPV4]: Fix interface selection in multicast sockops. ChangeSet@1.1722.125.33, 2004-06-16 10:27:13-07:00, herbert@gondor.apana.org.au [NET]: Clear dev refs in dst->child. This is a resend of an earlier patch to dst_dev_event. I've changed it slightly by moving the input/output assignment into dst_ifdown. To recap, this patch drops lingering IPsec references to a device that is being unregistered. The child processing in the GC is too late since it never runs until the reference on the dst hits zero which could take a long time for things like TCP connections. The reason I've left the input/output assignment outside the loop is because they aren't really necessary for the IPsec dst's, and if it were in the loop then we'll have to do the same child processing in ___dst_free as well. I've tested this with an ESP/IPCOMP tunnel and I can confirm that it does fix the problem. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.1722.125.32, 2004-06-16 10:23:42-07:00, davem@nuts.davemloft.net Merge nuts.davemloft.net:/disk1/BK/net-2.6.8 into nuts.davemloft.net:/disk1/BK/net-2.6 ChangeSet@1.1722.141.4, 2004-06-16 11:36:45-05:00, jejb@mulgrave.(none) scsi_debug: num_parts, ptype and (re-)scans From: Douglas Gilbert Changes in version 1.73: - 'num_parts' parameter to specify 0 to 4 partitions - 'ptype' to specify (or change via sysfs) SCSI peripheral device type - support ability to increase the number of targets and/or luns then re-scan a scsi_debug host - remove redundant trailing spaces The new facilties are described at: http://www.torque.net/sg/sdebug26.html A tarball of driver (version 1.73) is also there. Signed-off-by: James Bottomley (conflict resolution) ChangeSet@1.1722.141.3, 2004-06-16 09:32:58-05:00, jejb@mulgrave.(none) SCSI: fix uninitialised variable warning Spotted By: Andrew Morton drivers/scsi/scsi_transport_spi.c: In function `spi_dv_retrain': drivers/scsi/scsi_transport_spi.c:393: warning: `period' might be used uninitialized in this function Signed-off-by: James Bottomley ChangeSet@1.1722.125.30, 2004-06-15 22:17:47-07:00, torvalds@ppc970.osdl.org Linux 2.6.7 TAG: v2.6.7