commit b10502b22a1209d6b47639d88b812b21fb5949e4 Author: Greg Kroah-Hartman Date: Fri Oct 13 20:34:03 2006 -0700 Linux 2.6.18.1 commit b94f4a1ff3fe400ac5b4a25c51e98636afb008ec Author: Dave Jones Date: Wed Oct 11 18:19:24 2006 -0400 add utsrelease.h to the dontdiff file Signed-off-by: Dave Jones Signed-off-by: Greg Kroah-Hartman commit db8e7e9022e1d6660f249f2e419acaefd497b8c7 Author: Sascha Hauer Date: Fri Oct 13 13:23:28 2006 -0700 V4L: copy-paste bug in videodev.c This patch fixes a copy-paste bug in videodev.c where the vidioc_qbuf() function gets called for the dqbuf ioctl. Signed-off-by: Sascha Hauer Cc: Jonathan Corbet Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Greg Kroah-Hartman commit 116191c17c2c8e7e7d4fa9d5ed4a3218ff8d2055 Author: Vasily Tarasov Date: Wed Oct 11 13:23:48 2006 +0200 block layer: elv_iosched_show should get elv_list_lock elv_iosched_show function iterates other elv_list, hence elv_list_lock should be got. Also the question is: in elv_iosched_show, elv_iosched_store q->elevator->elevator_type construction is used without locking q->queue_lock. Is it expected?.. Signed-off-by: Vasily Tarasov Cc: Jens Axboe Signed-off-by: Greg Kroah-Hartman commit a4fce7747b167aa5e9aa43c4f816744d8a97e021 Author: Patrick McHardy Date: Wed Oct 11 01:53:26 2006 -0700 NETFILTER: NAT: fix NOTRACK checksum handling The whole idea with the NOTRACK netfilter target is that you can force the netfilter code to avoid connection tracking, and all costs assosciated with it, by making traffic match a NOTRACK rule. But this is totally broken by the fact that we do a checksum calculation over the packet before we do the NOTRACK bypass check, which is very expensive. People setup NOTRACK rules explicitly to avoid all of these kinds of costs. This patch from Patrick, already in Linus's tree, fixes the bug. Move the check for ip_conntrack_untracked before the call to skb_checksum_help to fix NOTRACK excemptions from NAT. Pre-2.6.19 NAT code breaks TSO by invalidating hardware checksums for every packet, even if explicitly excluded from NAT through NOTRACK. 2.6.19 includes a fix that makes NAT and TSO live in harmony, but the performance degradation caused by this deserves making at least the workaround work properly in -stable. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman commit 650b3b293b40d1f9e76cbf91eee4ef74ad3ccd1c Author: Larry Finger Date: Tue Oct 10 12:18:26 2006 -0500 bcm43xx: fix regressions in 2.6.18 The bcm43xx code in 2.6.18 has a serious problems not found in 2.6.17, due to a change in the locking mechanism introduced to reduce latency. The following patch fixes the problems in locking, reduces the latency associated with the periodic work tasklet, and contains code needed for those cards that use 64-bit DMA. Signed-off-by: Larry Finger Signed-off-by: Greg Kroah-Hartman commit 7752e010ee0222af173d59948b92d0eabd806384 Author: Jon Mason Date: Tue Oct 10 09:04:23 2006 -0500 x86-64: Calgary IOMMU: Fix off by one when calculating register space location This patch has already been submitted for inclusion in the 2.6.19 tree, but not backported to the 2.6.18. Please pull the bug fix below into the stable tree for the 2.6.18.1 release. The purpose of the code being modified is to determine the location of the calgary chip address space. This is done by a magical formula of FE0MB-8MB*OneBasedChassisNumber+1MB*(RioNodeId-ChassisBase) to find the offset where BIOS puts it. In this formula, OneBasedChassisNumber corresponds to the NUMA node, and rionodeid is always 2 or 3 depending on which chip in the system it is. The problem was that we had an off by one error that caused us to account some busses to the wrong chip and thus give them the wrong address space. Fixes RH bugzilla #203971. Signed-off-by: Jon Mason Signed-off-by: Muli Ben-Yehuda Signed-off-by: Greg Kroah-Hartman commit 0c6de226bc1907bf392dab17c50c691b19b46792 Author: Alan Cox Date: Thu Oct 5 14:39:26 2006 -0700 ide-generic: jmicron fix Some people find their Jmicron pata port reports its disabled even though it has devices on it and was boot probed. Fix this (Candidate for 2.6.18.*, less so for 2.6.19 as we've got a proper jmicron driver on the merge for that to replace ide-generic support) From: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 25100c3954ce81f5155d8ef6815b7618027c6f4b Author: Jim Cromie Date: Wed Oct 4 02:15:35 2006 -0700 scx200_hrt: fix precedence bug manifesting as 27x clock in 1 MHz mode Fix paren-placement / precedence bug breaking initialization for 1 MHz clock mode. Also fix comment spelling error, and fence-post (off-by-one) error on symbol used in request_region. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=7242 Thanks alexander.krause@erazor-zone.de, dzpost@dedekind.net, for the reports and patch test, and phelps@mantara.com for the independent patch and verification. Signed-off-by: Jim Cromie Cc: Cc: Cc: Acked-by: John Stultz Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit a839df3cbb8daaeeeb495b391c1d8659a281c6a2 Author: Andrew Morton Date: Sat Sep 30 23:29:29 2006 -0700 invalidate_inode_pages2(): ignore page refcounts The recent fix to invalidate_inode_pages() (git commit 016eb4a) managed to unfix invalidate_inode_pages2(). The problem is that various bits of code in the kernel can take transient refs on pages: the page scanner will do this when inspecting a batch of pages, and the lru_cache_add() batching pagevecs also hold a ref. Net result is transient failures in invalidate_inode_pages2(). This affects NFS directory invalidation (observed) and presumably also block-backed direct-io (not yet reported). Fix it by reverting invalidate_inode_pages2() back to the old version which ignores the page refcounts. We may come up with something more clever later, but for now we need a 2.6.18 fix for NFS. Cc: Chuck Lever Cc: Nick Piggin Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 7a6d1366e1803c9bb32cbe9ed40c8931062673fe Author: Jean-Baptiste Maneyrol Date: Sat Sep 30 23:28:12 2006 -0700 rtc driver rtc-pcf8563 century bit inversed The century bit PCF8563_MO_C in the month register is misinterpreted. It is set to 1 for the 20th century and 0 for 21th, and the driver is expecting the opposite behavior. Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit e7754ec83e191457d727b254f284f5215f938a69 Author: Geert Uytterhoeven Date: Tue Oct 3 01:15:11 2006 -0700 fbdev: correct buffer size limit in fbmem_read_proc() Address http://bugzilla.kernel.org/show_bug.cgi?id=7189 It should check `clen', not `len'. Signed-off-by: Geert Uytterhoeven Cc: Cc: "Antonino A. Daplas" Cc: Willy Tarreau Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 9698398518a14640f07f28faae9b0060fe5277e5 Author: Nick Piggin Date: Tue Oct 10 04:36:54 2006 +0200 mm: bug in set_page_dirty_buffers This was triggered, but not the fault of, the dirty page accounting patches. Suitable for -stable as well, after it goes upstream. Unable to handle kernel NULL pointer dereference at virtual address 0000004c EIP is at _spin_lock+0x12/0x66 Call Trace: [<401766e7>] __set_page_dirty_buffers+0x15/0xc0 [<401401e7>] set_page_dirty+0x2c/0x51 [<40140db2>] set_page_dirty_balance+0xb/0x3b [<40145d29>] __do_fault+0x1d8/0x279 [<40147059>] __handle_mm_fault+0x125/0x951 [<401133f1>] do_page_fault+0x440/0x59f [<4034d0c1>] error_code+0x39/0x40 [<08048a33>] 0x8048a33 ======================= Signed-off-by: Nick Piggin Signed-off-by: Greg Kroah-Hartman commit 76232eb21c90f18153a66e69f612b47468b145a1 Author: David Miller Date: Thu Sep 28 14:50:30 2006 -0700 TCP: Fix and simplify microsecond rtt sampling This changes the microsecond RTT sampling so that samples are taken in the same way that RTT samples are taken for the RTO calculator: on the last segment acknowledged, and only when the segment hasn't been retransmitted. Signed-off-by: John Heffner Acked-by: Stephen Hemminger Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman commit b9dca3d3ad4a97f60b7364a69d6be97843ba653d Author: Neil Brown Date: Tue Oct 3 17:15:00 2006 +1000 MD: Fix problem where hot-added drives are not resynced. If a drive is added with HOT_ADD_DISK rather than ADD_NEW_DISK, saved_raid_disk isn't initialised properly, and the drive can be included in the array without a resync. From: Neil Brown Cc: Cc: Richard Bollinger Signed-off-by: Greg Kroah-Hartman commit 92a86ee1f6027881b77b75d48a09e3a946a93d13 Author: David Miller Date: Wed Sep 27 19:04:35 2006 -0700 IPV6: Disable SG for GSO unless we have checksum Because the system won't turn off the SG flag for us we need to do this manually on the IPv6 path. Otherwise we will throw IPv6 packets with bad checksums at the hardware. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman commit f2fb7f11c1dc0cf66f290671f4a7b427e63da64c Author: David Miller Date: Wed Sep 27 16:25:17 2006 -0700 PKT_SCHED: cls_basic: Use unsigned int when generating handle gcc-4.1 and later take advantage of the fact that in the C language certain types of overflow/underflow are undefined, and this is completely legitimate. Prevents filters from being added if the first generated handle already exists. Signed-off-by: Kim Nordlund Signed-off-by: Thomas Graf Signed-off-by: Greg Kroah-Hartman commit 521a3b74333140bd33357ea1afe1b514f2c2e771 Author: Jeff Garzik Date: Wed Sep 27 03:47:49 2006 -0400 sata_mv: fix oops From: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit f17c622ead2e14d29a118b101b46a2bb35c27f03 Author: David S. Miller Date: Tue Sep 26 23:15:38 2006 -0700 SPARC64: Fix sparc64 ramdisk handling [SPARC64]: Kill bogus check from bootmem_init(). There is an ancient and totally incorrect sanity check being done on the ramdisk location. The check assumes that the kernel is always loaded to physical address zero, which is wrong. It was trying to validate the ramdisk value by saying that if it fell within the kernel image address range it must be wrong. Anyways, kill this because it actually creates problems. The 'ramdisk_image' should always be adjusted down by KERNBASE. SILO can easily put the ramdisk in a location which causes this test to trigger, breaking things. [ Based almost entirely upon a patch from Ben Collins. ] Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman commit 5bf91bbc9f8da83f2c7c971aeb1bc1c4c73e554c Author: Fabio Olive Leite Date: Mon Sep 25 22:29:54 2006 -0700 IPV6: bh_lock_sock_nested on tcp_v6_rcv A while ago Ingo patched tcp_v4_rcv on net/ipv4/tcp_ipv4.c to use bh_lock_sock_nested and silence a lock validator warning. This fixed it for IPv4, but recently I saw a report of the same warning on IPv6. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman commit 967cc8158c385ac0087ae3455e8835fa7eb94fd0 Author: Dave Jones Date: Sat Sep 23 01:00:03 2006 +0000 CPUFREQ: Fix some more CPU hotplug locking. [CPUFREQ] Fix some more CPU hotplug locking. Lukewarm IQ detected in hotplug locking BUG: warning at kernel/cpu.c:38/lock_cpu_hotplug() [] lock_cpu_hotplug+0x42/0x65 [] cpufreq_update_policy+0x25/0xad [] kprobe_flush_task+0x18/0x40 [] schedule+0x63f/0x68b [] __link_module+0x0/0x1f [] __cond_resched+0x16/0x34 [] cond_resched+0x26/0x31 [] wait_for_completion+0x17/0xb1 [] cpufreq_stat_cpu_callback+0x13/0x20 [cpufreq_stats] [] cpufreq_stats_init+0x74/0x8b [cpufreq_stats] [] sys_init_module+0x91/0x174 [] sysenter_past_esp+0x56/0x79 As there are other places that call cpufreq_update_policy without the hotplug lock, it seems better to keep the hotplug locking at the lower level for the time being until this is revamped. Signed-off-by: Dave Jones Signed-off-by: Greg Kroah-Hartman commit 6fc9b9e7213beba2dfe21d71100efa79afd51f99 Author: David S. Miller Date: Sat Sep 23 18:26:24 2006 -0700 SPARC64: Fix serious bug in sched_clock() on sparc64 Unfortunately, sparc64 doesn't have an easy way to do a "64 X 64 --> 128" bit multiply like PowerPC and IA64 do. We were doing a "64 X 64 --> 64" bit multiple which causes overflow very quickly with a 30-bit quotient shift. So use a quotientshift count of 10 instead of 30, just like x86 and ARM do. This also fixes the wrapping of printk timestamp values every ~17 seconds. Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman commit d3d1445e23803ea576aa8b77beb8dfa6066bb6dc Author: Jonathan Corbet Date: Mon Sep 25 16:25:37 2006 -0700 Fix VIDIOC_ENUMSTD bug The v4l2 API documentation for VIDIOC_ENUMSTD says: To enumerate all standards applications shall begin at index zero, incrementing by one until the driver returns EINVAL. The actual code, however, tests the index this way: if (index<=0 || index >= vfd->tvnormsize) { ret=-EINVAL; So any application which passes in index=0 gets EINVAL right off the bat - and, in fact, this is what happens to mplayer. So I think the following patch is called for, and maybe even appropriate for a 2.6.18.x stable release. Signed-off-by: Jonathan Corbet Cc: Mauro Carvalho Chehab Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit fad2a56d330427a5983d3fa57690ee5dc36c17bf Author: Ed Swierk Date: Mon Sep 25 16:25:36 2006 -0700 load_module: no BUG if module_subsys uninitialized Invoking load_module() before param_sysfs_init() is called crashes in mod_sysfs_setup(), since the kset in module_subsys is not initialized yet. In my case, net-pf-1 is getting modprobed as a result of hotplug trying to create a UNIX socket. Calls to hotplug begin after the topology_init initcall. Another patch for the same symptom (module_subsys-initialize-earlier.patch) moves param_sysfs_init() to the subsys initcalls, but this is still not early enough in the boot process in some cases. In particular, topology_init() causes /sbin/hotplug to run, which requests net-pf-1 (the UNIX socket protocol) which can be compiled as a module. Moving param_sysfs_init() to the postcore initcalls fixes this particular race, but there might well be other cases where a usermodehelper causes a module to load earlier still. The patch makes load_module() return an error rather than crashing the kernel if invoked before module_subsys is initialized. Cc: Mark Huang Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit eef1cc3099aa25040099a0721346b550c9722640 Author: keith mannthey Date: Mon Sep 25 16:25:35 2006 -0700 i386: fix flat mode numa on a real numa system If there is only 1 node in the system cpus should think they are apart of some other node. If cases where a real numa system boots the Flat numa option make sure the cpus don't claim to be apart on a non-existent node. Signed-off-by: Keith Mannthey Cc: Andy Whitcroft Cc: Dave Hansen Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 1ada841196360876c5077ae2431ce5b90f9bbec2 Author: KAMEZAWA Hiroyuki Date: Mon Sep 25 16:25:31 2006 -0700 cpu to node relationship fixup: map cpu to node Assume that a cpu is *physically* offlined at boot time... Because smpboot.c::smp_boot_cpu_map() canoot find cpu's sapicid, numa.c::build_cpu_to_node_map() cannot build cpu<->node map for offlined cpu. For such cpus, cpu_to_node map should be fixed at cpu-hot-add. This mapping should be done before cpu onlining. This patch also handles cpu hotremove case. Signed-off-by: KAMEZAWA Hiroyuki Cc: Tony Luck Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit b1fc5287ba80bcbb7a4cdade1b62de6bb1c91479 Author: KAMEZAWA Hiroyuki Date: Mon Sep 25 16:25:21 2006 -0700 cpu to node relationship fixup: acpi_map_cpu2node Problem description: We have additional_cpus= option for allocating possible_cpus. But nid for possible cpus are not fixed at boot time. cpus which is offlined at boot or cpus which is not on SRAT is not tied to its node. This will cause panic at cpu onlining. Usually, pxm_to_nid() mapping is fixed at boot time by SRAT. But, unfortunately, some system (my system!) do not include full SRAT table for possible cpus. (Then, I use additiona_cpus= option.) For such possible cpus, pxm<->nid should be fixed at hot-add. We now have acpi_map_pxm_to_node() which is also used at boot. It's suitable here. Signed-off-by: KAMEZAWA Hiroyuki Cc: Tony Luck Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 34a1fb477e6020b245f09831030619fd7518ad46 Author: Michael Hanselmann Date: Mon Sep 25 16:25:07 2006 -0700 backlight: fix oops in __mutex_lock_slowpath during head /sys/class/graphics/fb0/* Seems like not all drivers use the framebuffer_alloc() function and won't have an initialized mutex. But those don't have a backlight, anyway. Signed-off-by: Michael Hanselmann Cc: Olaf Hering Cc: "Antonino A. Daplas" Cc: Daniel R Thompson Cc: Jon Smirl Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 45aa989ccaf46972daeca0dd12e98f7d89f73fc7 Author: David Rientjes Date: Mon Sep 25 16:24:57 2006 -0700 do not free non slab allocated per_cpu_pageset Stops panic associated with attempting to free a non slab-allocated per_cpu_pageset. Signed-off-by: David Rientjes Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit bb2609621210f46837b70a6b381ffb8e6dc8fb81 Author: Peter Zijlstra Date: Mon Sep 25 16:24:23 2006 -0700 rtc: lockdep fix/workaround BUG: warning at kernel/lockdep.c:1816/trace_hardirqs_on() (Not tainted) [] show_trace_log_lvl+0x58/0x171 [] show_trace+0xd/0x10 [] dump_stack+0x19/0x1b [] trace_hardirqs_on+0xa2/0x11e [] _spin_unlock_irq+0x22/0x26 [] rtc_get_rtc_time+0x32/0x176 [] hpet_rtc_interrupt+0x92/0x14d [] handle_IRQ_event+0x20/0x4d [] __do_IRQ+0x94/0xef [] do_IRQ+0x9e/0xbd [] common_interrupt+0x25/0x2c DWARF2 unwinder stuck at common_interrupt+0x25/0x2c Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 46475282edb4e2a0e1892ec3096304bb9c41e5fb Author: keith mannthey Date: Mon Sep 25 16:24:39 2006 -0700 i386 bootioremap / kexec fix With CONFIG_PHYSICAL_START set to a non default values the i386 boot_ioremap code calculated its pte index wrong and users of boot_ioremap have their areas incorrectly mapped (for me SRAT table not mapped during early boot). This patch removes the addr < BOOT_PTE_PTRS constraint. Signed-off-by: Keith Mannthey Cc: Vivek Goyal Cc: Dave Hansen Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit c436ff482c085e3c14a7c9cd357639c9ec74118c Author: Benjamin Herrenschmidt Date: Fri Sep 22 12:57:26 2006 +1000 powerpc: Fix ohare IDE irq workaround on old powermacs Looks like a workaround for old bogus OF bitrot... This fixes it and hence fixes boot on some performa machines. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Greg Kroah-Hartman commit 82ce1b95f964bef41e9008027daa40dd3135d145 Author: Hidetoshi Seto Date: Mon Sep 25 16:30:13 2006 -0700 sysfs: remove duplicated dput in sysfs_update_file Following function can drops d_count twice against one reference by lookup_one_len. /** * sysfs_update_file - update the modified timestamp on an object attribute. * @kobj: object we're acting for. * @attr: attribute descriptor. */ int sysfs_update_file(struct kobject * kobj, const struct attribute * attr) { struct dentry * dir = kobj->dentry; struct dentry * victim; int res = -ENOENT; mutex_lock(&dir->d_inode->i_mutex); victim = lookup_one_len(attr->name, dir, strlen(attr->name)); if (!IS_ERR(victim)) { /* make sure dentry is really there */ if (victim->d_inode && (victim->d_parent->d_inode == dir->d_inode)) { victim->d_inode->i_mtime = CURRENT_TIME; fsnotify_modify(victim); /** * Drop reference from initial sysfs_get_dentry(). */ dput(victim); res = 0; } else d_drop(victim); /** * Drop the reference acquired from sysfs_get_dentry() above. */ dput(victim); } mutex_unlock(&dir->d_inode->i_mutex); return res; } PCI-hotplug (drivers/pci/hotplug/pci_hotplug_core.c) is only user of this function. I confirmed that dentry of /sys/bus/pci/slots/XXX/* have negative d_count value. This patch removes unnecessary dput(). Signed-off-by: Hidetoshi Seto Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 6afb5fe75ac0b84f180706a4e5d838b3eb1b89ba Author: Arnd Bergmann Date: Fri Sep 22 08:40:40 2006 +0100 powerpc: fix building gdb against asm/ptrace.h Ulrich Weigand found a bug with the current version of the asm-powerpc/ptrace.h that prevents building at least the SPU target version of gdb, since some ptrace opcodes are not defined. The problem seems to have originated in the merging of 32 and 64 bit versions of that file, the problem is that some opcodes are only valid on 64 bit kernels, but are also used by 32 bit programs, so they can't depends on the __powerpc64__ symbol. Signed-off-by: Arnd Bergmann Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit 1cb6e7a4dbdab1d0b61bf8d8ce37598224d7e3f6 Author: David Woodhouse Date: Fri Sep 22 08:00:42 2006 +0100 Remove offsetof() from user-visible It's not used by anything user-visible, and it make g++ unhappy. Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit 2f47815a5b9e60ad28589660f7bb86d2da28d199 Author: David Woodhouse Date: Thu Sep 21 09:33:55 2006 +0100 Clean up exported headers on CRIS This fixes most of the issues with exported headers on CRIS, although we do still need to deal with the asm/arch symlink. Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit eedaef14bb918cd182b9f0716f20b5e1dcd956e2 Author: David Woodhouse Date: Thu Sep 21 09:05:25 2006 +0100 Fix v850 exported headers Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit a52e3e65718818dfe84b5509ae3f65737decb14b Author: David Woodhouse Date: Thu Sep 21 09:01:45 2006 +0100 Don't advertise (or allow) headers_{install,check} where inappropriate. For architectures which don't have the include/asm-$(ARCH)/Kbuild file, like ARM26, UM, etc. Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit 7c01124cd37f2549a88121193ebcdf626d38b94c Author: David Woodhouse Date: Thu Sep 21 08:55:28 2006 +0100 Remove UML header export No need for UML to export headers for userspace to build against. Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit 30e53ca00d598f37aa64d619d1878f3f3811c5d3 Author: David Woodhouse Date: Thu Sep 21 08:54:44 2006 +0100 Remove ARM26 header export. We ought to be able to use ARM headers; no need for special ARM26 version. Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit c4e93192cefdb79add7f357cd67ff688fda1c81c Author: David Woodhouse Date: Thu Sep 21 08:51:43 2006 +0100 Fix H8300 exported headers. Just clean up asm/page.h Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit 83b32ddbdd949df454663fd1482b74399bb3e4e5 Author: David Woodhouse Date: Thu Sep 21 08:50:36 2006 +0100 Fix m68knommu exported headers Just clean up asm/page.h Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit e81643cfeba1438d4cfc5033d71e0672b953fdeb Author: David Woodhouse Date: Thu Sep 21 08:48:27 2006 +0100 Fix exported headers for SPARC, SPARC64 Mostly removing files which have no business being used in userspace. Signed-off-by: David Woodhouse Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman commit 6d4e02aea92626731727a59ea76395949737040c Author: David Woodhouse Date: Sun Sep 17 08:39:39 2006 +0100 Fix 'make headers_check' on m32r > asm-m32r/page.h requires asm-generic/memory_model.h, which does not exist > asm-m32r/ptrace.h requires asm/m32r.h, which does not exist > asm-m32r/signal.h requires linux/linkage.h, which does not exist > asm-m32r/unistd.h requires asm/syscall.h, which does not exist > asm-m32r/user.h requires asm/processor.h, which does not exist Signed-off-by: Hirokazu Takata Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit 1bccf15c6fa27ae535006465044ce57a84ed3b53 Author: Paul Mundt Date: Wed Sep 20 03:27:17 2006 +0900 Fix 'make headers_check' on sh64 Cleanup for user headers, as noted: asm-sh64/page.h requires asm-generic/memory_model.h, which does not exist in exported headers asm-sh64/shmparam.h requires asm/cache.h, which does not exist in exported headers asm-sh64/signal.h requires asm/processor.h, which does not exist in exported headers asm-sh64/user.h requires asm/processor.h, which does not exist in exported headers Signed-off-by: Paul Mundt Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit 7e92b43411dcddb4bcb7e2b645b0cc8cd200968f Author: Paul Mundt Date: Wed Sep 20 03:25:34 2006 +0900 Fix 'make headers_check' on sh Cleanup for user headers, as noted: asm-sh/page.h requires asm-generic/memory_model.h, which does not exist in exported headers asm-sh/ptrace.h requires asm/ubc.h, which does not exist in exported headers Signed-off-by: Paul Mundt Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit 9600bbe8ae8e71cb9b49d0b2beaf6976803b63cc Author: David Woodhouse Date: Thu Sep 21 08:34:39 2006 +0100 Fix ARM 'make headers_check' Sanitise the ARM headers exported to userspace. Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit b586fa1802e3ed67d7b5c5ef3d4fe9c0d9ec5110 Author: David Woodhouse Date: Tue Sep 19 12:43:58 2006 +0100 One line per header in Kbuild files to reduce conflicts Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit fd2c37bcf4acfd7481cceb73b541af3e05608ef1 Author: Stephen Hemminger Date: Sat Sep 23 13:56:03 2006 -0700 sky2 network driver device ids This makes the id table match the current netdev upstream tree. From: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman commit f28bcc7a65f32c58ddcd75194477db5d52924e82 Author: Stephen Hemminger Date: Wed Sep 20 10:27:48 2006 -0700 sky2: tx pause bug fix The sky2 driver will hang if transmit flow control is enabled and it receives a pause frame. The pause frame gets partially processed by hardware but never makes it through to the correct logic. This patch made it into 2.6.17 stable, but never got accepted for 2.6.18, so it will have to go into 2.6.18.1 See also: http://bugzilla.kernel.org/show_bug.cgi?id=6839 Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman commit 768bce0abc7f8cb69beafd19e3de8f3c60274d9d Author: Jeff Garzik Date: Fri Sep 22 22:59:03 2006 +0000 netdrvr: lp486e: fix typo inside #if 0'd code, but it bugged me. Really, we should probably just delete the driver. Signed-off-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit 5517ccc366bde36286b6aeb5c520fd111b2110e7 Author: Jeff Garzik Date: Fri Sep 22 22:59:03 2006 +0000 mv643xx_eth: fix obvious typo, which caused build breakage The last minute fix submitted by the author fixed a bug, but broke the driver build. Noticed by Al Viro, since I can't build on said platform. Signed-off-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit be64642c614ee7b193a75da3731c7ee397c21b4b Author: Christoph Lameter Date: Mon Oct 2 10:45:24 2006 -0700 zone_reclaim: dynamic slab reclaim http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=0ff38490c836dc379ff7ec45b10a15a662f4e5f6 Currently one can enable slab reclaim by setting an explicit option in /proc/sys/vm/zone_reclaim_mode. Slab reclaim is then used as a final option if the freeing of unmapped file backed pages is not enough to free enough pages to allow a local allocation. However, that means that the slab can grow excessively and that most memory of a node may be used by slabs. We have had a case where a machine with 46GB of memory was using 40-42GB for slab. Zone reclaim was effective in dealing with pagecache pages. However, slab reclaim was only done during global reclaim (which is a bit rare on NUMA systems). This patch implements slab reclaim during zone reclaim. Zone reclaim occurs if there is a danger of an off node allocation. At that point we 1. Shrink the per node page cache if the number of pagecache pages is more than min_unmapped_ratio percent of pages in a zone. 2. Shrink the slab cache if the number of the nodes reclaimable slab pages (patch depends on earlier one that implements that counter) are more than min_slab_ratio (a new /proc/sys/vm tunable). The shrinking of the slab cache is a bit problematic since it is not node specific. So we simply calculate what point in the slab we want to reach (current per node slab use minus the number of pages that neeed to be allocated) and then repeately run the global reclaim until that is unsuccessful or we have reached the limit. I hope we will have zone based slab reclaim at some point which will make that easier. The default for the min_slab_ratio is 5% Also remove the slab option from /proc/sys/vm/zone_reclaim_mode. [akpm@osdl.org: cleanups] Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman commit 9293b470cf5b89504107dacac1576ff3d8a7668d Author: Christoph Lameter Date: Mon Sep 25 23:30:51 2006 -0700 Fix longstanding load balancing bug in the scheduler The scheduler will stop load balancing if the most busy processor contains processes pinned via processor affinity. The scheduler currently only does one search for busiest cpu. If it cannot pull any tasks away from the busiest cpu because they were pinned then the scheduler goes into a corner and sulks leaving the idle processors idle. F.e. If you have processor 0 busy running four tasks pinned via taskset, there are none on processor 1 and one just started two processes on processor 2 then the scheduler will not move one of the two processes away from processor 2. This patch fixes that issue by forcing the scheduler to come out of its corner and retrying the load balancing by considering other processors for load balancing. This patch was originally developed by John Hawkes and discussed at http://marc.theaimsgroup.com/?l=linux-kernel&m=113901368523205&w=2. I have removed extraneous material and gone back to equipping struct rq with the cpu the queue is associated with since this makes the patch much easier and it is likely that others in the future will have the same difficulty of figuring out which processor owns which runqueue. The overhead added through these patches is a single word on the stack if the kernel is configured to support 32 cpus or less (32 bit). For 32 bit environments the maximum number of cpus that can be configued is 255 which would result in the use of 32 bytes additional on the stack. On IA64 up to 1k cpus can be configured which will result in the use of 128 additional bytes on the stack. The maximum additional cache footprint is one cacheline. Typically memory use will be much less than a cacheline and the additional cpumask will be placed on the stack in a cacheline that already contains other local variable. Signed-off-by: Christoph Lameter Cc: John Hawkes Cc: Suresh Siddha Cc: Ingo Molnar Cc: Nick Piggin Cc: Peter Williams Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 675c2387af2fef39c82d41a0633c72f3904e5025 Author: Jan Kara Date: Mon Sep 11 15:13:37 2006 -0700 jbd: fix commit of ordered data buffers Original commit code assumes, that when a buffer on BJ_SyncData list is locked, it is being written to disk. But this is not true and hence it can lead to a potential data loss on crash. Also the code didn't count with the fact that journal_dirty_data() can steal buffers from committing transaction and hence could write buffers that no longer belong to the committing transaction. Finally it could possibly happen that we tried writing out one buffer several times. The patch below tries to solve these problems by a complete rewrite of the data commit code. We go through buffers on t_sync_datalist, lock buffers needing write out and store them in an array. Buffers are also immediately refiled to BJ_Locked list or unfiled (if the write out is completed). When the array is full or we have to block on buffer lock, we submit all accumulated buffers for IO. [suitable for 2.6.18.x around the 2.6.19-rc2 timeframe] Signed-off-by: Jan Kara Cc: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 566047d531c7853f5ed7d7638c4064aaf525b3b2 Author: Takashi Iwai Date: Mon Sep 25 11:49:01 2006 +0200 ALSA: Fix initiailization of user-space controls ALSA: Fix initiailization of user-space controls Fix an assertion when accessing a user-defined control due to lack of initialization (appears only when CONFIG_SND_DEBUg is enabled). ALSA sound/core/control.c:660: BUG? (info->access == 0) Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman commit edd5ef8326717b3d90f57daf565ff45fc7fddf99 Author: Tony Lindgren Date: Fri Sep 22 20:17:48 2006 -0700 USB: Allow compile in g_ether, fix typo Allows compiling g_ether in and fixes a typo with MUSB_HDRC Signed-off-by: Tony Lindgren Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit d083f6d9648646833aed11ce81009128baf897f9 Author: Jack Morgenstein Date: Wed Sep 20 15:47:16 2006 -0700 IB/mthca: Fix lid used for sending traps The SM LID used to send traps to is incorrectly set to port LID. This is a regression from 2.6.17 -- after a PortInfo MAD is received, no traps are sent to the SM LID. The traps go to the loopback interface instead, and are dropped there. The SM LID should be taken from the sm_lid of the PortInfo response. The bug was introduced by commit 12bbb2b7be7f5564952ebe0196623e97464b8ac5: IB/mthca: Add client reregister event generation Signed-off-by: Jack Morgenstein Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier Signed-off-by: Greg Kroah-Hartman commit fc51b686fa1e97060f8c9d061b74cff2b153c9f7 Author: Martin Schwidefsky Date: Thu Sep 28 15:31:52 2006 +0200 S390: user readable uninitialised kernel memory (CVE-2006-5174) [S390] user readable uninitialised kernel memory. A user space program can read uninitialised kernel memory by appending to a file from a bad address and then reading the result back. The cause is the copy_from_user function that does not clear the remaining bytes of the kernel buffer after it got a fault on the user space address. Signed-off-by: Martin Schwidefsky Signed-off-by: Greg Kroah-Hartman commit 728ffb9f87916f1da296fad0e80874d88da5512e Author: Daniel Drake Date: Mon Oct 9 16:06:16 2006 +0100 zd1211rw: ZD1211B ASIC/FWT, not jointly decoder The vendor driver chooses this value based on an ifndef ASIC, and ASIC is never defined. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman commit f89950d3c52158813fb6b4ff1158ef4e119c8d6a Author: Mike Isely Date: Sun Oct 8 14:42:17 2006 -0400 V4L: pvrusb2: Limit hor res for 24xxx devices Currently it is not understood how to properly control the horizontal capture resolution on 24xxx devices. The pvrusb2 driver is doing everything it should (pass resolution paramter(s) to cx2341x and cx25840 modules) but for some reason the result is corrupted video if any resolution other than 720 is used. This patch causes the driver to only permit a horizontal resolution of 720 to be used on 24xxx devices. Even if the app requests something else, the driver will force the resolution back to 720. This patch still allows full control of the resolution for 29xxx devices. Signed-off-by: Mike Isely Signed-off-by: Michael Krufky Signed-off-by: Greg Kroah-Hartman commit cd219de013e35f19bba381bb03398c354edefb8c Author: Mike Isely Date: Sun Oct 8 14:42:14 2006 -0400 V4L: pvrusb2: Suppress compiler warning The pvrusb2 driver needs to call video_devdata() in order to correctly transform a file pointer into a video_device pointer. Unfortunately the prototype for this function has been marked V4L1-only and there's no official substitute that I can find for V4L2. Adding to the mystery is that the implementation for this function exists whether or not V4L1 compatibility has been selected. The upshot of all this is that we get a compilation warning here about a missing prototype but the code links OK. This fix solves the warning by copying the prototype into the source file that is using it. Yes this is a hack, but it's a safe one for 2.6.18 (any alternative would be much more intrusive). A better solution should be forthcoming for the next kernel. Signed-off-by: Mike Isely Signed-off-by: Michael Krufky Signed-off-by: Greg Kroah-Hartman commit 931dae0203274fdc1abb4652bf94a84ce80a0a84 Author: Mike Isely Date: Sun Oct 8 14:42:11 2006 -0400 V4L: pvrusb2: improve 24XXX config option description The CONFIG_VIDEO_PVRUSB2_24XXX is not nearly as "experimental" as the description suggests. So refine the description to better match reality. Signed-off-by: Mike Isely Signed-off-by: Michael Krufky Signed-off-by: Greg Kroah-Hartman commit 7c34f70100b3114253c2141fcf4e8caac06e01a6 Author: Mike Isely Date: Sun Oct 8 14:42:08 2006 -0400 V4L: pvrusb2: Solve mutex deadlock There is a mutex ordering problem between the pvrusb2 driver and the v4l core. Two different pathways take mutexes in opposing orders and this (under rare circumstances) can cause a deadlock. The two mutexes in question are videodev_lock in the v4l core and device_lock inside the pvrusb2 driver. The device_lock instance in the driver protects a private global array of context pointers which had been implemented in advance of v4l core changes which eliminate the video_set_drvdata() and video_get_drvdata() functions. This patch restores the use of video_get_drvdata() and video_set_drvdata(), eliminating the need for the array and the mutex. (This is actually a patch to restore the previous implementation.) We can do this for 2.6.18 since those functions are in fact still present. A better (and larger) solution will be done for later kernels. Signed-off-by: Mike Isely Signed-off-by: Michael Krufky Signed-off-by: Greg Kroah-Hartman commit 17983c7efc5a1e2deace277ade4ac9933c0db68f Author: Yeasah Pell Date: Sun Oct 8 14:41:43 2006 -0400 DVB: cx24123: fix PLL divisor setup The cx24109 datasheet says: "NOTE: if A=0, then N=N+1" The current code is the result of a misinterpretation of the datasheet to mean exactly the opposite of the requirement -- The actual value of N is 1 greater than the value written when A is 0, so 1 needs to be *subtracted* from it to compensate. Signed-off-by: Yeasah Pell Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Greg Kroah-Hartman commit c998b8df9876512097947fb3cbe3bb4397a05819 Author: Hans Verkuil Date: Sun Oct 8 14:41:42 2006 -0400 V4L: Fix msp343xG handling regression The msp3430G and msp3435G models cannot do Automatic Standard Detection, so these should be forced to BTSC. These chips are early production versions for the msp34xxG series and are quite rare. The workaround for kernel 2.6.18 is to use 'standard=32' as msp3400 module option. Signed-off-by: Hans Verkuil Signed-off-by: Michael Krufky Signed-off-by: Greg Kroah-Hartman commit e392c24a07c18208c29cf11c856d6031b4fb3f87 Author: Jeff Dike Date: Thu Oct 5 20:27:32 2006 +0200 UML: Fix UML build failure don't know if the following is already queued, it fixes an ARCH=um build failure, evidence here: http://marc.theaimsgroup.com/?l=linux-kernel&m=115875912525137&w=2 and following thread. Cc-ing uml maintainers and I hope I didn't follow too many Submitting-patches rules... The patch is taken from: http://user-mode-linux.sourceforge.net/work/current/2.6/2.6.18/patches/no-syscallx Since the syscallx macros seem to be under threat, this patch stops using them, using syscall instead. Acked-by: Jeff Dike Signed-off-by: Greg Kroah-Hartman commit bc019aa572e8c5e7fa759edbd50551a596b6ecae Author: Paolo 'Blaisorblade' Giarrusso Date: Thu Oct 5 22:01:47 2006 +0200 uml: use DEFCONFIG_LIST to avoid reading host's config This should make sure that, for UML, host's configuration files are not considered, which avoids various pains to the user. Our dependency are such that the obtained Kconfig will be valid and will lead to successful compilation - however they cannot prevent an user from disabling any boot device, and if an option is not set in the read .config (say /boot/config-XXX), with make menuconfig ARCH=um, it is not set. This always disables UBD and all console I/O channels, which leads to non-working UML kernels, so this bothers users - especially now, since it will happen on almost every machine (/boot/config-`uname -r` exists almost on every machine). It can be workarounded with make defconfig ARCH=um, but it is non-obvious and can be avoided, so please _do_ merge this patch. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Acked-by: Jeff Dike Signed-off-by: Greg Kroah-Hartman commit 394455f840973f53dabe3b608573e153c1be3104 Author: Paolo 'Blaisorblade' Giarrusso Date: Thu Oct 5 21:34:28 2006 +0200 uml: allow using again x86/x86_64 crypto code Enable compilation of x86_64 crypto code;, and add the needed constant to make the code compile again (that macro was added to i386 asm-offsets between 2.6.17 and 2.6.18, in 6c2bb98bc33ae33c7a33a133a4cd5a06395fece5). Signed-off-by: Paolo 'Blaisorblade' Giarrusso Acked-by: Jeff Dike Signed-off-by: Greg Kroah-Hartman commit 5f804c752ba4e4e85457bf0e4da9f8521720328b Author: Patrick McHardy Date: Mon Oct 9 21:16:11 2006 -0700 NET_SCHED: Fix fallout from dev->qdisc RCU change The move of qdisc destruction to a rcu callback broke locking in the entire qdisc layer by invalidating previously valid assumptions about the context in which changes to the qdisc tree occur. The two assumptions were: - since changes only happen in process context, read_lock doesn't need bottem half protection. Now invalid since destruction of inner qdiscs, classifiers, actions and estimators happens in the RCU callback unless they're manually deleted, resulting in dead-locks when read_lock in process context is interrupted by write_lock_bh in bottem half context. - since changes only happen under the RTNL, no additional locking is necessary for data not used during packet processing (f.e. u32_list). Again, since destruction now happens in the RCU callback, this assumption is not valid anymore, causing races while using this data, which can result in corruption or use-after-free. Instead of "fixing" this by disabling bottem halfs everywhere and adding new locks/refcounting, this patch makes these assumptions valid again by moving destruction back to process context. Since only the dev->qdisc pointer is protected by RCU, but ->enqueue and the qdisc tree are still protected by dev->qdisc_lock, destruction of the tree can be performed immediately and only the final free needs to happen in the rcu callback to make sure dev_queue_xmit doesn't access already freed memory. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman