commit d9f8bcbf67a0ee67c8cb0734f003dfe916bb5248 Author: Linus Torvalds Date: Fri Nov 16 21:16:36 2007 -0800 Linux 2.6.24-rc3 commit ec418781708f89ef6eb8eb5ef1eeb79a6bec9d69 Author: Eric Paris Date: Fri Nov 16 16:35:56 2007 -0500 SELinux: return EOPNOTSUPP not ENOTSUPP ENOTSUPP is not a valid error code in the kernel (it is defined in some NFS internal error codes and has been improperly used other places). In the !CONFIG_SECURITY_SELINUX case though it is possible that we could return this from selinux_audit_rule_init(). This patch just returns the userspace valid EOPNOTSUPP. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 2a0d7187340ca192ccc061a86c8a55be5e7627f0 Author: eric miao Date: Tue Oct 30 08:10:18 2007 +0100 [ARM] 4638/1: pxa: use PXA3xx specific macros to define clks PXA3xx uses its own clk_pxa3xx_cken_ops, modify the code to use the PXA3xx specific macros to define its clocks Signed-off-by: eric miao Signed-off-by: Russell King commit 8c0863403f109a43d7000b4646da4818220d501f Author: Linus Torvalds Date: Thu Nov 15 16:41:52 2007 -0800 dirty page balancing: Get rid of broken unmapped_ratio logic This code harks back to the days when we didn't count dirty mapped pages, which led us to try to balance the number of dirty unmapped pages by how much unmapped memory there was in the system. That makes no sense any more, since now the dirty counts include the mapped pages. Not to mention that the math doesn't work with HIGHMEM machines anyway, and causes the unmapped_ratio to potentially turn negative (which we do catch thanks to clamping it at a minimum value, but I mention that as an indication of how broken the code is). The code also was written at a time when the default dirty ratio was much larger, and the unmapped_ratio logic effectively capped that large dirty ratio a bit. Again, we've since lowered the dirty ratio rather aggressively, further lessening the point of that code. Acked-by: Peter Zijlstra Signed-off-by: Linus Torvalds commit 7799652557d966e49512479f4d3b9079bbc01fff Author: Evgeniy Polyakov Date: Thu Nov 15 15:52:32 2007 -0800 [NETFILTER]: Fix NULL pointer dereference in nf_nat_move_storage() Reported by Chuck Ebbert as: https://bugzilla.redhat.com/show_bug.cgi?id=259501#c14 This routine is called each time hash should be replaced, nf_conn has extension list which contains pointers to connection tracking users (like nat, which is right now the only such user), so when replace takes place it should copy own extensions. Loop above checks for own extension, but tries to move higer-layer one, which can lead to above oops. Signed-off-by: Evgeniy Polyakov Signed-off-by: David S. Miller commit a5a97263a9fd6a94f954d41ae3233ea65a90bd8a Author: Chris Poon Date: Thu Nov 15 15:38:45 2007 -0800 [SUNHME]: VLAN support for sunhme This patch enables VLAN support on sunhme by increasing BMAC_TXMAX/BMAC_RXMAX and allocating extra space via skb_put for the VLAN header. Signed-off-by: Chris Poon Signed-off-by: David S. Miller commit 72e510654c814e2c5c9227e95ae02ea77e015ce4 Author: Ralf Baechle Date: Thu Nov 15 22:20:33 2007 +0000 [MIPS] N32 needs to use the compat version of sys_nfsservctl. Signed-off-by: Ralf Baechle commit 30e748a507919a41f9eb4d10b4954f453325a37d Author: Ralf Baechle Date: Thu Nov 15 19:37:15 2007 +0000 [MIPS] irq_cpu: use handle_percpu_irq handler to avoid dropping interrupts. This matters to any sort of device that is wired to one of the CPU interrupt pins on an SMP system. Typically the scenario is most easily triggered with the count/compare timer interrupt where the same interrupt number and thus irq_desc is used on each processor. CPU A CPU B do_IRQ() generic_handle_irq() handle_level_irq() spin_lock(desc_lock) set IRQ_INPROGRESS spin_unlock(desc_lock) do_IRQ() generic_handle_irq() handle_level_irq() spin_lock(desc_lock) IRQ_INPROGRESS set => bail out spin_lock(desc_lock) clear IRQ_INPROGRESS spin_unlock(desc_lock) In case of the cp0 compare interrupt this means the interrupt will be acked and not handled or re-armed on CPU b, so there won't be any timer interrupt until the count register wraps around. With kernels 2.6.20 ... 2.6.23 we usually were lucky that things were just working right on VSMP because the count registers are synchronized on bootup so it takes something that disables interrupts for a long time on one processor to trigger this one. For scenarios where an interrupt is multicasted or broadcasted over several CPUs the existing code was safe and the fix will break it. There is no way to know in the interrupt controller code because it is abstracted from the platform code. I think we do not have such a setup currently, so this should be ok. Signed-off-by: Ralf Baechle commit f99f2cc9363a08cdbd6cfbe3f29234e3235d05e8 Author: Ralf Baechle Date: Tue Nov 13 00:35:13 2007 +0000 [MIPS] Sibyte: Fix name of clocksource. Signed-off-by: Ralf Baechle commit eae5fdc3e5032304a7d53bd06784b7ee71abccaf Author: Maciej W. Rozycki Date: Mon Nov 12 17:32:48 2007 +0000 [MIPS] SNI: s/achknowledge/acknowledge/ Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit 3247989ee864db2cc5dccb14460573fee82b6832 Author: Maciej W. Rozycki Date: Mon Nov 12 17:30:52 2007 +0000 [MIPS] Makefile: Fix canonical system names The GNU `config.guess' uses "linux-gnu" as the canonical system name. Fix the list of compiler prefixes checked to spell it correctly. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit 7c3a622d9c8e88117a8d647756827852dd8c8432 Author: Nigel Stephens Date: Thu Nov 8 13:25:51 2007 +0000 [MIPS] vpe: handle halting TCs in an errata safe way. Adds a JR.HB after halting a TC, to ensure that the TC has really halted. only modifies the TCSTATUS register when the TC is safely halted. Signed-off-by: Ralf Baechle commit 8dfa741f146b39eb59ef2094e03f47079ca99eb0 Author: Ralf Baechle Date: Sun Nov 11 17:33:55 2007 +0000 [MIPS] Sibyte: Stop timers before programming next even. We have no guarantee by the generic time code that the timer is stopped when the ->next_event method is called. Modifying the Timer Initial Count register while the timer is enabled has UNPREDICTABLE effect according to the BCM1250/BCM1125/BCM1125H User Manual. So stop the timer before reprogramming. This is a paranoia fix; no ill effects have been observed previously. Signed-off-by: Ralf Baechle commit 622477533d3dc24845c847f386533f3c0e6a1be6 Author: Ralf Baechle Date: Sun Nov 11 17:24:46 2007 +0000 [MIPS] Sibyte: Increase minimum oneshot timer interval to two ticks. For the old minimum of a single tick a value of zero would be programmed into the init value register which in the BCM1250/BCM1125/BCM1125H User Manual in the Timer Special Cases section is documented to have UNPREDICTABLE effect. Observable sympthoms of this bug were hangs of several seconds on the console during bootup and later if both dyntick and highres timer options were activated. In theory contiguous mode of the timers is also affected but in an act of hopeless lack of realism I'll assume nobody will ever configure a KERNEL for HZ > 500kHz but if so I leave that to evolution to sort out. Signed-off-by: Ralf Baechle commit 89becf5c0d9019f4f9300840f08a98ee33d57d37 Author: Yoichi Yuasa Date: Fri Nov 9 18:42:35 2007 +0900 [MIPS] Lasat: Fix overlap of interrupt number ranges. The range of MIPS_CPU IRQ and the range of LASAT IRQ overlap. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit fcee3faf8339bb65660c9a22123f71aa0cc30514 Author: Thomas Bogendoerfer Date: Thu Nov 8 22:09:11 2007 +0100 [MIPS] SNI PCIT CPLUS: workaround for b0rked irq wiring of onboard PCI bus 1 Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit f6771dbb27c704ce837ba3bb1dcaa53f48f76ea8 Author: Ralf Baechle Date: Thu Nov 8 18:02:29 2007 +0000 [MIPS] Fix shadow register support. Shadow register support would not possibly have worked on multicore systems. The support code for it was also depending not on MIPS R2 but VSMP or SMTC kernels even though it makes perfect sense with UP kernels. SR sets are a scarce resource and the expected usage pattern is that users actually hardcode the register set numbers in their code. So fix the allocator by ditching it. Move the remaining CPU probe bits into the generic CPU probe. Signed-off-by: Ralf Baechle commit efb9ca08b5a2374b29938cdcab417ce4feb14b54 Author: Ralf Baechle Date: Thu Nov 8 11:37:47 2007 +0000 [MIPS] Change get_cycles to always return 0. This avoids us executing an mfc0 c0_count instruction on processors which don't have but also on certain R4000 and R4400 versions where reading from the count register just in the very moment when its value equals c0_compare will result in the timer interrupt getting lost. There is still a number of users of get_cycles remaining outside the arch code: crypto/tcrypt.c: start = get_cycles(); crypto/tcrypt.c: end = get_cycles(); crypto/tcrypt.c: start = get_cycles(); crypto/tcrypt.c: end = get_cycles(); crypto/tcrypt.c: start = get_cycles(); crypto/tcrypt.c: end = get_cycles(); drivers/char/hangcheck-timer.c: return get_cycles(); drivers/char/hangcheck-timer.c: printk("Hangcheck: Using get_cycles().\n"); drivers/char/random.c: sample.cycles = get_cycles(); drivers/input/joystick/analog.c:#define GET_TIME(x) do { x = get_cycles(); } include/linux/arcdevice.h: _x = get_cycles(); \ include/linux/arcdevice.h: _y = get_cycles(); \ mm/slub.c: if (!s->defrag_ratio || get_cycles() % 1024 > s->defrag_ratio) mm/slub.c: p += 64 + (get_cycles() & 0xff) * sizeof(void *); Signed-off-by: Ralf Baechle commit c6563e85f73e5806d58d8b0230edecbc65537200 Author: Atsushi Nemoto Date: Wed Nov 7 01:08:48 2007 +0900 [MIPS] Fix typo in R3000 TRACE_IRQFLAGS code Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 33b75e5c51e119c903681f592b4ec6c772def0e0 Author: Ralf Baechle Date: Tue Nov 6 00:43:51 2007 +0000 [MIPS] Sibyte: Replace use of removed IO_SPACE_BASE with IOADDR. Signed-off-by: Ralf Baechle commit bb856c5b494049584eca61c6069eb8e1b0f9ce35 Author: Roel Kluin <12o3l@tiscali.nl> Date: Sun Nov 4 13:00:06 2007 +0100 [MIPS] iounmap if in vr41xx_pciu_init() pci clock is over 33MHz iounmap if pci clock is over 33MHz. Cosmetic because the iomap() in this case is just a bit of address magic. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Acked-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit a8401fa57f1600ca0ad74b958c2c9eb494f40dc8 Author: Ralf Baechle Date: Mon Nov 5 00:29:45 2007 +0000 [MIPS] BCM1480: Remove duplicate acknowledge of timer interrupt. Signed-off-by: Ralf Baechle commit 07a80e49240ff57bccc3c65944d35947c3d33697 Author: Ralf Baechle Date: Mon Nov 5 00:18:05 2007 +0000 [MIPS] Sibyte: pin timer interrupt to their cores. Or strange things will happen. Signed-off-by: Ralf Baechle commit a57c228935fd55c4a1cf7c0b7823537c81914000 Author: Ralf Baechle Date: Sun Nov 4 04:49:44 2007 +0000 [MIPS] Qemu: Add early printk, your friend in a cold night. Signed-off-by: Ralf Baechle commit a8049c53cdad347b5b1234969dba65a179fdf8f1 Author: Ralf Baechle Date: Sun Nov 4 04:42:03 2007 +0000 [MIPS] Convert reference to mem_map to pfn_to_page(). This was crashing the combination of highmem and sparsemem. Signed-off-by: Ralf Baechle commit a754f70886ebcc7fda3d18a828e0e54e3ffc86d9 Author: Ralf Baechle Date: Sat Nov 3 01:01:37 2007 +0000 [MIPS] Sibyte: resurrect old cache hack. The recent switch of the Sibyte SOCs from the processor specific cache managment code in c-sb1.c to c-r4k.c lost this old hack [MIPS] Hack for SB1 cache issues Removing flush_icache_page a while ago broke SB1 which was using an empty flush_data_cache_page function. This glues things well enough so a more efficient but also more intrusive solution can be found later. Signed-Off-By: Thiemo Seufer Signed-off-by: Ralf Baechle in the hope it was no longer needed. As it turns it still is so resurrect it until there is a better solution. Signed-off-by: Ralf Baechle commit 7de6af0f23b25df8da9719ecae1916b669d0b03d Author: Divy Le Ray Date: Thu Nov 15 15:06:32 2007 -0800 [CHELSIO]: Fix skb->dev setting. eth_type_trans() now sets skb->dev. Access skb->def after it gets set. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 6452a5fde03717c55dbb8b6b0b5bfab510ad38d5 Author: Patrick McHardy Date: Thu Nov 15 14:29:21 2007 -0800 [NETFILTER]: fix compat_nf_sockopt typo It should pass opt to the ->get/->set functions, not ops. Tested-by: Luca Tettamanti Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9612633a21ae8424531caf977f0560f64285bf36 Author: Ingo Molnar Date: Thu Nov 15 20:57:40 2007 +0100 sched: reorder SCHED_FEAT_ bits reorder SCHED_FEAT_ bits so that the used ones come first. Makes tuning instructions easier. Signed-off-by: Ingo Molnar commit 518b22e990a9071bf508ca67e31b37e7590f499c Author: Adrian Bunk Date: Thu Nov 15 20:57:40 2007 +0100 sched: make sched_nr_latency static sched_nr_latency can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Ingo Molnar commit 94bc9a7bd97efdda4dfbe61d0df32ce19d41c0a9 Author: Dmitry Adamushko Date: Thu Nov 15 20:57:40 2007 +0100 sched: remove activate_idle_task() cpu_down() code is ok wrt sched_idle_next() placing the 'idle' task not at the beginning of the queue. So get rid of activate_idle_task() and make use of activate_task() instead. It is the same as activate_task(), except for the update_rq_clock(rq) call that is redundant. Code size goes down: text data bss dec hex filename 47853 3934 336 52123 cb9b sched.o.before 47828 3934 336 52098 cb82 sched.o.after Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit ce96b5ac742801718ae86d2adf0500c5abef3782 Author: Dmitry Adamushko Date: Thu Nov 15 20:57:40 2007 +0100 sched: fix __set_task_cpu() SMP race Grant Wilson has reported rare SCHED_FAIR_USER crashes on his quad-core system, which crashes can only be explained via runqueue corruption. there is a narrow SMP race in __set_task_cpu(): after ->cpu is set up to a new value, task_rq_lock(p, ...) can be successfuly executed on another CPU. We must ensure that updates of per-task data have been completed by this moment. this bug has been hiding in the Linux scheduler for an eternity (we never had any explicit barrier for task->cpu in set_task_cpu() - so the bug was introduced in 2.5.1), but only became visible via set_task_cfs_rq() being accidentally put after the task->cpu update. It also probably needs a sufficiently out-of-order CPU to trigger. Reported-by: Grant Wilson Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit dae51f56204d33444f61d9e7af3ee70aef55daa4 Author: Oleg Nesterov Date: Thu Nov 15 20:57:40 2007 +0100 sched: fix SCHED_FIFO tasks & FAIR_GROUP_SCHED Suppose that the SCHED_FIFO task does switch_uid(new_user); Now, p->se.cfs_rq and p->se.parent both point into the old user_struct->tg because sched_move_task() doesn't call set_task_cfs_rq() for !fair_sched_class case. Suppose that old user_struct/task_group is freed/reused, and the task does sched_setscheduler(SCHED_NORMAL); __setscheduler() sets fair_sched_class, but doesn't update ->se.cfs_rq/parent which point to the freed memory. This means that check_preempt_wakeup() doing while (!is_same_group(se, pse)) { se = parent_entity(se); pse = parent_entity(pse); } may OOPS in a similar way if rq->curr or p did something like above. Perhaps we need something like the patch below, note that __setscheduler() can't do set_task_cfs_rq(). Signed-off-by: Oleg Nesterov Signed-off-by: Ingo Molnar commit 9778385db35a799d410039be123044a0d3e917a2 Author: Christian Borntraeger Date: Thu Nov 15 20:57:39 2007 +0100 sched: fix accounting of interrupts during guest execution on s390 Currently the scheduler checks for PF_VCPU to decide if this timeslice has to be accounted as guest time. On s390 host interrupts are not disabled during guest execution. This causes theses interrupts to be accounted as guest time if CONFIG_VIRT_CPU_ACCOUNTING is set. Solution is to check if an interrupt triggered account_system_time. As the tick is timer interrupt based, we have to subtract hardirq_offset. I tested the patch on s390 with CONFIG_VIRT_CPU_ACCOUNTING and on x86_64. Seems to work. CC: Avi Kivity CC: Laurent Vivier Signed-off-by: Christian Borntraeger Signed-off-by: Ingo Molnar commit 8b925a3dd8a4d7451092cb9aa11da727ba69e0f0 Author: Jean Delvare Date: Thu Nov 15 19:24:03 2007 +0100 i2c/eeprom: Recognize VGN as a valid Sony Vaio name prefix Recent (i.e. 2005 and later) Sony Vaio laptops have names beginning with VGN rather than PCG. Update the eeprom driver so that it recognizes these. Signed-off-by: Jean Delvare commit 0f2cbd38aa377e30df3b7602abed69464d1970aa Author: Jean Delvare Date: Thu Nov 15 19:24:03 2007 +0100 i2c/eeprom: Hide Sony Vaio serial numbers The sysfs interface to DMI data takes care to not make the system serial number and UUID world-readable, presumably due to privacy concerns. For consistency, we should not let the eeprom driver export these same strings to the world on Sony Vaio laptops. Instead, only make them readable by root, as we already do for BIOS passwords. Signed-off-by: Jean Delvare commit be8a1f7cd4501c3b4b32543577a33aee6d2193ac Author: Olof Johansson Date: Thu Nov 15 19:24:02 2007 +0100 i2c-pasemi: Fix NACK detection Turns out we don't actually check the status to see if there was a device out there to talk to, just if we had a timeout when doing so. Add the proper check, so we don't falsly think there are devices on the bus that are not there, etc. Signed-off-by: Olof Johansson Signed-off-by: Jean Delvare commit ff23f3eabbaa4fc398e0ce109a8688db29d95d78 Author: Robert P. J. Day Date: Thu Nov 15 19:24:02 2007 +0100 i2c-pasemi: Replace obsolete "driverfs" reference with "sysfs" Signed-off-by: Robert P. J. Day Signed-off-by: Jean Delvare commit 5e31c2bd3c865f8f474811340182795396b99696 Author: Jean Delvare Date: Thu Nov 15 19:24:02 2007 +0100 i2c: Make i2c_check_addr static i2c_check_addr is only used inside i2c-core now, so we can make it static and stop exporting it. Thanks to David Brownell for noticing. Signed-off-by: Jean Delvare commit bd4217d8c6ef48425c8d6b28d2e089a83e01af04 Author: Jean Delvare Date: Thu Nov 15 19:24:01 2007 +0100 i2c-dev: Unbound new-style i2c clients aren't busy Let i2c-dev deal properly with new-style i2c clients. Instead of considering them always busy, it needs to check wether a driver is bound to them or not. This is still not completely correct, as the client could become busy later, but the same problem already existed before new-style clients were introduced. We'll want to fix it someday. Signed-off-by: Jean Delvare Acked-by: David Brownell commit 907135aaa0cc120a347222c8f274ecc5ca0db641 Author: David Brownell Date: Thu Nov 15 19:24:01 2007 +0100 i2c-dev: "how does it work" comments This adds some "how does this work" comments to the i2c-dev driver, plus separators between the three main components: - The parallel list of i2c_adapters ("i2c_dev_list"), each of which gets a "struct i2c_dev" and a /dev/i2c-X character special file. - An i2cdev_driver gets adapter add/remove notifications, which are used to maintain that list of adapters. - Special file operations, which let userspace talk either directly to the adapter (for i2c_msg operations) or through cached addressing info using an anonymous i2c_client (never registered anywhere). Plus there's the usual module load/unload record keeping. After making sense of this code, I think that the anonymous i2c_client is pretty shady. But since it's never registered, using this code with a system set up for "new style" I2C drivers is no more complicated than always using the I2C_SLAVE_FORCE ioctl (instead of I2C_SLAVE). Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 279e1dab949d33737557babfe9f74e0b74fbe39a Author: Linus Torvalds Date: Thu Nov 15 08:44:36 2007 -0800 Revert "skge: fix ram buffer size calculation" This reverts commit 7fb7ac241162dc51ec0f7644d4a97b2855213c32. Heikki Orsila reports that it causes a regression: "Doing nc host port < /dev/zero on a sending machine (not skge) to an skge machine that is receiving: nc -l -p port >/dev/null with ~60 MiB/s speed, causes the interface go malfunct. A slow transfer doesn't cause a problem." See http://bugzilla.kernel.org/show_bug.cgi?id=9321 for some more information. There is a workaround (also reported by Heikki): "After some fiddling, I noticed that not changing the register write order on patch: + skge_write32(hw, RB_ADDR(q, RB_END), end); skge_write32(hw, RB_ADDR(q, RB_WP), start); skge_write32(hw, RB_ADDR(q, RB_RP), start); - skge_write32(hw, RB_ADDR(q, RB_END), end); fixes the visible effect.. Possibly not the root cause of the problem, but changing the order back fixes networking here." but that has yet to be ack'ed or tested more widely, so the whole problem-causing commit gets reverted until this is resolved properly. Bisected-and-requested-by: Heikki Orsila Cc: Stephen Hemminger Cc: Jeff Garzik Signed-off-by: Linus Torvalds commit d32ddd8f20e7d7a49c45c337c2079be03c77dc41 Author: Nick Piggin Date: Thu Nov 15 12:32:04 2007 +0100 slob: fix memory corruption Previously, it would be possible for prev->next to point to &free_slob_pages, and thus we would try to move a list onto itself, and bad things would happen. It seems a bit hairy to be doing list operations with the list marker as an entry, rather than a head, but... this resolves the following crash: http://bugzilla.kernel.org/show_bug.cgi?id=9379 Signed-off-by: Nick Piggin Signed-off-by: Ingo Molnar Acked-by: Matt Mackall Signed-off-by: Linus Torvalds commit a3474224e6a01924be40a8255636ea5522c1023a Author: Roland McGrath Date: Tue Nov 13 22:11:50 2007 -0800 wait_task_stopped: Check p->exit_state instead of TASK_TRACED The original meaning of the old test (p->state > TASK_STOPPED) was "not dead", since it was before TASK_TRACED existed and before the state/exit_state split. It was a wrong correction in commit 14bf01bb0599c89fc7f426d20353b76e12555308 to make this test for TASK_TRACED instead. It should have been changed when TASK_TRACED was introducted and again when exit_state was introduced. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Cc: Alexey Dobriyan Cc: Kees Cook Acked-by: Scott James Remnant Signed-off-by: Linus Torvalds commit 597702aeb492fcb8e1b48283e1450df40e928ba0 Author: Haavard Skinnemoen Date: Wed Oct 31 20:34:11 2007 +0100 [AVR32] Export intc_get_pending symbol Oprofile needs to call intc_get_pending() in order to determine whether a performance counter interrupt is pending. Also, include the header which declares intc_get_pending() and fix the definition to match the prototype. Signed-off-by: Haavard Skinnemoen commit 8fea1ad17f1d7ba0ef6ce7b73ad9dd4562035437 Author: Haavard Skinnemoen Date: Wed Oct 31 20:32:00 2007 +0100 [AVR32] Add missing bit in PCCR sysreg The enable bit was missing... Signed-off-by: Haavard Skinnemoen commit 80f76c54bd23c45b37f03a4d49ef4b760430dbcc Author: ben.nizette@iinet.net.au Date: Wed Nov 7 16:16:22 2007 +0900 [AVR32] Fix duplicate clock index in at32ap machine code There's a duplicate clock index between USART0 and USART1 which may be causing system crashes when USART0 is used. Change the USART0 index to '3', indicating the clock that is actually used by USART0. Signed-off-by: Ben Nizette Signed-off-by: Haavard Skinnemoen commit 138712218e7582e274990cdf77dc798b2aa4fa99 Author: Adrian Bunk Date: Mon Nov 5 18:06:12 2007 +0100 [AVR32] remove UID16 option avr32 already sees the option from init/Kconfig. Signed-off-by: Adrian Bunk Signed-off-by: Haavard Skinnemoen commit 3a65a69d493c589f4225dc26c19598c00c1de0b4 Author: Haavard Skinnemoen Date: Mon Nov 5 14:06:51 2007 +0100 [AVR32] Turn off debugging in SMC driver Signed-off-by: Haavard Skinnemoen commit 9797bed20e2257f349872e00840a226f397f8d3a Author: Hans-Christian Egtvedt Date: Tue Oct 30 14:29:50 2007 +0100 Extend I/O resource for wdt0 for at32ap7000 devices This patch extends the I/O resource to 0xfff000cf which will enable the watchdog driver to access the reset cause (RCAUSE) register. Making it capable of reporting boot status. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit 330a9c1df63ca5043c468698da0a1853fd6778bb Author: Haavard Skinnemoen Date: Tue Oct 16 11:23:51 2007 +0200 [AVR32] pcmcia ioaddr_t should be 32 bits on AVR32 Define ioaddr_t as u_int on AVR32 just like on ARM and MIPS. Signed-off-by: Haavard Skinnemoen commit dab6ba36888a12f3e3edff71eeef968fc159178a Author: Pavel Emelyanov Date: Thu Nov 15 02:57:06 2007 -0800 [INET]: Fix potential kfree on vmalloc-ed area of request_sock_queue The request_sock_queue's listen_opt is either vmalloc-ed or kmalloc-ed depending on the number of table entries. Thus it is expected to be handled properly on free, which is done in the reqsk_queue_destroy(). However the error path in inet_csk_listen_start() calls the lite version of reqsk_queue_destroy, called __reqsk_queue_destroy, which calls the kfree unconditionally. Fix this and move the __reqsk_queue_destroy into a .c file as it looks too big to be inline. As David also noticed, this is an error recovery path only, so no locking is required and the lopt is known to be not NULL. reqsk_queue_yank_listen_sk is also now only used in net/core/request_sock.c so we should move it there too. Signed-off-by: Pavel Emelyanov Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit bd7b3f34198071d8bec05180530c362f1800ba46 Author: Stephen Hemminger Date: Wed Nov 14 19:47:27 2007 -0800 [VIA_VELOCITY]: Don't oops on MTU change. Simple mtu change when device is down. Fix http://bugzilla.kernel.org/show_bug.cgi?id=9382. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2f1f53bdc6531696934f6ee7bbdfa2ab4f4f62a3 Author: Jesper Nilsson Date: Wed Nov 14 17:01:33 2007 -0800 CRISv10 fasttimer: Scrap INLINE and name timeval_cmp better Scrap the local __INLINE__ macro, and rename timeval_cmp to fasttime_cmp. Inline macro was completely unnecessary since the macro was defined locally to be inline. timeval_cmp was inaccurately named since it does comparison on struct fasttimer_t and not on struct timeval. Signed-off-by: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e2cd8bad6e03ceea73495ee6d557044213d95de Author: Jesper Nilsson Date: Wed Nov 14 17:01:32 2007 -0800 CRISv10 memset library add lineendings to asm Add \n\ at end of lines inside asm statement to avoid warning. No change except adding \n\ to end of line and correcting whitespace has been done. Removes warning about multi-line string literals when compiling arch/cris/arch-v10/lib/memset.c Signed-off-by: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 341ac6e4bee51ed5f83275fb311f3ef014f4bcd7 Author: Jesper Nilsson Date: Wed Nov 14 17:01:31 2007 -0800 CRISv10 string library add lineendings to asm Add \n\ at end of lines inside asm statement to avoid warning. No change except adding \n\ to end of line and correcting whitespace has been done. Removes warning about multi-line string literals when compiling arch/cris/arch-v10/lib/string.c Signed-off-by: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b05d2b3b4d1e59e8710ec9274684d0d13eee34d Author: Jesper Nilsson Date: Wed Nov 14 17:01:30 2007 -0800 CRISv10 usercopy library add lineendings to asm Removes warning when compiling arch/cris/arch-v10/lib/usercopy.c No change except adding \n\ on the end of the lines has been done. Removes warning about multi-line string literals. Signed-off-by: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3eed6393644c960e2343db7dabec08c775d3738f Author: Jesper Nilsson Date: Wed Nov 14 17:01:29 2007 -0800 CRISv10 Ethernet declare mac fix Declare mac using DECLARE_MAC_BUF for use when calling print_mac(). This fixes compile error where mac was undeclared. Also, remove unused variable i. Signed-off-by: Jesper Nilsson Cc: Mikael Starvik Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ebd33e11c3bef555573510d8677d626ebaa1eccd Author: Jesper Nilsson Date: Wed Nov 14 17:01:28 2007 -0800 CRIS tlb.h should include linux/pagemap.h Include linux/pagemap.h for release_pages and page_cache_release. Fixes compilation error in arch/cris/mm/init.c when CONFIG_SWAP is unset. Signed-off-by: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57c230a873b9d82ae88d6b6736127b5485024699 Author: Jesper Nilsson Date: Wed Nov 14 17:01:27 2007 -0800 CRISv32: add cache flush operations These are needed due to a cache bug, and can be used to make sure that the DMA descriptors are flushed to memory and can be safely handled by DMA. flush_dma_descr - Flush one DMA descriptor. flush_dma_list - Flush a complete list of DMA descriptors. cris_flush_cache - Flush the complete cache. cris_flush_cache_range - Flush only the specified range Signed-off-by: Jesper Nilsson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8e5219f9f5ca7518eb820db9f3d287a1d46fcf5 Author: Jesper Nilsson Date: Wed Nov 14 17:01:23 2007 -0800 CRISv10 improve and bugfix fasttimer Improve and bugfix CRIS v10 fast timers. - irq_handler_t now only takes two arguments. - Keep interrupts disabled as long as we have a reference to the fasttimer list and only enable them while doing the callback. del_fast_timer may be called from other interrupt context. - Fix bug where debug code could return without calling local_irq_restore. - Use jiffies instead of usec (change from struct timeval to fasttime_t). - Don't initialize static variables to zero. - Remove obsolete #ifndef DECLARE_WAITQUEUE code. - fast_timer_init should be __initcall. - Change status/debug variables to unsigned. - Remove CVS log and CVS id. Signed-off-by: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3244c77bd3460e9701ffeecc2452d7f2ee17106c Author: Jesper Nilsson Date: Wed Nov 14 17:01:21 2007 -0800 CRISv10: fix timer interrupt parameters Fix timer interrupt parameters for CRIS v10. - irq_handler_t only takes two arguments, use get_irq_regs to get regs for profiling. - Call update_process_times. - Remove CVS tag. Signed-off-by: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b8be1d82dd3b1ef32b15923123afa03bfeeb116 Author: Jesper Nilsson Date: Wed Nov 14 17:01:20 2007 -0800 CRIS: remove MTD_AMSTD and MTD_OBSOLETE_CHIPS take two Remove MTD_AMDSTD and MTD_OBSOLETE_CHIPS from defconfig, Kconfig and code, instead we'll use MTD_CFI or MTD_JEDECPROBE. [akpm@linux-foundation.org: codingl-style cleanups] Signed-off-by: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77accbf505a073beecf32e60265697517e203bea Author: Jesper Nilsson Date: Wed Nov 14 17:01:15 2007 -0800 CRISv10 serial driver rewrite New and improved serial driver for CRISv10, take three, with improvements suggested by Jiri Slaby. - Call wait_event_interruptible with a _correct_ and sensible condition. - Removed superfluous test of info->flags & ASYNC_CLOSING, since that is done by wait_event_interruptible. - Moved common code for deregistering DMA and IRQ to deinit_port function. - Use setup_timer when initializing flush_timer. - Convert bit-field for uses_dma_in and uses_dma_out to regular bytes. - Removed CVS tags. - Removed defines and comments for CRIS_BUF_SIZE and TTY_THRESHOLD_THROTTLE (no longer used). - Cleaned up code to pass checkpatch. - Add crisv10.h header file. - Merge of CRISv10 from Axis internal CVS. Signed-off-by: Jesper Nilsson Reviewed-by: Jiri Slaby Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b7e888933b0d71f9534830ae1edc1e23f0fb075 Author: Jesper Nilsson Date: Wed Nov 14 17:01:13 2007 -0800 CRIS don't include bitops.h in posix_types.h In file included from include/asm/byteorder.h:23, from include/asm-generic/bitops/le.h:5, from include/asm-generic/bitops/ext2-non-atomic.h:4, from include/asm/bitops.h:163, from include/linux/bitops.h:17, from include/asm/posix_types.h:55, from include/linux/posix_types.h:47, from include/linux/types.h:11, from include/linux/capability.h:16, from include/linux/sched.h:49, from arch/cris/kernel/asm-offsets.c:1: include/linux/byteorder/little_endian.h:43: parse error before "__cpu_to_le64p" include/linux/byteorder/little_endian.h:44: warning: return type defaults to `int' include/linux/byteorder/little_endian.h: In function `__cpu_to_le64p': include/linux/byteorder/little_endian.h:45: `__le64' undeclared (first use in this function) Remove include of asm/bitops.h, not needed here, corrects compilation error (__le64 undeclared). Signed-off-by: Jesper Nilsson Acked-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16ad1b49104684da3ab0fede79f29b01f4c76896 Author: Alex Unleashed Date: Wed Nov 14 17:01:06 2007 -0800 cris: ARRAY_SIZE() cleanup I'm converting most array size calculations under arch/ to use ARRAY_SIZE(). This is the patch for CRIS. Signed-off-by: Alejandro Martinez Ruiz Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f150f35232daaedd86e46d2581e3b7eb40e2c360 Author: Jesper Nilsson Date: Wed Nov 14 17:01:04 2007 -0800 cris build fixes: defconfig updates Remove some unused config lines, and add some others that needs to be off for a succesful compile. This is the minimal set of changes for 2.6.23. Signed-off-by: Jesper Nilsson Acked-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5af26b1862a49770e6cf7a297ddd9fd8421b01fe Author: Jesper Nilsson Date: Wed Nov 14 17:01:02 2007 -0800 cris build fixes: fix crisksyms.c - Add __negdi2 to exported symbols. - Remove string functions from exported symbols. Signed-off-by: Jesper Nilsson Acked-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8e2a8b22712593980b524dc45baa06a36286fc0 Author: Jesper Nilsson Date: Wed Nov 14 17:01:01 2007 -0800 cris build fixes: setup.c needs param.h Include linux/param.h for HZ. Signed-off-by: Jesper Nilsson Acked-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0188e6032119cbeda8c63dbd40f733ae976eb365 Author: Jesper Nilsson Date: Wed Nov 14 17:01:00 2007 -0800 cris build fixes: fixes in arch/cris/kernel/time.c - Remove debug print. - Change #if to #ifdef to avoid compile time warning if CONFIG_PROFILING isn't set. - Number of parameters to profile_tick has changed, drop the regs parameter. Signed-off-by: Jesper Nilsson Acked-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b275523aba522aa76891861ee32ba2456e5f146 Author: Jesper Nilsson Date: Wed Nov 14 17:00:59 2007 -0800 cris build fixes: corrected and improved NMI and IRQ handling Corrects compile errors and the following: - Remove oldset parameter from do_signal and do_notify_resume. - Modified to fit new consolidated IRQ handling code. - Reverse check order between external nmi and watchdog nmi to avoid false watchdog oops in case of a glitch on the nmi pin. - Return from an pin-generated NMI the same way as for other interrupts. - Moved blocking of ethernet rx/tx irq from ethernet interrupt handler to low-level asm interrupt handlers. Fixed in the multiple interrupt handler also. - Add space for thread local storage in thread_info struct. - Add NO_DMA to Kconfig, and include arch specific Kconfig using arch independent path. Include subsystem Kconfigs for pcmcia, usb, i2c, rtc and pci. Signed-off-by: Jesper Nilsson Acked-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 633edf5a4fff0675851e377cc5f0c9072683a5f4 Author: Andrew Morton Date: Wed Nov 14 17:00:58 2007 -0800 cris-build-fixes-update-eth_v10c-ethernet-driver-fix Fix locking bug noted by Roel Kluin <12o3l@tiscali.nl>. Cc: Jeff Garzik Cc: Jesper Nilsson Cc: Mikael Starvik Cc: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bafef0ae9d3651540c442aebf242f7b68e183bff Author: Jesper Nilsson Date: Wed Nov 14 17:00:55 2007 -0800 cris build fixes: update eth_v10.c ethernet driver New (updated) version of ethernet driver for cris v10. - First steps to simplify and make the MII code more similar between the etrax100 and etraxfs ports. - Start the transmit queue before enabling tx interrupts to avoid race with the first frame. - Flip the comparition statement to stick to physical addresses to avoid phys_to_virt mapping a potential null pointer. This was not an error but the change simplifies debugging of address-space mappings. - Made myPrevRxDesc local to e100_rx since it was only used there. Fixed out of memory handling in e100_rx. If dev_alloc_skb() fails persistently the system is hosed anyway but at least it won't loop in an interrupt handler. - Correct some code formatting issues. - Add defines SET_ETH_ENABLE_LEDS, SET_ETH_DISABLE_LEDS and SET_ETH_AUTONEG used in new cris v10 ethernet driver. Signed-off-by: Jesper Nilsson Acked-by: Mikael Starvik Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eda35b64a7739691839ea997c836163ea12f123b Author: Jesper Nilsson Date: Wed Nov 14 17:00:54 2007 -0800 cris build fixes: add baud rate defines Add missing defines for (unsupported) baud rates. Signed-off-by: Jesper Nilsson Acked-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5978e791fed57d9d66fd80e2b908b803fa6a831d Author: Jesper Nilsson Date: Wed Nov 14 17:00:53 2007 -0800 cris build fixes: sys_cris.c needs fs.h Include linux/fs.h, needed for do_pipe. Signed-off-by: Jesper Nilsson Acked-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb2746ddc376c9c72905fbdd3f8d1e68a81957aa Author: Jesper Nilsson Date: Wed Nov 14 17:00:52 2007 -0800 cris build fixes: irq fixes - New file include/asm-cris/irq_regs.h. - Change handling of registers for do_IRQ. - Add GENERIC_HARDIRQS to Kconfig. Signed-off-by: Jesper Nilsson Acked-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9587997a4a9f74901981e0a751a7ae0e46a72b94 Author: Andrew Morton Date: Wed Nov 14 17:00:51 2007 -0800 cris-build-fixes-atomich-needs-compilerh-fix Cc: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df2b84a1f59567627891f5919efcedc7abd32d7a Author: Jesper Nilsson Date: Wed Nov 14 17:00:50 2007 -0800 cris build fixes: atomic.h needs compiler.h Include file linux/compiler.h is needed for 'likely'. Signed-off-by: Jesper Nilsson Acked-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80bf7a5be08cc39c1edb490925a85a5f60e51a21 Author: Jesper Nilsson Date: Wed Nov 14 17:00:49 2007 -0800 cris build fixes: hardirq.h: include asm/irq.h Include asm/irq.h to avoid undefined value warning. Signed-off-by: Jesper Nilsson Acked-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c3537ffcad08eabd49d43762fcb9f6da8517d9b Author: Jesper Nilsson Date: Wed Nov 14 17:00:48 2007 -0800 cris build fixes: Add missing syscalls Add missing syscalls to cris architecture. Signed-off-by: Jesper Nilsson Acked-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b956947106c788a3f2ce0375af930b4cbf7454d5 Author: Jesper Nilsson Date: Wed Nov 14 17:00:47 2007 -0800 cris build fixes: fix csum_tcpudp_magic() declaration Remove int from prototype, no longer needed and causes compile error. Signed-off-by: Jesper Nilsson Acked-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d297a5d576d549d97dce456ba4bd01e5a47e899c Author: Andrew Morton Date: Wed Nov 14 17:00:45 2007 -0800 aic94xx_sds: rename FLASH_SIZE arm: drivers/scsi/aic94xx/aic94xx_sds.c:381:1: warning: "FLASH_SIZE" redefined In file included from include/asm/arch/irqs.h:22, from include/asm/irq.h:4, from include/asm/hardirq.h:6, from include/linux/hardirq.h:7, from include/asm-generic/local.h:5, from include/asm/local.h:1, from include/linux/module.h:19, from include/linux/device.h:21, from include/linux/pci.h:52, from drivers/scsi/aic94xx/aic94xx_sds.c:28: include/asm/arch/platform.h:444:1: warning: this is the location of the previous definition Cc: Gilbert Wu Cc: James Bottomley Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bae19fe033b0c5ed99b1ed27a4cce84625a24606 Author: Andreas Herrmann Date: Wed Nov 14 17:00:44 2007 -0800 x86: don't call mce_create_device on CPU_UP_PREPARE Fix regression introduced with d435d862baca3e25e5eec236762a43251b1e7ffc ("cpu hotplug: mce: fix cpu hotplug error handling"). A CPU which was not brought up during boot (using maxcpus and additional_cpus parameters) couldn't be onlined anymore. For such a CPU it seemed that MCE was not supported during CPU_UP_PREPARE-time which caused mce_cpu_callback to return NOTIFY_BAD to notifier_call_chain. To fix this we: - call mce_create_device for CPU_ONLINE event (instead of CPU_UP_PREPARE), - avoid mce_remove_device() for the CPU that is not correctly initialized by mce_create_device() failure, - make mce_cpu_callback always return NOTIFY_OK for CPU_ONLINE event. Because CPU_ONLINE callback return value is always ignored. [akinobu.mita@gmail.com: avoid mce_remove_device() for not initialized device] [akinobu.mita@gmail.com: make mce_cpu_callback always return NOTIFY_OK] Signed-off-by: Akinobu Mita Signed-off-by: Andreas Herrmann Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77f2878b4f78c0b29c4a2580665a446c77901152 Author: Jan Blunck Date: Wed Nov 14 17:00:42 2007 -0800 oprofile: fix oops on x86 32-bit x86 32-bit isn't saving the stack pointer to pt_regs->esp when an interrupt occurs. Signed-off-by: Jan Blunck Tested-by: Robert Fitzsimons Cc: Andi Kleen Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Philippe Elie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35d5d08a085c56f153458c3f5d8ce24123617faf Author: Andrew Morton Date: Wed Nov 14 17:00:41 2007 -0800 x86: disable preemption in delay_tsc() Marin Mitov points out that delay_tsc() can misbehave if it is preempted and rescheduled on a different CPU which has a skewed TSC. Fix it by disabling preemption. (I assume that the worst-case behaviour here is a stall of 2^32 cycles) Cc: Andi Kleen Cc: Marin Mitov Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7eea436433b7b18045f272562e256976f593f7c0 Author: Borislav Petkov Date: Wed Nov 14 17:00:39 2007 -0800 keyspan: init termios properly Remove redundant code leading to NULL ptr deref and let terminal config settings take place in the proper initialization path in usb_console_setup(). Signed-off-by: Borislav Petkov Cc: Cc: Greg KH Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5bfeca3138a6031e38c566d57128ff592eb009a8 Author: Alexey Starikovskiy Date: Wed Nov 14 17:00:39 2007 -0800 ACPI: AC: Update AC state on resume Check if AC state has changed across resume and notify userspace if so. Fixes "[2.6.24-rc1 regression] AC adapter state does not change after resume" Signed-off-by: Alexey Starikovskiy Tested-by: Andrey Borzenkov Cc: Len Brown Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a246ee43f4b1df3fa5cbf9c4a3d3dcad0b1e08c Author: Andrey Borzenkov Date: Wed Nov 14 17:00:37 2007 -0800 make /proc/acpi/ac_adapter dependent on ACPI_PROCFS Do not provide /proc/acpi/ac_adapter if ACPI_PROCFS is not defined. This eliminates duplicated power adapters in HAL and makes it consistent with battery module Signed-off-by: Andrey Borzenkov Acked-by: Alexey Starikovskiy Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f96159840bc5f605aca5113ab2d24308d3dc2eff Author: Adrian Bunk Date: Wed Nov 14 17:00:37 2007 -0800 kernel/taskstats.c: fix bogus nlmsg_free() We'd better not nlmsg_free on a pointer containing an undefined value (and without having anything allocated). Spotted by the Coverity checker. Signed-off-by: Adrian Bunk Acked-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ae44c57748ad37dcd1d998525f6929d2fe39d02 Author: Adrian Bunk Date: Wed Nov 14 17:00:36 2007 -0800 feature-removal-schedule: remove SA_* flags entry No reason to keep the feature-removal-schedule.txt entry after the code was removed. Signed-off-by: Adrian Bunk Acked-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91ad997a34d7abca1f04e819e31eb9f3d4e20585 Author: Serge E. Hallyn Date: Wed Nov 14 17:00:34 2007 -0800 file capabilities: allow sigcont within session Fix http://bugzilla.kernel.org/show_bug.cgi?id=9247 Allow sigcont to be sent to a process with greater capabilities if it is in the same session. Otherwise, a shell from which I've started a root shell and done 'suspend' can't be restarted by the parent shell. Also don't do file-capabilities signaling checks when uids for the processes don't match, since the standard check_kill_permission will have done those checks. [akpm@linux-foundation.org: coding-style cleanups] Signed-off-by: Serge E. Hallyn Acked-by: Andrew Morgan Cc: Chris Wright Tested-by: "Theodore Ts'o" Cc: Stephen Smalley Cc: "Rafael J. Wysocki" Cc: Chris Wright Cc: James Morris Cc: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20a1022d4ac5c53f0956006fd9e30cf4846d5e58 Author: Balbir Singh Date: Wed Nov 14 17:00:33 2007 -0800 Swap delay accounting, include lock_page() delays The delay incurred in lock_page() should also be accounted in swap delay accounting Reported-by: Nick Piggin Signed-off-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c8d6381dc107dbc2bfdbfdcaefe0d42e5b5b362 Author: Jeff Dike Date: Wed Nov 14 17:00:31 2007 -0800 uml: fix build for !CONFIG_PRINTK Handle the case of CONFIG_PRINTK being disabled. This requires a do-nothing stub to be present in arch/um/include/user.h so that we don't get references to printk from libc code. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32f862c310cbd0b430a14911c8b7e2cd415c56ea Author: Jeff Dike Date: Wed Nov 14 17:00:28 2007 -0800 uml: fix build for !CONFIG_TCP Make UML build in the absence of CONFIG_INET by making the inetaddr_notifier registration depend on it. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee1eca5d2493026affbbc91b228dd00879484687 Author: Jeff Dike Date: Wed Nov 14 17:00:27 2007 -0800 uml: remove last include of libc asm/page.h asm/page.h is disappearing from the libc headers and we don't need it anyway. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ac625a3986034d79938baf9604210280fae35fa Author: Jeff Dike Date: Wed Nov 14 17:00:23 2007 -0800 uml: fix spurious IRQ testing The spurious IRQ testing in request_irq is mishandled in um_request_irq, which sets the incoming file descriptors non-blocking only after request_irq succeeds. This results in the spurious irq calling read on a blocking descriptor, and a hang. Fixed by reversing the O_NONBLOCK setting and the request_irq call. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c06a8dc64a2d1884bd19b4c6353d9267ae4e3e1 Author: Jan Kara Date: Wed Nov 14 17:00:19 2007 -0800 Fix 64KB blocksize in ext3 directories With 64KB blocksize, a directory entry can have size 64KB which does not fit into 16 bits we have for entry lenght. So we store 0xffff instead and convert value when read from / written to disk. The patch also converts some places to use ext3_next_entry() when we are changing them anyway. [akpm@linux-foundation.org: coding-style cleanups] Signed-off-by: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dbaf4c024a657175f43b5091c4fab8b9f0e17078 Author: Jeff Layton Date: Wed Nov 14 17:00:18 2007 -0800 smbfs: fix debug builds Fix some warnings with SMBFS_DEBUG_* builds. This patch makes it so that builds with -Werror don't fail. Signed-off-by: Jeff Layton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60a0d23386eab0559ad32ae50b200cc58545f327 Author: Johannes Berg Date: Wed Nov 14 17:00:16 2007 -0800 hibernate: fix lockdep report Lockdep reports a circular locking dependency in the hibernate code because - during system boot hibernate code (from an initcall) locks pm_mutex and then a sysfs buffer mutex via name_to_dev_t - during regular operation hibernate code locks pm_mutex under a sysfs buffer mutex because it's called from sysfs methods. The deadlock can never happen because during initcall invocation nothing can write to sysfs yet. This removes the lockdep report by marking the initcall locking as being in a different class. Signed-off-by: Johannes Berg Cc: "Rafael J. Wysocki" Cc: Alan Stern Acked-by: Peter Zijlstra Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c642b8391cf8efc3622cc97329a0f46e7cbb70b8 Author: Russ Anderson Date: Wed Nov 14 17:00:15 2007 -0800 __do_IRQ does not check IRQ_DISABLED when IRQ_PER_CPU is set In __do_IRQ(), the normal case is that IRQ_DISABLED is checked and if set the handler (handle_IRQ_event()) is not called. Earlier in __do_IRQ(), if IRQ_PER_CPU is set the code does not check IRQ_DISABLED and calls the handler even though IRQ_DISABLED is set. This behavior seems unintentional. One user encountering this behavior is the CPE handler (in arch/ia64/kernel/mca.c). When the CPE handler encounters too many CPEs (such as a solid single bit error), it sets up a polling timer and disables the CPE interrupt (to avoid excessive overhead logging the stream of single bit errors). disable_irq_nosync() is called which sets IRQ_DISABLED. The IRQ_PER_CPU flag was previously set (in ia64_mca_late_init()). The net result is the CPE handler gets called even though it is marked disabled. If the behavior of not checking IRQ_DISABLED when IRQ_PER_CPU is set is intentional, it would be worthy of a comment describing the intended behavior. disable_irq_nosync() does call chip->disable() to provide a chipset specifiec interface for disabling the interrupt, which avoids this issue when used. Signed-off-by: Russ Anderson Cc: "Luck, Tony" Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57d5f66b86079efac5c9a7843cce2a9bcbe58fb8 Author: Eric W. Biederman Date: Wed Nov 14 17:00:13 2007 -0800 pidns: Place under CONFIG_EXPERIMENTAL This is my trivial patch to swat innumerable little bugs with a single blow. After some intensive review (my apologies for not having gotten to this sooner) what we have looks like a good base to build on with the current pid namespace code but it is not complete, and it is still much to simple to find issues where the kernel does the wrong thing outside of the initial pid namespace. Until the dust settles and we are certain we have the ABI and the implementation is as correct as humanly possible let's keep process ID namespaces behind CONFIG_EXPERIMENTAL. Allowing us the option of fixing any ABI or other bugs we find as long as they are minor. Allowing users of the kernel to avoid those bugs simply by ensuring their kernel does not have support for multiple pid namespaces. [akpm@linux-foundation.org: coding-style cleanups] Signed-off-by: Eric W. Biederman Cc: Cedric Le Goater Cc: Adrian Bunk Cc: Jeremy Fitzhardinge Cc: Kir Kolyshkin Cc: Kirill Korotaev Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42614fcde7bfdcbe43a7b17035c167dfebc354dd Author: Randy Dunlap Date: Wed Nov 14 17:00:12 2007 -0800 vmstat: fix section mismatch warning Mark start_cpu_timer() as __cpuinit instead of __devinit. Fixes this section warning: WARNING: vmlinux.o(.text+0x60e53): Section mismatch: reference to .init.text:start_cpu_timer (between 'vmstat_cpuup_callback' and 'vmstat_show') Signed-off-by: Randy Dunlap Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 579d6d93ca531fba3e29ddf39fefe5184012068b Author: Randy Dunlap Date: Wed Nov 14 17:00:11 2007 -0800 gbefb: fix section mismatch warnings Make 'default_mode' and 'default_var' be __initdata. Fixes these section warnings: WARNING: vmlinux.o(.data+0x128e0): Section mismatch: reference to .init.data:default_mode_CRT (between 'default_mode' and 'default_var') WARNING: vmlinux.o(.data+0x128e4): Section mismatch: reference to .init.data:default_var_CRT (between 'default_var' and 'dev_attr_size') Signed-off-by: Randy Dunlap Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb51f973bce7aef46452b0c6faea8f791885f5b8 Author: Arjan van de Ven Date: Wed Nov 14 17:00:10 2007 -0800 mark sys_open/sys_read exports unused sys_open / sys_read were used in the early 1.2 days to load firmware from disk inside drivers. Since 2.0 or so this was deprecated behavior, but several drivers still were using this. Since a few years we have a request_firmware() API that implements this in a nice, consistent way. Only some old ISA sound drivers (pre-ALSA) still straggled along for some time.... however with commit c2b1239a9f22f19c53543b460b24507d0e21ea0c the last user is now gone. This is a good thing, since using sys_open / sys_read etc for firmware is a very buggy to dangerous thing to do; these operations put an fd in the process file descriptor table.... which then can be tampered with from other threads for example. For those who don't want the firmware loader, filp_open()/vfs_read are the better APIs to use, without this security issue. The patch below marks sys_open and sys_read unused now that they're really not used anymore, and for deletion in the 2.6.25 timeframe. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22800a2830ec07e7cc5c837999890ac47cc7f5de Author: Jan Kiszka Date: Wed Nov 14 17:00:08 2007 -0800 fix param_sysfs_builtin name length check Commit faf8c714f4508207a9c81cc94dafc76ed6680b44 caused a regression: parameter names longer than MAX_KBUILD_MODNAME will now be rejected, although we just need to keep the module name part that short. This patch restores the old behaviour while still avoiding that memchr is called with its length parameter larger than the total string length. Signed-off-by: Jan Kiszka Cc: Dave Young Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9fcc2d15b14894aa53e5e8b7fd5d6e3ca558e5df Author: Eric W. Biederman Date: Wed Nov 14 17:00:07 2007 -0800 proc: simplify and correct proc_flush_task Currently we special case when we have only the initial pid namespace. Unfortunately in doing so the copied case for the other namespaces was broken so we don't properly flush the thread directories :( So this patch removes the unnecessary special case (removing a usage of proc_mnt) and corrects the flushing of the thread directories. Signed-off-by: Eric W. Biederman Cc: Al Viro Cc: Pavel Emelyanov Cc: Sukadev Bhattiprolu Cc: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0f2a9d75aed1a4be40c3975b94fd39066bd11bb Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Nov 14 17:00:06 2007 -0800 mips: undo locking on error path returns [akpm@linux-foundation.org: coding-style cleanups] Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c6ff79d0908df0d281c05b5b693eaba55b06e0f Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Nov 14 17:00:06 2007 -0800 cris gpio: undo locks before returning Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d0360ee96a5ef953dbea45873c2a8c87e77d59b Author: Christian Borntraeger Date: Wed Nov 14 17:00:05 2007 -0800 rd: fix data corruption on memory pressure We have seen ramdisk based install systems, where some pages of mapped libraries and programs were suddendly zeroed under memory pressure. This should not happen, as the ramdisk avoids freeing its pages by keeping them dirty all the time. It turns out that there is a case, where the VM makes a ramdisk page clean, without telling the ramdisk driver. On memory pressure shrink_zone runs and it starts to run shrink_active_list. There is a check for buffer_heads_over_limit, and if true, pagevec_strip is called. pagevec_strip calls try_to_release_page. If the mapping has no releasepage callback, try_to_free_buffers is called. try_to_free_buffers has now a special logic for some file systems to make a dirty page clean, if all buffers are clean. Thats what happened in our test case. The simplest solution is to provide a noop-releasepage callback for the ramdisk driver. This avoids try_to_free_buffers for ramdisk pages. Signed-off-by: Christian Borntraeger Acked-by: Nick Piggin Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 822bd5aa2b8e8fa1d328f03bf5b9c75701481bf0 Author: David Brownell Date: Wed Nov 14 17:00:04 2007 -0800 tle62x0 driver stops ignoring read errors The tle62x0 driver was ignoring all read errors. This patch makes it pass such errors up the stack, instead of returning bogus data. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8744969a819de4ee5158f4cdb30104601cc015d4 Author: Adrian Bunk Date: Wed Nov 14 17:00:02 2007 -0800 fuse_file_alloc(): fix NULL dereferences Fix obvious NULL dereferences spotted by the Coverity checker. Signed-off-by: Adrian Bunk Acked-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be21f0ab0d8f10c90265066603a8d95b6037a6fa Author: Adrian Bunk Date: Wed Nov 14 17:00:01 2007 -0800 fix mm/util.c:krealloc() Commit ef8b4520bd9f8294ffce9abd6158085bde5dc902 added one NULL check for "p" in krealloc(), but that doesn't seem to be enough since there doesn't seem to be any guarantee that memcpy(ret, NULL, 0) works (spotted by the Coverity checker). For making it clearer what happens this patch also removes the pointless min(). Signed-off-by: Adrian Bunk Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5cd97872dca9b79c31224ca014bcea7ca01f5f1 Author: Adrian Bunk Date: Wed Nov 14 17:00:00 2007 -0800 sunrpc/xprtrdma/transport.c: fix use-after-free Fix an obvious use-after-free spotted by the Coverity checker. Signed-off-by: Adrian Bunk Cc: Trond Myklebust Cc: "J. Bruce Fields" Cc: Neil Brown Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e02f5f52cafbea013817d81f1acc4baf50d6324b Author: Bjorn Helgaas Date: Wed Nov 14 16:59:59 2007 -0800 serial: only use PNP IRQ if it's valid "Luming Yu" says: There is a "ttyS1 irq is -1" problem observed on tiger4 which cause the serial port broken. It is because that there is __no__ ACPI IRQ resource assigned for the serial port. So the value of the IRQ for the port is never changed since it got initialized to -1. If PNP supplies a valid IRQ, use it. Otherwise, leave port.irq == 0, which means "no IRQ" to the serial core. Signed-off-by: Bjorn Helgaas Cc: Yu Luming Acked-by: Matthew Wilcox Cc: Alan Cox Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57510c2f934a05c53232814761a058399b2ca282 Author: Darrick J. Wong Date: Wed Nov 14 16:59:58 2007 -0800 i5000_edac: no need to __stringify() KBUILD_BASENAME The i5000_edac driver's PCI registration structure has the name ""i5000_edac"" (with extra set of double-quotes) which is probably not intentional. Get rid of __stringify. Signed-off-by: Darrick J. Wong Cc: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9626f1f117be21b6e4b7a1cb49814fc065dd3d2d Author: Bjorn Helgaas Date: Wed Nov 14 16:59:57 2007 -0800 rtc: fall back to requesting only the ports we actually use Firmware like PNPBIOS or ACPI can report the address space consumed by the RTC. The actual space consumed may be less than the size (RTC_IO_EXTENT) assumed by the RTC driver. The PNP core doesn't request resources yet, but I'd like to make it do so. If/when it does, the RTC_IO_EXTENT request may fail, which prevents the RTC driver from loading. Since we only use the RTC index and data registers at RTC_PORT(0) and RTC_PORT(1), we can fall back to requesting just enough space for those. If the PNP core requests resources, this results in typical I/O port usage like this: 0070-0073 : 00:06 <-- PNP device 00:06 responds to 70-73 0070-0071 : rtc <-- RTC driver uses only 70-71 instead of the current: 0070-0077 : rtc <-- RTC_IO_EXTENT == 8 Signed-off-by: Bjorn Helgaas Cc: Alessandro Zummo Cc: David Brownell Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c06be10c790008aa2b2d19df2872ff39990b7bd Author: Bjorn Helgaas Date: Wed Nov 14 16:59:56 2007 -0800 rtc: release correct region in error path The misc_register() error path always released an I/O port region, even if the region was memory-mapped (only mips uses memory-mapped RTC, as far as I can see). Signed-off-by: Bjorn Helgaas Cc: Alessandro Zummo Cc: David Brownell Acked-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c06a018fa5362fa9ed0768bd747c0fab26bc8849 Author: Fengguang Wu Date: Wed Nov 14 16:59:54 2007 -0800 reiserfs: don't drop PG_dirty when releasing sub-page-sized dirty file This is not a new problem in 2.6.23-git17. 2.6.22/2.6.23 is buggy in the same way. Reiserfs could accumulate dirty sub-page-size files until umount time. They cannot be synced to disk by pdflush routines or explicit `sync' commands. Only `umount' can do the trick. The direct cause is: the dirty page's PG_dirty is wrongly _cleared_. Call trace: [] cancel_dirty_page+0xd0/0xf0 [] :reiserfs:reiserfs_cut_from_item+0x660/0x710 [] :reiserfs:reiserfs_do_truncate+0x271/0x530 [] :reiserfs:reiserfs_truncate_file+0xfd/0x3b0 [] :reiserfs:reiserfs_file_release+0x1e0/0x340 [] __fput+0xcc/0x1b0 [] fput+0x16/0x20 [] filp_close+0x56/0x90 [] sys_close+0xad/0x110 [] system_call+0x7e/0x83 Fix the bug by removing the cancel_dirty_page() call. Tests show that it causes no bad behaviors on various write sizes. === for the patient === Here are more detailed demonstrations of the problem. 1) the page has both PG_dirty(D)/PAGECACHE_TAG_DIRTY(d) after being written to; and then only PAGECACHE_TAG_DIRTY(d) remains after the file is closed. ------------------------------ screen 0 ------------------------------ [T0] root /home/wfg# cat > /test/tiny [T1] hi [T2] root /home/wfg# ------------------------------ screen 1 ------------------------------ [T1] root /home/wfg# echo /test/tiny > /proc/filecache [T1] root /home/wfg# cat /proc/filecache # file /test/tiny # flags R:referenced A:active M:mmap U:uptodate D:dirty W:writeback O:owner B:buffer d:dirty w:writeback # idx len state refcnt 0 1 ___UD__Bd_ 2 [T2] root /home/wfg# cat /proc/filecache # file /test/tiny # flags R:referenced A:active M:mmap U:uptodate D:dirty W:writeback O:owner B:buffer d:dirty w:writeback # idx len state refcnt 0 1 ___U___Bd_ 2 2) note the non-zero 'cancelled_write_bytes' after /tmp/hi is copied. ------------------------------ screen 0 ------------------------------ [T0] root /home/wfg# echo hi > /tmp/hi [T1] root /home/wfg# cp /tmp/hi /dev/stdin /test [T2] hi [T3] root /home/wfg# ------------------------------ screen 1 ------------------------------ [T1] root /proc/4397# cd /proc/`pidof cp` [T1] root /proc/4713# cat io rchar: 8396 wchar: 3 syscr: 20 syscw: 1 read_bytes: 0 write_bytes: 20480 cancelled_write_bytes: 4096 [T2] root /proc/4713# cat io rchar: 8399 wchar: 6 syscr: 21 syscw: 2 read_bytes: 0 write_bytes: 24576 cancelled_write_bytes: 4096 //Question: the 'write_bytes' is a bit more than expected ;-) Tested-by: Maxim Levitsky Cc: Peter Zijlstra Cc: Jeff Mahoney Signed-off-by: Fengguang Wu Reviewed-by: Chris Mason Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bb67c14fd3778504fb77da30ce11582336dfced Author: Shannon Nelson Date: Wed Nov 14 16:59:51 2007 -0800 I/OAT: Add support for version 2 of ioatdma device Add support for version 2 of the ioatdma device. This device handles the descriptor chain and DCA services slightly differently: - Instead of moving the dma descriptors between a busy and an idle chain, this new version uses a single circular chain so that we don't have rewrite the next_descriptor pointers as we add new requests, and the device doesn't need to re-read the last descriptor. - The new device has the DCA tags defined internally instead of needing them defined statically. Signed-off-by: Shannon Nelson Cc: "Williams, Dan J" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc9f2f8f68efcc73d8793a4df2c4c50196e90080 Author: Mathieu Desnoyers Date: Wed Nov 14 16:59:50 2007 -0800 Linux Kernel Markers: fix samples to follow format string standard Add the field names to marker example format string. Signed-off-by: Mathieu Desnoyers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f9468cebfdb7b809139e7682d388f9c31297936 Author: Mathieu Desnoyers Date: Wed Nov 14 16:59:49 2007 -0800 Linux Kernel Markers: document format string Describes the format string standard further: Use of field names before the type specifiers.. Signed-off-by: Mathieu Desnoyers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 314de8a9e17f70243eacc80d2dd22a5d74b09fce Author: Mathieu Desnoyers Date: Wed Nov 14 16:59:48 2007 -0800 Linux Kernel Markers: fix marker mutex not taken upon module load Upon module load, we must take the markers mutex. It implies that the marker mutex must be nested inside the module mutex. It implies changing the nesting order : now the marker mutex nests inside the module mutex. Make the necessary changes to reverse the order in which the mutexes are taken. Includes some cleanup from Dave Hansen . Signed-off-by: Mathieu Desnoyers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f433dc56344cb72cc3de5ba0819021cec3aef807 Author: Dmitri Vorobiev Date: Wed Nov 14 16:59:47 2007 -0800 Fixes to the BFS filesystem driver I found a few bugs in the BFS driver. Detailed description of the bugs as well as the steps to reproduce the errors are given in the kernel bugzilla. Please follow these links for more information: http://bugzilla.kernel.org/show_bug.cgi?id=9363 http://bugzilla.kernel.org/show_bug.cgi?id=9364 http://bugzilla.kernel.org/show_bug.cgi?id=9365 http://bugzilla.kernel.org/show_bug.cgi?id=9366 This patch fixes the bugs described above. Besides, the patch introduces coding style changes to make the BFS driver conform to the requirements specified for Linux kernel code. Finally, I made a few cosmetic changes such as removal of trivial debug output. Also, the patch removes the fields `si_lf_ioff' and `si_lf_sblk' of the in-core superblock structure. These fields are initialized but never actually used. If you are wondering why I need BFS, here is the answer: I am using this driver in the context of Linux kernel classes I am teaching in the Moscow State University and in the International Institute of Information Technology in Pune, India. Signed-off-by: Dmitri Vorobiev Cc: Tigran Aivazian Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfb5285660aad4931b2ebbfa902ea48a37dfffa1 Author: Andrew Morton Date: Wed Nov 14 16:59:45 2007 -0800 revert "Task Control Groups: example CPU accounting subsystem" Revert 62d0df64065e7c135d0002f069444fbdfc64768f. This was originally intended as a simple initial example of how to create a control groups subsystem; it wasn't intended for mainline, but I didn't make this clear enough to Andrew. The CFS cgroup subsystem now has better functionality for the per-cgroup usage accounting (based directly on CFS stats) than the "usage" status file in this patch, and the "load" status file is rather simplistic - although having a per-cgroup load average report would be a useful feature, I don't believe this patch actually provides it. If it gets into the final 2.6.24 we'd probably have to support this interface for ever. Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45c682a68a87251d9a01383ce076ab21ee09812e Author: Ken Chen Date: Wed Nov 14 16:59:44 2007 -0800 hugetlb: fix i_blocks accounting For administrative purpose, we want to query actual block usage for hugetlbfs file via fstat. Currently, hugetlbfs always return 0. Fix that up since kernel already has all the information to track it properly. Signed-off-by: Ken Chen Acked-by: Adam Litke Cc: Badari Pulavarty Cc: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cde045c7ee97573be6ce495b8f7c918182a2c7a Author: Adrian Bunk Date: Wed Nov 14 16:59:43 2007 -0800 mm/hugetlb.c: make a function static return_unused_surplus_pages() can become static. Signed-off-by: Adrian Bunk Acked-by: Adam Litke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90d8b7e6129e8f4e5b3bc1a2cfbe585372ce8646 Author: Adam Litke Date: Wed Nov 14 16:59:42 2007 -0800 hugetlb: enforce quotas during reservation for shared mappings When a MAP_SHARED mmap of a hugetlbfs file succeeds, huge pages are reserved to guarantee no problems will occur later when instantiating pages. If quotas are in force, page instantiation could fail due to a race with another process or an oversized (but approved) shared mapping. To prevent these scenarios, debit the quota for the full reservation amount up front and credit the unused quota when the reservation is released. Signed-off-by: Adam Litke Cc: Ken Chen Cc: Andy Whitcroft Cc: Dave Hansen Cc: David Gibson Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a119c056dc2a9970901954a6d561d50a95e528d Author: Adam Litke Date: Wed Nov 14 16:59:41 2007 -0800 hugetlb: allow bulk updating in hugetlb_*_quota() Add a second parameter 'delta' to hugetlb_get_quota and hugetlb_put_quota to allow bulk updating of the sbinfo->free_blocks counter. This will be used by the next patch in the series. Signed-off-by: Adam Litke Cc: Ken Chen Cc: Andy Whitcroft Cc: Dave Hansen Cc: David Gibson Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2fc39cec6a9b5b41727d3386b780b69422a15152 Author: Adam Litke Date: Wed Nov 14 16:59:39 2007 -0800 hugetlb: debit quota in alloc_huge_page Now that quota is credited by free_huge_page(), calls to hugetlb_get_quota() seem out of place. The alloc/free API is unbalanced because we handle the hugetlb_put_quota() but expect the caller to open-code hugetlb_get_quota(). Move the get inside alloc_huge_page to clean up this disparity. This patch has been kept apart from the previous patch because of the somewhat dodgy ERR_PTR() use herein. Moving the quota logic means that alloc_huge_page() has two failure modes. Quota failure must result in a SIGBUS while a standard allocation failure is OOM. Unfortunately, ERR_PTR() doesn't like the small positive errnos we have in VM_FAULT_* so they must be negated before they are used. Does anyone take issue with the way I am using PTR_ERR. If so, what are your thoughts on how to clean this up (without needing an if,else if,else block at each alloc_huge_page() callsite)? Signed-off-by: Adam Litke Cc: Ken Chen Cc: Andy Whitcroft Cc: Dave Hansen Cc: David Gibson Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c79fb75e5a514a5a35f22c229042aa29f4237e3a Author: Adam Litke Date: Wed Nov 14 16:59:38 2007 -0800 hugetlb: fix quota management for private mappings The hugetlbfs quota management system was never taught to handle MAP_PRIVATE mappings when that support was added. Currently, quota is debited at page instantiation and credited at file truncation. This approach works correctly for shared pages but is incomplete for private pages. In addition to hugetlb_no_page(), private pages can be instantiated by hugetlb_cow(); but this function does not respect quotas. Private huge pages are treated very much like normal, anonymous pages. They are not "backed" by the hugetlbfs file and are not stored in the mapping's radix tree. This means that private pages are invisible to truncate_hugepages() so that function will not credit the quota. This patch (based on a prototype provided by Ken Chen) moves quota crediting for all pages into free_huge_page(). page->private is used to store a pointer to the mapping to which this page belongs. This is used to credit quota on the appropriate hugetlbfs instance. Signed-off-by: Adam Litke Cc: Ken Chen Cc: Ken Chen Cc: Andy Whitcroft Cc: Dave Hansen Cc: David Gibson Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 348ea204cc23cda35faf962414b674c57da647d7 Author: Adam Litke Date: Wed Nov 14 16:59:37 2007 -0800 hugetlb: split alloc_huge_page into private and shared components Hugetlbfs implements a quota system which can limit the amount of memory that can be used by the filesystem. Before allocating a new huge page for a file, the quota is checked and debited. The quota is then credited when truncating the file. I found a few bugs in the code for both MAP_PRIVATE and MAP_SHARED mappings. Before detailing the problems and my proposed solutions, we should agree on a definition of quotas that properly addresses both private and shared pages. Since the purpose of quotas is to limit total memory consumption on a per-filesystem basis, I argue that all pages allocated by the fs (private and shared) should be charged against quota. Private Mappings ================ The current code will debit quota for private pages sometimes, but will never credit it. At a minimum, this causes a leak in the quota accounting which renders the accounting essentially useless as it is. Shared pages have a one to one mapping with a hugetlbfs file and are easy to account by debiting on allocation and crediting on truncate. Private pages are anonymous in nature and have a many to one relationship with their hugetlbfs files (due to copy on write). Because private pages are not indexed by the mapping's radix tree, thier quota cannot be credited at file truncation time. Crediting must be done when the page is unmapped and freed. Shared Pages ============ I discovered an issue concerning the interaction between the MAP_SHARED reservation system and quotas. Since quota is not checked until page instantiation, an over-quota mmap/reservation will initially succeed. When instantiating the first over-quota page, the program will receive SIGBUS. This is inconsistent since the reservation is supposed to be a guarantee. The solution is to debit the full amount of quota at reservation time and credit the unused portion when the reservation is released. This patch series brings quotas back in line by making the following modifications: * Private pages - Debit quota in alloc_huge_page() - Credit quota in free_huge_page() * Shared pages - Debit quota for entire reservation at mmap time - Credit quota for instantiated pages in free_huge_page() - Credit quota for unused reservation at munmap time This patch: The shared page reservation and dynamic pool resizing features have made the allocation of private vs. shared huge pages quite different. By splitting out the private/shared-specific portions of the process into their own functions, readability is greatly improved. alloc_huge_page now calls the proper helper and performs common operations. [akpm@linux-foundation.org: coding-style cleanups] Signed-off-by: Adam Litke Cc: Ken Chen Cc: Andy Whitcroft Cc: Dave Hansen Cc: David Gibson Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c55be8b962f1bdc592d579e81fc27b11ea53dfc Author: Dan Williams Date: Wed Nov 14 16:59:35 2007 -0800 raid5: fix unending write sequence handling stripe 7629696, state=0x14 cnt=1, pd_idx=2 ops=0:0:0 check 5: state 0x6 toread 0000000000000000 read 0000000000000000 write fffff800ffcffcc0 written 0000000000000000 check 4: state 0x6 toread 0000000000000000 read 0000000000000000 write fffff800fdd4e360 written 0000000000000000 check 3: state 0x1 toread 0000000000000000 read 0000000000000000 write 0000000000000000 written 0000000000000000 check 2: state 0x1 toread 0000000000000000 read 0000000000000000 write 0000000000000000 written 0000000000000000 check 1: state 0x6 toread 0000000000000000 read 0000000000000000 write fffff800ff517e40 written 0000000000000000 check 0: state 0x6 toread 0000000000000000 read 0000000000000000 write fffff800fd4cae60 written 0000000000000000 locked=4 uptodate=2 to_read=0 to_write=4 failed=0 failed_num=0 for sector 7629696, rmw=0 rcw=0 These blocks were prepared to be written out, but were never handled in ops_run_biodrain(), so they remain locked forever. The operations flags are all clear which means handle_stripe() thinks nothing else needs to be done. This state suggests that the STRIPE_OP_PREXOR bit was sampled 'set' when it should not have been. This patch cleans up cases where the code looks at sh->ops.pending when it should be looking at the consistent stack-based snapshot of the operations flags. Report from Joel: Resync done. Patch fix this bug. Signed-off-by: Dan Williams Tested-by: Joel Bertrand Cc: Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b23dbe8173c212d6a326e35347b038705603d39 Author: Adam Litke Date: Wed Nov 14 16:59:33 2007 -0800 hugetlb: follow_hugetlb_page() for write access When calling get_user_pages(), a write flag is passed in by the caller to indicate if write access is required on the faulted-in pages. Currently, follow_hugetlb_page() ignores this flag and always faults pages for read-only access. This can cause data corruption because a device driver that calls get_user_pages() with write set will not expect COW faults to occur on the returned pages. This patch passes the write flag down to follow_hugetlb_page() and makes sure hugetlb_fault() is called with the right write_access parameter. [ezk@cs.sunysb.edu: build fix] Signed-off-by: Adam Litke Reviewed-by: Ken Chen Cc: David Gibson Cc: William Lee Irwin III Cc: Badari Pulavarty Signed-off-by: Erez Zadok Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19cd7537bdae6685c31677a01e08850612ba87f6 Author: David Brownell Date: Wed Nov 14 16:59:29 2007 -0800 atmel_serial build warnings begone Remove annoying build warnings about unused variables in atmel_serial, which afflict both AT91 and AVR32 builds. Signed-off-by: David Brownell Acked-by: Haavard Skinnemoen Cc: Andrew Victor Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 348badf1e825323c419dd118f65783db0f7d2ec8 Author: Haavard Skinnemoen Date: Wed Nov 14 16:59:27 2007 -0800 dmaengine: fix broken device refcounting When a DMA device is unregistered, its reference count is decremented twice for each channel: Once dma_class_dev_release() and once in dma_chan_cleanup(). This may result in the DMA device driver's remove() function completing before all channels have been cleaned up, causing lots of use-after-free fun. Fix it by incrementing the device's reference count twice for each channel during registration. [dan.j.williams@intel.com: kill unnecessary client refcounting] Signed-off-by: Haavard Skinnemoen Signed-off-by: Dan Williams Signed-off-by: Shannon Nelson Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90d8dabf74179e6615bd4688a118e12ec29ab7aa Author: Julia Lawall Date: Wed Nov 14 16:59:26 2007 -0800 drivers/misc: Move misplaced pci_dev_put's Move pci_dev_put outside the loops in which it occurs. Within the loop, pci_dev_put is done implicitly by pci_get_device. The problem was detected using the following semantic patch, and corrected by hand. @@ expression dev; expression E; @@ - pci_dev_put(dev) ... when != dev = E - pci_get_device(...,dev) Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e62aa046e1748b8ea0354951685478030392cf56 Author: Ondrej Zary Date: Wed Nov 14 16:59:24 2007 -0800 paride: pf driver fixes The pf driver for parallel port floppy drives seems to be broken. At least with Imation SuperDisk with EPAT chip, the driver calls pi_connect() and pi_disconnect after each transferred sector. At least with EPAT, this operation is very expensive - causes drive recalibration. Thus, transferring even a single byte (dd if=/dev/pf0 of=/dev/null bs=1 count=1) takes 20 seconds, making the driver useless. The pf_next_buf() function seems to be broken as it returns 1 always (except when pf_run is non-zero), causing the loop in do_pf_read_drq (and do_pf_write_drq) to be executed only once. The following patch fixes this problem. It also fixes swapped descriptions in pf_lock() function and removes DBMSG macro, which seems useless. Signed-off-by: Ondrej Zary Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba0a7f39ce8cd54a1b2f3adb03509ff251a91bde Author: Atsushi Nemoto Date: Wed Nov 14 16:59:23 2007 -0800 spi: fix error paths on txx9spi_probe Some error paths in txx9spi_probe wrongly return 0. This patch fixes them by using the devres interfaces. Signed-off-by: Atsushi Nemoto Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 350d0076c5763ca2b88ca05e3889bfa7c1905f21 Author: Atsushi Nemoto Date: Wed Nov 14 16:59:22 2007 -0800 spi: fix double-free on spi_unregister_master After 49dce689ad4ef0fd1f970ef762168e4bd46f69a3, device_for_each_child iteration hits the master device itself. Do not call spi_unregister_device() for the master device. Signed-off-by: Atsushi Nemoto Acked-by: David Brownell Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cbff2fbf55c21f50298b1aef1263b11bf510e35f Author: Andrew Morton Date: Wed Nov 14 16:59:21 2007 -0800 acpi: make ACPI_PROCFS default to y Zillions of people are getting my-battery-monitor-doesnt-work problems (including me). Lessen the damage by making ACPI_PROCFS default to on. Cc: Len Brown Cc: "Rafael J. Wysocki" Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 887c3cb18865a4f9e0786e5a5b3ef47ff469b956 Author: Yasunori Goto Date: Wed Nov 14 16:59:20 2007 -0800 Add IORESOUCE_BUSY flag for System RAM i386 and x86-64 registers System RAM as IORESOURCE_MEM | IORESOURCE_BUSY. But ia64 registers it as IORESOURCE_MEM only. In addition, memory hotplug code registers new memory as IORESOURCE_MEM too. This difference causes a failure of memory unplug of x86-64. This patch fixes it. This patch adds IORESOURCE_BUSY to avoid potential overlap mapping by PCI device. Signed-off-by: Yasunori Goto Signed-off-by: Badari Pulavarty Cc: Luck, Tony" Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fce25a9df4865bdd5e3dc4853b269dc1677a02a Author: Peter Zijlstra Date: Wed Nov 14 16:59:15 2007 -0800 mm: speed up writeback ramp-up on clean systems We allow violation of bdi limits if there is a lot of room on the system. Once we hit half the total limit we start enforcing bdi limits and bdi ramp-up should happen. Doing it this way avoids many small writeouts on an otherwise idle system and should also speed up the ramp-up. Signed-off-by: Peter Zijlstra Reviewed-by: Fengguang Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 546040dc4872f807d40b69bed86605636082564c Author: Balbir Singh Date: Wed Nov 14 16:59:14 2007 -0800 make getdelays cgroupstats aware Update the getdelays utility to become cgroupstats aware. A new -C option has been added. It takes in a control group path and prints out a summary of the states of tasks in the control group Signed-off-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dbc0e4cefd003834440fe7ac5464616c5235cb94 Author: KAMEZAWA Hiroyuki Date: Wed Nov 14 16:59:12 2007 -0800 memory hotremove: unset migrate type "ISOLATE" after removal We should unset migrate type "ISOLATE" when we successfully removed memory. But current code has BUG and cannot works well. This patch also includes bugfix? to change get_pageblock_flags to get_pageblock_migratetype(). Thanks to Badari Pulavarty for finding this. Signed-off-by: KAMEZAWA Hiroyuki Acked-by: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ad33b2436b545cbe8b28e53f3710432cad457ab Author: Lee Schermerhorn Date: Wed Nov 14 16:59:10 2007 -0800 Migration: find correct vma in new_vma_page() We hit the BUG_ON() in mm/rmap.c:vma_address() when trying to migrate via mbind(MPOL_MF_MOVE) a non-anon region that spans multiple vmas. For anon-regions, we just fail to migrate any pages beyond the 1st vma in the range. This occurs because do_mbind() collects a list of pages to migrate by calling check_range(). check_range() walks the task's mm, spanning vmas as necessary, to collect the migratable pages into a list. Then, do_mbind() calls migrate_pages() passing the list of pages, a function to allocate new pages based on vma policy [new_vma_page()], and a pointer to the first vma of the range. For each page in the list, new_vma_page() calls page_address_in_vma() passing the page and the vma [first in range] to obtain the address to get for alloc_page_vma(). The page address is needed to get interleaving policy correct. If the pages in the list come from multiple vmas, eventually, new_page_address() will pass that page to page_address_in_vma() with the incorrect vma. For !PageAnon pages, this will result in a bug check in rmap.c:vma_address(). For anon pages, vma_address() will just return EFAULT and fail the migration. This patch modifies new_vma_page() to check the return value from page_address_in_vma(). If the return value is EFAULT, new_vma_page() searchs forward via vm_next for the vma that maps the page--i.e., that does not return EFAULT. This assumes that the pages in the list handed to migrate_pages() is in address order. This is currently case. The patch documents this assumption in a new comment block for new_vma_page(). If new_vma_page() cannot locate the vma mapping the page in a forward search in the mm, it will pass a NULL vma to alloc_page_vma(). This will result in the allocation using the task policy, if any, else system default policy. This situation is unlikely, but the patch documents this behavior with a comment. Note, this patch results in restarting from the first vma in a multi-vma range each time new_vma_page() is called. If this is not acceptable, we can make the vma argument a pointer, both in new_vma_page() and it's caller unmap_and_move() so that the value held by the loop in migrate_pages() always passes down the last vma in which a page was found. This will require changes to all new_page_t functions passed to migrate_pages(). Is this necessary? For this patch to work, we can't bug check in vma_address() for pages outside the argument vma. This patch removes the BUG_ON(). All other callers [besides new_vma_page()] already check the return status. Tested on x86_64, 4 node NUMA platform. Signed-off-by: Lee Schermerhorn Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1a1c997afe907e6ec4799e4be0f38cffd8b418c Author: Eric W. Biederman Date: Wed Nov 14 16:59:08 2007 -0800 proc: fix proc_kill_inodes to kill dentries on all proc superblocks It appears we overlooked support for removing generic proc files when we added support for multiple proc super blocks. Handle that now. [akpm@linux-foundation.org: coding-style cleanups] Signed-off-by: Eric W. Biederman Acked-by: Pavel Emelyanov Cc: Alexey Dobriyan Acked-by: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7105458563213b6f6fb523065474cfe1d6c22a67 Author: Damian Jurd Date: Wed Nov 14 16:59:04 2007 -0800 8250_pnp: add support for "LG C1 EXPRESS DUAL" machines The following is an extra entry to enable the touch screen on the new LG C1 EXPRESS DUAL machine. Cc: Russell King Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9e60e5c3c4721dd216047e4c58c4eb89789f519 Author: Adrian Bunk Date: Wed Nov 14 16:59:02 2007 -0800 video/sis/: fix negative array index This patch fixes the possible usage of a negative value as an array index spotted by the Coverity checker. sisfb_validate_mode() could return a negative error code and we must check for that prior to using its return value as an array index. Signed-off-by: Adrian Bunk Cc: Thomas Winischhofer Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43054412db5e5b3eda1eff6c2245ff4257560340 Author: Adrian Bunk Date: Wed Nov 14 16:59:00 2007 -0800 lguest_user.c: fix memory leak This patch fixes a memory leak spotted by the Coverity checker. Signed-off-by: Adrian Bunk Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62ec56524f0eeaa1aa4f7281425fa34d400cdacc Author: Jordan Crouse Date: Wed Nov 14 16:58:58 2007 -0800 LXFB: use the correct MSR number for panel support A relatively recent version of the Geode LX datasheet listed the wrong address for one of the MSRs that controls TFT panels, resulting in breakage. This patch corrects the MSR address. Signed-off-by: Jordan Crouse Cc: "Antonino A. Daplas" Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e47776a0a41a14a5634633c96e590827f552c4b5 Author: Jan Kara Date: Wed Nov 14 16:58:56 2007 -0800 Forbid user to change file flags on quota files Forbid user from changing file flags on quota files. User has no bussiness in playing with these flags when quota is on. Furthermore there is a remote possibility of deadlock due to a lock inversion between quota file's i_mutex and transaction's start (i_mutex for quota file is locked only when trasaction is started in quota operations) in ext3 and ext4. Signed-off-by: Jan Kara Cc: LIOU Payphone Cc: Acked-by: Dave Kleikamp Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28822f22e18fc3c422f64b5bf0bb1e6c306af634 Author: Stanislav Brabec Date: Wed Nov 14 16:58:55 2007 -0800 drivers/video/s1d13xxxfb.c: fix build as module with dbg Attached patch fixes two compilation problems of s1d13xxxfb.c: - Fixes outdated dbg() message to fix compilation error with debugging enabled. - Do not read kernel command line options when compiled as module. Signed-off-by: Stanislav Brabec Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfe36bde59bc1ae868e775ad82386c3acaabb738 Author: Diego Calleja Date: Wed Nov 14 16:58:54 2007 -0800 Improve cgroup printks When I boot with the 'quiet' parameter, I see on the screen: [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 39.036026] Initializing cgroup subsys cpuacct [ 39.036080] Initializing cgroup subsys debug [ 39.036118] Initializing cgroup subsys ns This patch lowers the priority of those messages, adds a "cgroup: " prefix to another couple of printks and kills the useless reference to the source file. Signed-off-by: Diego Calleja Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cd8fa557f439f23baef2158b271667d0c579482 Author: Jeff Dike Date: Wed Nov 14 16:58:53 2007 -0800 uml: update address space affected by pud_clear pud_clear wasn't setting the _PAGE_NEWPAGE bit, fooling tlb_flush into thinking that this area of the address space was up-to-date and not unmapping whatever was covered by the pud. This manifested itself as ldconfig on x86_64 complaining about the first library it looked at not being a valid ELF file. A config file is mapped at 0x4000000, as the only thing mapped under its pud, and unmapped. The unmapping caused a pud_clear, which, due to this bug, didn't actually unmap the config file data on the host. The first library is then mapped at the same location, but is not actually mapped on the host because accesses to it cause no page faults. As a result, ldconfig sees the old config file data. [akpm@linux-foundation.org: coding-style cleanups] Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4d5d205b653fe68c898d42e7a27a7363a4fb3ba Author: Jeff Dike Date: Wed Nov 14 16:58:51 2007 -0800 uml: fix recvmsg return value checking Stupid bug - we need to compare the return value of recvmsg to the value of iov_len, not its size. This caused port_helper processes not to be killed on shutdown on x86_64 because the pids weren't being passed out properly. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df9d177aa28d50e64bae6fbd6b263833079e3571 Author: Philippe Elie Date: Wed Nov 14 16:58:48 2007 -0800 oProfile: oops when profile_pc() returns ~0LU Instruction pointer returned by profile_pc() can be a random value. This break the assumption than we can safely set struct op_sample.eip field to a magic value to signal to the per-cpu buffer reader side special event like task switch ending up in a segfault in get_task_mm() when profile_pc() return ~0UL. Fixed by sanitizing the sampled eip and reject/log invalid eip. Problem reported by Sami Farin, patch tested by him. Signed-off-by: Philippe Elie Tested-by: Sami Farin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03ad369ac900116f35da7505f768ebbd481d09a4 Author: Frank Lichtenheld Date: Wed Nov 14 16:58:47 2007 -0800 uvesafb: fix warnings about unused variables on non-x86 Variables that are only used in #ifdef CONFIG_X86 should also only be declared there. Signed-off-by: Frank Lichtenheld Cc: Michal Januszewski Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0f8c0234f275c8198cbb68f16e035fa46254e372 Author: Randy Dunlap Date: Wed Nov 14 16:58:45 2007 -0800 chipsfb: uses/depends on PCI chipsfb uses PCI interfaces and should depend on PCI. CC drivers/video/chipsfb.o drivers/video/chipsfb.c: In function 'chipsfb_pci_init': drivers/video/chipsfb.c:378: error: implicit declaration of function 'pci_request_region' drivers/video/chipsfb.c:435: error: implicit declaration of function 'pci_release_region' make[2]: *** [drivers/video/chipsfb.o] Error 1 make[1]: *** [drivers/video] Error 2 make: *** [drivers] Error 2 !CONFIG_PCI causes the build to fail. Signed-off-by: Randy Dunlap Cc: Kamalesh Babulal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 108b4c3638be251d6b42eaa633e8a6b852b960f0 Author: Mike Frysinger Date: Wed Nov 14 16:58:43 2007 -0800 rtc: tweak driver documentation for rtc periodic The max_user_freq member is not really meant for RTC drivers to modify, so update the rtc documentation so drivers writers know what is expected of them when handling periodic events. Signed-off-by: Mike Frysinger Acked-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fcbaa088fc8625381bd1096bc2eedc4f58a1572c Author: Jeff Dike Date: Wed Nov 14 16:58:42 2007 -0800 uml: fix symlink loops symlinks to directories in the non-O= case were lacking -n, which meant that, when the link already existed, a new link pointing at itself was created in the target directory. Signed-off-by: Jeff Dike Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a6dca7c15623626943786977aca738520ea5ba3 Author: Paul Mundt Date: Wed Nov 14 16:58:41 2007 -0800 lib: move bitmap.o from lib-y to obj-y. mac80211 has a reference to __bitmap_empty() via bitmap_empty(). In lib/bitmap.c this is flagged with an EXPORT_SYMBOL(), but this is ultimately ineffective due to bitmap.o being linked in lib-y, resulting in: ERROR: "__bitmap_empty" [net/mac80211/mac80211.ko] undefined! Moving bitmap.o to obj-y fixes this up. Signed-off-by: Paul Mundt Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ddd73611b7bddbc0a9079f27a1471f635100aaab Author: Pascal Terjan Date: Wed Nov 14 16:58:39 2007 -0800 cm40x0_cs.c: fix debug macros When PCMCIA_DEBUG is set, cm40x0_cs.c and cm4000_cs.c don't build because the definition of reader_to_dev uses a non-existent handle field of the struct pcmcia_device in the call to handle_to_dev. As handle_to_dev works on struct pcmcia_device, the fix is quite trivial. Signed-off-by: Pascal Terjan Cc: Harald Welte Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6fc48af82cef55546d640778698943b6227b7fb0 Author: Tetsuo Handa Date: Wed Nov 14 16:58:38 2007 -0800 sysctl: check length at deprecated_sysctl_warning Original patch assumed args->nlen < CTL_MAXNAME, but it can be false. Signed-off-by: Tetsuo Handa Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dbd0cf48842700c3a694dcd32b29e63e27f37acc Author: Bjorn Helgaas Date: Wed Nov 14 16:58:36 2007 -0800 serial: add PNP ID for Davicom ISA 33.6K modem This should resolve these bug reports of the modem not working: http://bugzilla.kernel.org/show_bug.cgi?id=4355 http://www.linuxquestions.org/questions/linux-newbie-8/connect-script-failed-on-ppp-go-123975/ I don't have hardware to test this, but the initial report in the kernel bugzilla indicates that this change fixed the problem. Signed-off-by: Bjorn Helgaas Cc: Dmitry Vavilov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc550defe9790b495c96fafabc5a6528dc586f24 Author: Akinobu Mita Date: Wed Nov 14 16:58:35 2007 -0800 slab: fix typo in allocation failure handling This patch fixes wrong array index in allocation failure handling. Cc: Pekka Enberg Acked-by: Christoph Lameter Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9b5a495dc23f58ecaa9517f1ff4dd9ac724935f Author: Li Zefan Date: Wed Nov 14 16:58:34 2007 -0800 W1: fix memset size error The size argument passed to memset is wrong. Signed-off-by Li Zefan Acked-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3cc2c17700c98b0af778566b0af6292b23b01430 Author: Li Zefan Date: Wed Nov 14 16:58:33 2007 -0800 drivers/video/ps3fb: fix memset size error The size passed to memset is wrong. Signed-off-by Li Zefan Acked-by: Geert Uytterhoeven Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 682d73f685536fdb09322dde8caad339480e7bad Author: David Brownell Date: Wed Nov 14 16:58:32 2007 -0800 rtc-ds1307 exports NVRAM Export the NVRAM on DS1307 and DS1338 chips, like several of the other drivers do for such combination RTC-and-NVRAM chips. Signed-off-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4b1d50e6158ecaa8fdb6a716389149bace35b52 Author: David Brownell Date: Wed Nov 14 16:58:30 2007 -0800 RTCs: handle NVRAM better Several of the RTC drivers are exporting binary "nvram" files in sysfs. Such NVRAM (or on many systems, EEPROM) data is often initialized during system manufacture to hold data about identity (serial numbers, Ethernet addresses, etc), configuration, calibration, and so forth. This patch improves integrity and security of those files: - Correctly initializes the size in one of the two cases where that was not yet being done. - Improves system security/integrity by making this state not be world-writable by default. Letting arbitrary userspace code mangle such state by default is at least Not A Good Thing; and it could sometimes be worse, depending on the particular data that might be corrupted. (I disregard the paranoiac "don't let anyone read it either" approach. Anyone storing passwords in such memory doesn't really care about security.) Signed-off-by: David Brownell Acked-by: Atsushi Nemoto Cc: Torsten Ertbjerg Rasmussen Cc: Mark Zhan Cc: Thomas Hommel Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 779d20892f8e716677194dc879eea2b5f1e75678 Author: David Brownell Date: Wed Nov 14 16:58:29 2007 -0800 rtc_hctosys expects RTCs in UTC (doc) The RTC "hctosys" mechanism expects that RTC clock will use UTC, not local time (e.g. PST). Say so in Kconfig and in the kernel message. (Strictly speaking, the RTC clock should be tracking the POSIX epoch. That's not worth going into here. Goofing timezones means clocks are wrong by many hours; the POSIX-v-UTC differences just cost seconds.) Signed-off-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1299342bacbe9038bef473d9b5b3cbebad112d4c Author: Andrey Borzenkov Date: Wed Nov 14 16:58:28 2007 -0800 Fix Oops in toshiba_acpi error return path When backlight_device_register() fails, return after undo initialization, do not try to use pointer that just was reset to NULL This fixes this oops: [ 1595.177672] [] show_trace_log_lvl+0x1a/0x30 [ 1595.177706] [] show_trace+0x12/0x20 [ 1595.177718] [] dump_stack+0x15/0x20 [ 1595.177728] [] kobject_shadow_add+0x125/0x1c0 [ 1595.177754] [] kobject_add+0xa/0x10 [ 1595.177764] [] device_add+0x97/0x5d0 [ 1595.177776] [] device_register+0x12/0x20 [ 1595.177786] [] backlight_device_register+0x9f/0x110 [backlight] [ 1595.177814] [] toshiba_acpi_init+0x117/0x15e [toshiba_acpi] [ 1595.177834] [] sys_init_module+0xfd/0x14e0 [ 1595.177871] [] sysenter_past_esp+0x5f/0x99 [ 1595.177883] ======================= [ 1595.177890] Could not register toshiba backlight device [ 1595.177985] BUG: unable to handle kernel NULL pointer dereference at virtual address 00000004 ... [ 1595.394097] EIP: 0060:[] Not tainted VLI [ 1595.394101] EFLAGS: 00010282 (2.6.23-rc9-1avb #24) [ 1595.480081] EIP is at toshiba_acpi_init+0x143/0x15e [toshiba_acpi] Signed-off-by: Andrey Borzenkov Cc: John Belmonte Acked-by: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a146a2b0d6e97941a5c2dc5d8a3ea1e6c3ab997 Author: Michael Halcrow Date: Wed Nov 14 16:58:27 2007 -0800 eCryptfs: cast page->index to loff_t instead of off_t page->index should be cast to loff_t instead of off_t. Signed-off-by: Michael Halcrow Reported-by: Eric Sandeen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66fbb541a5d2d58fdae21c1e7b558a75bfbd483f Author: Oliver Neukum Date: Thu Nov 15 09:31:10 2007 +0800 iwl4965: fix not correctly dealing with hotunplug The interrupt handler returns IRQ_NONE if it detects that the device is gone. That's incorrect because the device may have raised the interrupt. Not acknowledging it may trigger the spurious interrupt detection and kill drivers sharing the interrupt line. Signed-off-by: Oliver Neukum Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 755a957d407c3fcac58360d9309b1664078ac15d Author: Ivo van Doorn Date: Mon Nov 12 15:02:22 2007 +0100 rt2x00: Fix chipset revision validation The validation of the chipset revision was broken since for rt2500usb and rt73usb different registers should be read. When rt2500usb was loaded for a rt73 device it would false think the chipset was correct because the wrong register was read and validated. This has been fixed by expanding the check to also see if the first 4 bits of the revision is not-0 (When reading the wrong register offset the returned value is usually 0 which can be interpreted as invalid) Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 14577f239fe5193d556ef1471c8667dabd556418 Author: Mohamed Abbas Date: Mon Nov 12 11:37:42 2007 +0800 iwl3945: place CCK rates in front of OFDM for supported rates The patch fixes association failure (reason = 18) bug by arranging CCK rates before OFDM rates. This patch will register with mac80211 the modified rate arrangement with CCK rate first. Change rate scale algorithm also to deal with rate change. Fix Txpower and rate Table commands to be constructed correctly after rearrangement. Signed-off-by: Mohamed Abbas Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit a0af5f14542a2e0687f95e093a33ea7301fe8cc5 Author: Helmut Schaa Date: Fri Nov 9 16:25:08 2007 +0100 mac80211: Fix queuing of scan containing a SSID This patch fixes scanning for specific ssid's which is broken due to the scan being queued up without respecting the ssid to scan for. Signed-off-by: Helmut Schaa Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit d90bf5a976793edfa88d3bb2393f0231eb8ce1e5 Author: Eric Dumazet Date: Wed Nov 14 16:14:05 2007 -0800 [NET]: rt_check_expire() can take a long time, add a cond_resched() On commit 39c90ece7565f5c47110c2fa77409d7a9478bd5b: [IPV4]: Convert rt_check_expire() from softirq processing to workqueue. we converted rt_check_expire() from softirq to workqueue, allowing the function to perform all work it was supposed to do. When the IP route cache is big, rt_check_expire() can take a long time to run. (default settings : 20% of the hash table is scanned at each invocation) Adding cond_resched() helps giving cpu to higher priority tasks if necessary. Using a "if (need_resched())" test before calling "cond_resched();" is necessary to avoid spending too much time doing the resched check. (My tests gave a time reduction from 88 ms to 25 ms per rt_check_expire() run on my i686 test machine) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 66ba886254edbbd9442d30f1eef6f6fb0145027d Author: Frank Lichtenheld Date: Wed Nov 14 15:59:43 2007 -0800 [ISDN] sc: Really, really fix warning CC [M] drivers/isdn/sc/shmem.o drivers/isdn/sc/shmem.c: In function ‘memcpy_toshmem’: drivers/isdn/sc/shmem.c:53: warning: passing argument 1 of ‘memcpy_toio’ makes pointer from integer without a cast Commit 9317d4313e0cd51b2256ea9a9316f2d8561e37a8: ISDN/sc: fix longstanding warning claimed to fix it, but it didn't. [ Changed the "void *" to be "void __iomem *" -DaveM ] Signed-off-by: Frank Lichtenheld Acked-by:Karsten Keil Signed-off-by: David S. Miller commit 186fd777a8c63c28acdbcb0e9aefa7ebc858641e Author: Frank Lichtenheld Date: Wed Nov 14 15:57:38 2007 -0800 [ISDN] sc: Fix sndpkt to have the correct number of arguments isdn_if.writebuf_skb has an additional ack flag argument which was missing from sndpkt leading to the following warning: CC [M] drivers/isdn/sc/init.o drivers/isdn/sc/init.c: In function ‘sc_init’: drivers/isdn/sc/init.c:281: warning: assignment from incompatible pointer type Note that this doesn't actually do anything with the flag, it just fixes the warning (and probably accessing the last argument). Signed-off-by: Frank Lichtenheld Signed-off-by: David S. Miller commit e1cd8f78f8cbfa314a095dbf704707217c8ee197 Author: Ilpo Järvinen Date: Wed Nov 14 15:55:09 2007 -0800 [TCP] FRTO: Clear frto_highmark only after process_frto that uses it I broke this in commit 3de96471bd7fb76406e975ef6387abe3a0698149: [TCP]: Wrap-safed reordering detection FRTO check tcp_process_frto should always see a valid frto_highmark. An invalid frto_highmark (zero) is very likely what ultimately caused a seqno compare in tcp_frto_enter_loss to do the wrong leading to the LOST-bit leak. Having LOST-bits integry ensured like done after commit 23aeeec365dcf8bc87fae44c533e50d0bb4f23cc: [TCP] FRTO: Plug potential LOST-bit leak won't hurt. It may still be useful in some other, possibly legimate, scenario. Reported by Chazarain Guillaume . Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c67625a1ecd7caf4c0490fc5278d6bb736a5297f Author: Pavel Emelyanov Date: Wed Nov 14 15:53:16 2007 -0800 [NET]: Remove notifier block from chain when register_netdevice_notifier fails Commit fcc5a03ac42564e9e255c1134dda47442289e466: [NET]: Allow netdev REGISTER/CHANGENAME events to fail makes the register_netdevice_notifier() handle the error from the NETDEV_REGISTER event, sent to the registering block. The bad news is that in this case the notifier block is not removed from the list, but the error is returned to the caller. In case the caller is in module init function and handles this error this can abort the module loading. The notifier block will be then removed from the kernel, but will be left in the list. Oops :( I think that the notifier block should be removed from the chain in case of error, regardless whether this error is handled by the caller or not. In the worst case (the error is _not_ handled) module will not receive the events any longer. Signed-off-by: Pavel Emelyanov Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 8a856397f1b023b53907d13e742c216d90dd5034 Author: Jochen Friedrich Date: Wed Nov 14 15:51:01 2007 -0800 [FS_ENET]: Fix module build. If fs_enet is build as module, on PPC_CPM_NEW_BINDING platforms mii-fec/mii-bitbang should be build as module, as well. On other platforms, mii-fec/mii-bitbang must be included into the main module. Otherwise some symbols remain undefined. Additionally, fs_enet uses libphy, so add a select PHYLIB. Building modules, stage 2. MODPOST 5 modules ERROR: "fs_scc_ops" [drivers/net/fs_enet/fs_enet.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 Signed-off-by: Jochen Friedrich Signed-off-by: David S. Miller commit 96a2d41a3e495734b63bff4e5dd0112741b93b38 Author: Ilpo Järvinen Date: Wed Nov 14 15:47:18 2007 -0800 [TCP]: Make sure write_queue_from does not begin with NULL ptr NULL ptr can be returned from tcp_write_queue_head to cached_skb and then assigned to skb if packets_out was zero. Without this, system is vulnerable to a carefully crafted ACKs which obviously is remotely triggerable. Besides, there's very little that needs to be done in sacktag if there weren't any packets outstanding, just skipping the rest doesn't hurt. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit fb93134dfc2a6e6fbedc7c270a31da03fce88db9 Author: Herbert Xu Date: Wed Nov 14 15:45:21 2007 -0800 [TCP]: Fix size calculation in sk_stream_alloc_pskb We round up the header size in sk_stream_alloc_pskb so that TSO packets get zero tail room. Unfortunately this rounding up is not coordinated with the select_size() function used by TCP to calculate the second parameter of sk_stream_alloc_pskb. As a result, we may allocate more than a page of data in the non-TSO case when exactly one page is desired. In fact, rounding up the head room is detrimental in the non-TSO case because it makes memory that would otherwise be available to the payload head room. TSO doesn't need this either, all it wants is the guarantee that there is no tail room. So this patch fixes this by adjusting the skb_reserve call so that exactly the requested amount (which all callers have calculated in a precise way) is made available as tail room. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit e383d19e90cfbbf8e00512d44194ce175b3f60a2 Author: Jack Morgenstein Date: Wed Nov 14 16:33:27 2007 +0200 mlx4_core: Fix thinko in QP destroy (incorrect bitmap_free) Fix thinko in commit eaf559bf ("mlx4_core: Don't free special QPs in QP number bitmap"). The old commit had the logic exactly backwards and ended up freeing *only* special QPs, which not only left the original bug in place but also introduced the problem that the QP number bitmap would get full after a while. Found by Dotan Barak of Mellanox. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 18b2b7bd09811779309592a10080fe9ffb93144d Author: Sreenivasa Honnur Date: Wed Nov 14 01:41:06 2007 -0800 [S2IO]: Fixed memory leak when MSI-X vector allocation fails - Fixed memory leak by freeing MSI-X local entry memories when vector allocation fails in s2io_add_isr. - Added two utility functions remove_msix_isr and remove_inta_isr to eliminate code duplication. - Incorporated following review comments from Jeff - Removed redundant stats->mem_freed and synchronize_irq call - do_rem_msix_isr is renamed as remove_msix_isr - do_rem_inta_isr is renamed as remove_inta_isr Signed-off-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 8cbdeec637c1ce87bf329c5c19a9964e36bdf9fb Author: Jay Vosburgh Date: Tue Nov 13 21:16:29 2007 -0800 [BONDING]: Fix resource use after free Fix bond_destroy and bond_free_all to not reference the struct net_device after calling unregister_netdevice. Bug and offending change reported by Moni Shoua Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit ce1d18e0064d55106a7042c07cfca97cad66f407 Author: Olof Johansson Date: Tue Nov 13 21:15:24 2007 -0800 [SYSCTL]: Fix warning for token-ring from sysctl checker As seen when booting ppc64_defconfig: sysctl table check failed: /net/token-ring .3.14 procname does not match binary path procname Signed-off-by: Olof Johansson Signed-off-by: David S. Miller commit 6dd10a62353a50b30b30e0c18653650975b29c71 Author: Eric Dumazet Date: Tue Nov 13 21:12:14 2007 -0800 [NET] random : secure_tcp_sequence_number should not assume CONFIG_KTIME_SCALAR All 32 bits machines but i386 dont have CONFIG_KTIME_SCALAR. On these machines, ktime.tv64 is more than 4 times the (correct) result given by ktime_to_ns() Again on these machines, using ktime_get_real().tv64 >> 6 give a 32bits rollover every 64 seconds, which is not wanted (less than the 120 s MSL) Using ktime_to_ns() is the portable way to get nsecs from a ktime, and have correct code. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit cb4da1a34de3840ce49dc7292a063e1ef7f127af Author: Oliver Neukum Date: Tue Nov 13 21:10:32 2007 -0800 [IWLWIFI]: Not correctly dealing with hotunplug. It makes no sense to enable interrupts if a device has been unplugged. In addition if in doubt IRQ_HANDLED should be returned. Signed-off-by: Oliver Neukum Acked-by: Zhu Yi Signed-off-by: David S. Miller commit 23aeeec365dcf8bc87fae44c533e50d0bb4f23cc Author: Ilpo Järvinen Date: Tue Nov 13 21:03:13 2007 -0800 [TCP] FRTO: Plug potential LOST-bit leak It might be possible that, in some extreme scenario that I just cannot now construct in my mind, end_seq <= frto_highmark check does not match causing the lost_out and LOST bits become out-of-sync due to clearing and recounting in the loop. This may fix LOST-bit leak reported by Chazarain Guillaume . Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 746aa32d280084dbd520249170852e4616799928 Author: Ilpo Järvinen Date: Tue Nov 13 21:01:23 2007 -0800 [TCP] FRTO: Limit snd_cwnd if TCP was application limited Otherwise TCP might violate packet ordering principles that FRTO is based on. If conventional recovery path is chosen, this won't be significant at all. In practice, any small enough value will be sufficient to provide proper operation for FRTO, yet other users of snd_cwnd might benefit from a "close enough" value. FRTO's formula is now equal to what tcp_enter_cwr() uses. FRTO used to check application limitedness a bit differently but I changed that in commit 575ee7140dabe9b9c4f66f4f867039b97e548867 and as a result checking for application limitedness became completely non-existing. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f0163ac45b40bd032b877c747796146d52d4e800 Author: Jesse Brandeburg Date: Tue Nov 13 21:00:09 2007 -0800 [E1000]: Fix schedule while atomic when called from mii-tool. mii-tool can cause the driver to call msleep during nway reset, bugzilla.kernel.org bug 8430. Fix by simply calling reinit_locked outside of the spinlock, which is safe from ethtool, so it should be safe from here. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: David S. Miller commit e2ac455a18806b31c2d0da0a51d8740af5010b7a Author: David S. Miller Date: Tue Nov 13 20:47:35 2007 -0800 [NETX]: Fix build failure added by 2.6.24 statistics cleanup. Reported by rmk from kautobuild output: drivers/net/netx-eth.c: In function 'netx_eth_hard_start_xmit': drivers/net/netx-eth.c:131: error: 'dev' undeclared (first use in this function) drivers/net/netx-eth.c:131: error: (Each undeclared identifier is reported only once drivers/net/netx-eth.c:131: error: for each function it appears in.) drivers/net/netx-eth.c: In function 'netx_eth_receive': drivers/net/netx-eth.c:158: error: 'dev' undeclared (first use in this function) Signed-off-by: David S. Miller commit 4e04b84ea542a3e3f2fa308b3a7e7ed149f9a3a2 Author: David S. Miller Date: Tue Nov 13 20:46:09 2007 -0800 [EP93xx_ETH]: Build fix after 2.6.24 NAPI changes. Reported by rmk from kautobuild output: drivers/net/arm/ep93xx_eth.c:420: error: implicit declaration of function '__netif_rx_schedule_prep' Signed-off-by: David S. Miller commit 5f1a485d5905aa641f33009019b3699076666a4c Author: Peter P Waskiewicz Jr Date: Tue Nov 13 20:40:55 2007 -0800 [PKT_SCHED]: Check subqueue status before calling hard_start_xmit The only qdiscs that check subqueue state before dequeue'ing are PRIO and RR. The other qdiscs, including the default pfifo_fast qdisc, will allow traffic bound for subqueue 0 through to hard_start_xmit. The check for netif_queue_stopped() is done above in pkt_sched.h, so it is unnecessary for qdisc_restart(). However, if the underlying driver is multiqueue capable, and only sets queue states on subqueues, this will allow packets to enter the driver when it's currently unable to process packets, resulting in expensive requeues and driver entries. This patch re-adds the check for the subqueue status before calling hard_start_xmit, so we can try and avoid the driver entry when the queues are stopped. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 9a7666494bac60b99d2bd7d904bd22e8c9b1e3f7 Author: Steve Wise Date: Fri Nov 9 09:21:58 2007 -0600 RDMA/cxgb3: Set the max_qp_init_rd_atom attribute in query_device The device attribute max_qp_init_rd_atom is not getting set in cxgb3's query_device method. Version 1.0.4 of librdmacm now validates the user's requested initiator and responder resources against the max supported by the device. Since iw_cxgb3 wasn't setting this attribute (and it defaulted to 0), all rdma_connect()s fail if there are initiator resources requested by the app. Fix this by setting the correct value in iwch_query_device(). Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 51aaa54eb9e9f01878aa5d62277fd156e458dfe1 Author: Joachim Fenkes Date: Fri Nov 2 15:41:49 2007 +0200 IB/ehca: Fix static rate calculation The IPD (inter-packet delay) formula was a little off and assumed a fixed physical link rate; fix the formula and query the actual physical link rate, now that we can get it. Also, refactor the calculation into a common function ehca_calc_ipd() and use that instead of duplicating code. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 40ebb5615e2e069d3b8936b894ceff436c914003 Author: Joachim Fenkes Date: Fri Nov 2 15:33:51 2007 +0200 IB/ehca: Return physical link information in query_port() Newer firmware versions return physical port information to the partition, so hand that information to the consumer if it's present. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit f4ad1bcc4425a772ea584e1f24abadc64c2b839f Author: Ralph Campbell Date: Fri Oct 26 08:02:39 2007 -0700 IB/ipath: Fix race with ACK retry timeout list management When an ACK is received, the QP is removed from the timeout list and then if there are still pending send WQEs, the QP is put back on the timeout list. It is possible that another post send has put the QP on the timeout list thus, a check needs to be made before trying to do it again or the list is corrupted. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit a6e7550d8f73d6b75c20afff321f0f06fe144775 Author: Ralph Campbell Date: Wed Oct 24 15:49:39 2007 -0700 IB/ipath: Fix memory leak in ipath_resize_cq() if copy_to_user() fails Signed-off-by: Ralph Campbell Signed-off-by: Patrick Marchand Latifi Signed-off-by: Roland Dreier commit 3bba11e5c47dfc1d381a1ece26464fb7eea2d79c Author: Ali Ayoub Date: Tue Nov 13 15:26:57 2007 -0800 mlx4_core: Fix possible bad free in mlx4_buf_free() When mlx4_buf_free() is called from the error path of mlx4_buf_alloc(), it may be passed a buffer structure that does not have all pages filled in. Add a check for NULL to mlx4_buf_free() so we avoid passing NULL to dma_free_coherent() (which will crash). Signed-off-by: Ali Ayoub Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 0fd4980fa75acc78c747b1f43d1204f6572a4845 Author: Bartlomiej Zolnierkiewicz Date: Tue Nov 13 22:09:16 2007 +0100 ide: remove stale/incorrect comment from setup-pci.c Signed-off-by: Bartlomiej Zolnierkiewicz commit 24ffbd62583024f85bdba72cd373d050aa1a1b15 Author: Bartlomiej Zolnierkiewicz Date: Tue Nov 13 22:09:16 2007 +0100 it821x/jmicron: fix return value of {it821x,jmicron}_init_one() Signed-off-by: Bartlomiej Zolnierkiewicz commit 34c69b601b2ec8fc8ff6657a547ce3865d58e220 Author: Bartlomiej Zolnierkiewicz Date: Tue Nov 13 22:09:15 2007 +0100 ide: don't BUG() on unsupported transfer modes Fix ide-cris, cs5530, sc1200 and sis5513 host drivers to just return instead of OOPS-ing for unsupported modes in ->set_dma_mode methods. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c1f50cbb06363b36700c0a679a5bd3ddef0a97b6 Author: Bartlomiej Zolnierkiewicz Date: Tue Nov 13 22:09:15 2007 +0100 ide: use drive->select.all for REQ_TYPE_ATA_TASK in execute_drive_cmd() Use drive->select.all for REQ_TYPE_ATA_TASK requests in execute_drive_cmd() (the obsolete bits 7 and 5 of the Device register need to be set). Signed-off-by: Bartlomiej Zolnierkiewicz commit 12eda14f8930ccad0d8b75fecab87b90eecba5fb Author: Bartlomiej Zolnierkiewicz Date: Tue Nov 13 22:09:15 2007 +0100 ide: add missing HOB bit clearing to ide_dump_ata_status() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 03644cd497e27c3d274f39e58ddc577e9d73bb39 Author: Bartlomiej Zolnierkiewicz Date: Tue Nov 13 22:09:15 2007 +0100 ide-pmac: skip conservative PIO "downgrade" We can skip conservative PIO "downgrade" (PIO3 becomes PIO2 etc.) on PMAC. Problem reported by Mikael. Cc: Mikael Pettersson Acked-by: Benjamin Herrenschmidt Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2ad1e0558f369f11d180b7448d97164a0c5f07e2 Author: Adrian Bunk Date: Tue Nov 13 22:09:14 2007 +0100 ide: BLK_DEV_IDECD help: remove outdated note LILO version 16 was released on 26-02-1995 (sic), so telling people to not use older versions no longer has any value. Signed-off-by: Adrian Bunk Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 6183289cd4356b790c5eaa619020fb887ec0fa44 Author: Sergei Shtylyov Date: Tue Nov 13 22:09:14 2007 +0100 cmd64x: don't clear the other channel's interrupt Make sure to not clear the other IDE channel's interrupt when clearing an IDE interrupt via the MRDMODE register. Thanks to Bart for finding a coding mistake. Bart: This fixes regression from commit 66602c83dcb6a5d82772d88ae7a32cd4a1213528 ("cmd64x: use interrupt status from MRDMODE register (take 2)"). Extra thanks to Martin for reporting and bisecting the issue. From: Sergei Shtylyov Tested-by: Martin Rogge Tested-by: Milan Kocian Signed-off-by: Bartlomiej Zolnierkiewicz commit 9104476e4efbef8a8e32d48ced583603ff32a2db Author: Alexey Starikovskiy Date: Tue Nov 13 12:23:06 2007 +0300 ACPI: Battery: remove cycle from battery removal. get_property() should not call battery_update(), it also should call get_status() only if battery is present to avoid cycle and oops. Signed-off-by: Alexey Starikovskiy Tested-by: Rolf Eike Beer Acked-by: Johannes Weiner Signed-off-by: Linus Torvalds commit 0b832a4b93932103d73c0c3f35ef1153e288327b Author: Linus Torvalds Date: Tue Nov 13 08:07:31 2007 -0800 Revert "ext2/ext3/ext4: add block bitmap validation" This reverts commit 7c9e69faa28027913ee059c285a5ea8382e24b5d, fixing up conflicts in fs/ext4/balloc.c manually. The cost of doing the bitmap validation on each lookup - even when the bitmap is cached - is absolutely prohibitive. We could, and probably should, do it only when adding the bitmap to the buffer cache. However, right now we are better off just reverting it. Peter Zijlstra measured the cost of this extra validation as a 85% decrease in cached iozone, and while I had a patch that took it down to just 17% by not being _quite_ so stupid in the validation, it was still a big slowdown that could have been avoided by just doing it right. Cc: Peter Zijlstra Cc: Andrew Morton Cc: Aneesh Kumar Cc: Andreas Dilger Cc: Mingming Cao Signed-off-by: Linus Torvalds commit 53756524e42a71011f5ae6410d6ac386bf3a9e7b Author: Eric Dumazet Date: Tue Nov 13 03:49:53 2007 -0800 [NETFILTER]: xt_time should not assume CONFIG_KTIME_SCALAR It is not correct to assume one can get nsec from a ktime directly by using .tv64 field. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 022cbae611a37eda80d498f8f379794c8ac3be47 Author: Denis V. Lunev Date: Tue Nov 13 03:23:50 2007 -0800 [NET]: Move unneeded data to initdata section. This patch reverts Eric's commit 2b008b0a8e96b726c603c5e1a5a7a509b5f61e35 It diets .text & .data section of the kernel if CONFIG_NET_NS is not set. This is safe after list operations cleanup. Signed-of-by: Denis V. Lunev Signed-off-by: David S. Miller commit ed160e839d2e1118529e58b04d52dba703ca629c Author: Denis V. Lunev Date: Tue Nov 13 03:23:21 2007 -0800 [NET]: Cleanup pernet operation without CONFIG_NET_NS If CONFIG_NET_NS is not set, the only namespace is possible. This patch removes list of pernet_operations and cleanups code a bit. This list is not needed if there are no namespaces. We should just call ->init method. Additionally, the ->exit will be called on module unloading only. This case is safe - the code is not discarded. For the in/kernel code, ->exit should never be called. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 072ee3f9bd26a2f89a79d1eae9052d30b8d745a5 Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Nov 13 03:17:16 2007 -0800 [TEHUTI]: Fix incorrect usage of strncat in bdx_get_drvinfo() Fix incorrect length for strncat by replacing it with strlcat Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: David S. Miller commit 9db7720cca8f55a1e0c8d0dc1587e35dca50afbf Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Nov 13 03:16:17 2007 -0800 [MYRI_SBUS]: Prevent that myri_do_handshake lies about ticks. With '<=' tick can be incremented up to 26, The last loop is redundant since even when 'softstate' becomes 'STATE_READY', 'if (tick > 25)' will still cause the function to return -1, Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: David S. Miller commit 81d9ddae856678c45297550e9353c8a5a7fd6438 Author: Patrick McHardy Date: Tue Nov 13 02:58:44 2007 -0800 [NETFILTER]: bridge: fix double POSTROUTING hook invocation Packets routed between bridges have the POST_ROUTING hook invoked twice since bridging mistakes them for bridged packets because they have skb->nf_bridge set. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4ce5ba6aecb218981fc76585b6d9a7d0019e61b5 Author: Pavel Emelyanov Date: Tue Nov 13 02:58:09 2007 -0800 [NETFILTER]: Consolidate nf_sockopt and compat_nf_sockopt Both lookup the nf_sockopt_ops object to call the get/set callbacks from, but they perform it in a completely similar way. Introduce the helper for finding the ops. Signed-off-by: Pavel Emelyanov Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e0bf9cf15fc30d300b7fbd821c6bc975531fab44 Author: Li Zefan Date: Tue Nov 13 02:57:16 2007 -0800 [NETFILTER]: nf_nat: fix memset error The size passing to memset is the size of a pointer. Signed-off-by: Li Zefan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d71209ded2ba6010070d02005384897c59859d00 Author: Pavel Emelyanov Date: Mon Nov 12 21:27:28 2007 -0800 [INET]: Use list_head-s in inetpeer.c The inetpeer.c tracks the LRU list of inet_perr-s, but makes it by hands. Use the list_head-s for this. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 22649d1afbe6988688a07fd70abb06f1e2213567 Author: Adrian Bunk Date: Mon Nov 12 21:25:24 2007 -0800 [IPVS]: Remove unused exports. This patch removes the following unused EXPORT_SYMBOL's: - ip_vs_try_bind_dest - ip_vs_find_dest Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 6aed42159db1f99e83ccf17b1aa1a83bc75ac3e8 Author: Adrian Bunk Date: Mon Nov 12 21:24:14 2007 -0800 [NET]: Unexport sysctl_{r,w}mem_max. sysctl_{r,w}mem_max can now be unexported. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 6548d83a37a570b0050e60565937bbb582545d96 Author: Stephen Rothwell Date: Tue Nov 13 15:41:49 2007 +1100 [POWERPC] Silence an annoying boot message vmemmap_populate will printk (with KERN_WARNING) for a lot of pages if CONFIG_SPARSEMEM_VMEMMAP is enabled (at least it does on iSeries). Use pr_debug for it instead. Replace the only other use of DBG in this file with pr_debug as well. Signed-off-by: Stephen Rothwell Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 458c096ed787b2572303a7087d23bfab06b450be Author: Matt Carlson Date: Mon Nov 12 21:23:21 2007 -0800 [TG3]: Update version to 3.86 This patch updates the version number to 3.86 Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b7a2da1199d2ba2a870b137d6b4c2a538ab68c38 Author: Benjamin Herrenschmidt Date: Tue Nov 13 13:46:52 2007 +1100 [POWERPC] Fix early btext debug on PowerMac The early btext debug wouldn't work on PowerMac when booted from BootX due to the code looking for the wrong property name. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 0302f12e1c72e450d3b4569d9c03c57c9b5edac1 Author: Tony Breeds Date: Mon Nov 12 14:25:50 2007 +1100 [POWERPC] Demote clockevent printk to KERN_DEBUG These don't need to be seen by everyone on every boot. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit 9bafbb0c4d8df8b6baa1b917abfc10dc0969cd9d Author: Olof Johansson Date: Sun Nov 11 07:59:29 2007 +1100 [POWERPC] Fix CONFIG_SMP=n build error on ppc64 The patch "KVM: fix !SMP build error" change the way smp_call_function() actually uses the passed in function names on non-SMP builds. So previously it was never caught that the function passed in was never actually defined. This causes a build error on ppc64_defconfig + CONFIG_SMP=n: arch/powerpc/mm/tlb_64.c: In function 'pgtable_free_now': arch/powerpc/mm/tlb_64.c:71: error: 'pte_free_smp_sync' undeclared (first use in this function) arch/powerpc/mm/tlb_64.c:71: error: (Each undeclared identifier is reported only once arch/powerpc/mm/tlb_64.c:71: error: for each function it appears in.) So we need to define it even if CONFIG_SMP is off. Either that or ifdef out the smp_call_function() call, but that's ugly. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit b64f87c16f3c00fe593f632e1ee5798ba3f4f3f4 Author: Becky Bruce Date: Sat Nov 10 09:17:49 2007 +1100 [POWERPC] Avoid unpaired stwcx. on some processors The context switch code in the kernel issues a dummy stwcx. to clear the reservation, as recommended by the architecture. However, some processors can have issues if this stwcx to address A occurs while the reservation is already held to a different address B. To avoid this problem, the dummy stwcx. needs to be paired with a dummy lwarx to the same address. This adds the dummy lwarx, and creates a cpu feature bit to indicate which cpus are affected. Tested on mpc8641_hpcn_defconfig in arch/powerpc; build tested in arch/ppc. Signed-off-by: Becky Bruce Signed-off-by: Paul Mackerras commit 3bebab591413929c405925a8fdd98f5b0d660e39 Author: Matt Carlson Date: Mon Nov 12 21:22:40 2007 -0800 [TG3]: MII => TP This patch changes the PHY type reported through ethtool for copper devices from MII to TP. The latter is more accurate. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b5af7126ea7586eb8f030280c027611c42a6a9c7 Author: Matt Carlson Date: Mon Nov 12 21:22:02 2007 -0800 [TG3]: Add A1 revs This patch adds the A1 revision of 5784, 5764, and 5761, and applies all previous bugfixes. In places where the list of devices gets too long, the patch uses a new TG3_FLG3_5761_5784_AX_FIXES flag instead. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5f5c51e3d473d8ddc0c32156c2b27e2fe92b9b57 Author: Matt Carlson Date: Mon Nov 12 21:19:37 2007 -0800 [TG3]: Increase the PCI MRRS Previous devices hardcoded the PCI Maximum Read Request Size to 4K. To better comply with the PCI spec, the hardware now defaults the MRRS to 512 bytes. This will yield poor driver performance if left untouched. This patch increases the MRRS to 4K on driver initialization. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit aa6c91fe5913faa2cd2a62de993a3130799412b1 Author: Matt Carlson Date: Mon Nov 12 21:18:04 2007 -0800 [TG3]: Prescaler fix Internal hardware timers become inaccurate after link events. Clock frequency switches performed by the CPMU fail to adjust timer prescalers. The fix is to detect core clock frequency changes during link events and adjust the timer prescalers accordingly. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5f60891b80f1a0f0a0015b084f4838ae8b9637c7 Author: Matt Carlson Date: Mon Nov 12 21:17:07 2007 -0800 [TG3]: Limit 5784 / 5764 to MAC LED mode Most 5784 / 5764 LED modes do not work as expected because of a hardware bug. This patch forces the LED mode to be in MAC LED mode. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 662f38d242488cfdcda7b3684ac610d3e4d568a7 Author: Matt Carlson Date: Mon Nov 12 21:16:17 2007 -0800 [TG3]: Disable GPHY autopowerdown New CPMU devices contend with the GPHY for power management. The GPHY autopowerdown feature is enabled by default in the PHY and thus needs to be disabled after every PHY reset. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit e875093c9659d2a9f3923aa9ee1b89ef40cf95b9 Author: Matt Carlson Date: Mon Nov 12 21:11:51 2007 -0800 [TG3]: CPMU adjustments for loopback tests This patch adds the LINK_SPEED mode to the list of CPMU modes that can cause the loopback tests to fail. These bugs are planned to be fixed in future revisions of the chip, so the patch qualifies the fixes as such. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a5767dec1980463aef5614b7ad8a800bb4f4c353 Author: Matt Carlson Date: Mon Nov 12 21:10:58 2007 -0800 [TG3]: Fix nvram selftest failures Newer devices contain bootcode in the chip's private ROM area. This bootcode is called selfboot. Selfboot can be patched in the device's NVRAM and the patches can have several formats. In one particular format, the checksum calculation needs to be slightly modified. This patch adjusts the NVRAM test code for that case, and add support for the missing formats. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9acb961e7d780291659bf950b3b718ff9e085620 Author: Matt Carlson Date: Mon Nov 12 21:10:06 2007 -0800 [TG3]: 5784 / 5764 DMA engine lockup fix 5784 and 5764 devices lock up when the link speed is 10Mbps, the CPMU link speed mode is enabled, and the MAC clock is running at 1.5Mhz. The fix is to run the MAC clock at faster speeds. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 84af67fdf07c4fce664dbca87a8d5e2802901bff Author: Matt Carlson Date: Mon Nov 12 21:08:59 2007 -0800 [TG3]: APE flag fix This patch corrects a bug where the ENABLE_APE flag was tested against the wrong flag variable. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit ce057f01956bfcb3cb8588091000ae546be78e00 Author: Matt Carlson Date: Mon Nov 12 21:08:03 2007 -0800 [TG3]: 5784 / 5764 GPHY power down fix 5784 and 5764 devices fail to link / pass traffic after one load / unload cycle. This happens because of a hardware bug in the new CPMU. During normal operation, the MAC depends on the PHY clock being available. When the PHY is powered down, the clock the MAC depends on is disabled. The fix is to switch the MAC clock to an alternate source before powering down the PHY, and to restore the MAC clock to the PHY source upon device resume. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit c88864df27590b80fca4a991e0c257d1757cec41 Author: Matt Carlson Date: Mon Nov 12 21:07:01 2007 -0800 [TG3]: Fix 5761 PXEboot crash When 5761 devices boot the machine using PXEboot, PXE leaves the device active when it terminates. The tg3 driver has code to detect this condition and resets the device during initialization. On 5761 devices, device resets involve sending a driver state update message to the APE on the 5761. However, during this initialization stage, communications to the APE registers have not yet been set up. The driver then dereferences a NULL pointer and crashes the machine. The fix is to move the APE register access setup earlier in the initialization code to cover this condition. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit be85d4ad8ab69520e5ca4717c491a311c9eeae59 Author: Urs Thuermann Date: Mon Nov 12 21:05:20 2007 -0800 [AF_PACKET]: Fix minor code duplication Simplify some code by eliminating duplicate if-else clauses in packet_do_bind(). Signed-off-by: Urs Thuermann Signed-off-by: David S. Miller commit 57ce45dd16cd427ac2bdef202daf513bd25d650b Author: Adrian Bunk Date: Mon Nov 12 21:03:58 2007 -0800 [NET]: Remove references to net-modules.txt. When I removed net-modules.txt because it only contained ancient information I missed that many Kconfig entries pointed to this ancient information. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit c0d8248710d7d914c44dd79768b3ad85a62e194a Author: Arnaldo Carvalho de Melo Date: Mon Nov 12 21:02:51 2007 -0800 [INET]: Remove leftover prototypes from include/net/inet_common.h Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 91cf45f02af5c871251165d000c3f42a2a0b0552 Author: Trond Myklebust Date: Mon Nov 12 18:10:39 2007 -0800 [NET]: Add the helper kernel_sock_shutdown() ...and fix a couple of bugs in the NBD, CIFS and OCFS2 socket handlers. Looking at the sock->op->shutdown() handlers, it looks as if all of them take a SHUT_RD/SHUT_WR/SHUT_RDWR argument instead of the RCV_SHUTDOWN/SEND_SHUTDOWN arguments. Add a helper, and then define the SHUT_* enum to ensure that kernel users of shutdown() don't get confused. Signed-off-by: Trond Myklebust Acked-by: Mark Fasheh Acked-by: David Howells Signed-off-by: David S. Miller commit 62768e28d606c10ba54217f908123de34dad9374 Author: Johannes Berg Date: Mon Nov 12 18:09:25 2007 -0800 [SUNGEM]: Fix suspend regression due to NAPI changes. Commit bea3348e (the NAPI changes) made sungem unconditionally enable NAPI when resuming and unconditionally disable when suspending, this, however, makes napi_disable() hang when suspending when the interface was taken down before suspend because taking the interface down also disables NAPI. This patch makes touching the napi struct in suspend/resume code paths depend on having the interface up, thereby fixing the hang on suspend. The patch also moves the napi_disable() in gem_close() under the lock so that the NAPI state is always modified atomically together with the "opened" variable. Signed-off-by: Johannes Berg Acked-by: Benjamin Herrenschmidt Signed-off-by: David S. Miller commit cd228d5458186f66bc36c4884f4f26ed955c5945 Author: Joe Perches Date: Mon Nov 12 18:07:31 2007 -0800 [PPP]: Remove ptr comparisons to 0 fix sparse warnings "Using plain integer as NULL pointer" Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit dbb2ed24851a290616d66212dc75373fd863d636 Author: Pierre Ynard Date: Mon Nov 12 17:58:35 2007 -0800 [IPV6]: Add ifindex field to ND user option messages. Userland neighbor discovery options are typically heavily involved with the interface on which thay are received: add a missing ifindex field to the original struct. Thanks to Rémi Denis-Courmont. Signed-off-by: Pierre Ynard Signed-off-by: David S. Miller commit 325d22df7b19e0116aff3391d3a03f73d0634ded Author: Roland McGrath Date: Mon Nov 12 15:41:55 2007 -0800 sigwait eats blocked default-ignore signals While a signal is blocked, it must be posted even if its action is SIG_IGN or is SIG_DFL with the default action to ignore. This works right most of the time, but is broken when a sigwait (rt_sigtimedwait) is in progress. This changes the early-discard check to respect real_blocked. ~blocked is the set to check for "should wake up now", but ~(blocked|real_blocked) is the set for "blocked" semantics as defined by POSIX. This fixes bugzilla entry 9347, see http://bugzilla.kernel.org/show_bug.cgi?id=9347 Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 6fa02839bf9412e18e773d04e96182b4cd0b5d57 Author: J. Bruce Fields Date: Mon Nov 12 16:05:03 2007 -0500 nfsd4: recheck for secure ports in fh_verify As with commit 7fc90ec93a5eb71f4b08403baf5ba7176b3ec6b1 ("knfsd: nfsd: call nfsd_setuser() on fh_compose(), fix nfsd4 permissions problem") this is a case where we need to redo a security check in fh_verify() even though the filehandle already has an associated dentry--if the filehandle was created by fh_compose() in an earlier operation of the nfsv4 compound, then we may not have done these checks yet. Without this fix it is possible, for example, to traverse from an export without the secure ports requirement to one with it in a single compound, and bypass the secure port check on the new export. While we're here, fix up some minor style problems and change a printk() to a dprintk(), to make it harder for random unprivileged users to spam the logs. Signed-off-by: J. Bruce Fields Reviewed-By: NeilBrown Signed-off-by: Linus Torvalds commit ac8587dcb58e40dd336d99d60f852041e06cc3dd Author: J. Bruce Fields Date: Mon Nov 12 16:05:02 2007 -0500 knfsd: fix spurious EINVAL errors on first access of new filesystem The v2/v3 acl code in nfsd is translating any return from fh_verify() to nfserr_inval. This is particularly unfortunate in the case of an nfserr_dropit return, which is an internal error meant to indicate to callers that this request has been deferred and should just be dropped pending the results of an upcall to mountd. Thanks to Roland for bug report and data collection. Cc: Roland Acked-by: Andreas Gruenbacher Signed-off-by: J. Bruce Fields Reviewed-By: NeilBrown Signed-off-by: Linus Torvalds commit 44048d700bcbfaf4bcca6e2e0a73d89d01ec0878 Author: Linus Torvalds Date: Mon Nov 12 14:14:44 2007 -0800 Revert "Bias the placement of kernel pages at lower PFNs" This reverts commit 5adc5be7cd1bcef6bb64f5255d2a33f20a3cf5be. Alexey Dobriyan reports that it causes huge slowdowns under some loads, in his case a "mkfs.ext2" on a 30G partition. With the placement bias, the mkfs took over four minutes, with it reverted it's back to about ten seconds for Alexey. Reported-and-tested-by: Alexey Dobriyan Cc: Mel Gorman Cc: Andrew Morton Signed-off-by: Linus Torvalds commit daa93fab824f2b8c35bd11670c7fab2f32b2de5f Author: Sam Ravnborg Date: Mon Nov 12 20:54:30 2007 +0100 x86: enable "make ARCH=x86" After unification of the Kconfig files and introducing K64BIT support in kconfig it required only trivial changes to enable "make ARCH=x86". With this patch you can build for x86_64 in several ways: 1) make ARCH=x86_64 2) make ARCH=x86 K64BIT=y 3) make ARCH=x86 menuconfig => select 64-bit Likewise for i386 with the addition that i386 is default is you say ARCH=x86. Signed-off-by: Sam Ravnborg Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" commit d746d647f31bd3664f4a23985b78654129ffc1db Author: Sam Ravnborg Date: Mon Nov 12 20:14:19 2007 +0100 x86: do not use $(ARCH) when not needed For x86 ARCH may say i386 or x86_64 and soon x86. Rely on CONFIG_X64_32 to select between 32/64 or just hardcode the value as appropriate. Signed-off-by: Sam Ravnborg Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" commit 2a113281f5cd2febbab21a93c8943f8d3eece4d3 Author: Sam Ravnborg Date: Sat Nov 10 20:40:05 2007 +0100 kconfig: use $K64BIT to set 64BIT with all*config targets The variable K64BIT can now be used to select the value of CONFIG_64BIT. This is for example useful for powerpc to generate allmodconfig for both bit sizes - like this: make ARCH=powerpc K64BIT=y make ARCH=powerpc K64BIT=n To use this the Kconfig file must use "64BIT" as the config value to select between 32 and 64 bit. Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 0f855aa64b3f63d35a891510cf7db932a435c116 Author: Sam Ravnborg Date: Sat Nov 10 20:40:05 2007 +0100 kconfig: add helper to set config symbol from environment variable Add conf_set_env_sym() that can set an already defined symbol based on the value of an environment variable. Unknown symbols are silently ignored. A warning is printed if the value of the environment variable is unexpected. Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 9c900a9c9d9351e55ab6a84e12e3a52c474c7c8b Author: Sam Ravnborg Date: Sat Nov 10 20:01:56 2007 +0100 kconfig: factor out code in confdata.c This patch introduce no functional changes. Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 506f1d07b310815d11527d3360b09d79d0bd59f1 Author: Sam Ravnborg Date: Fri Nov 9 21:56:54 2007 +0100 x86: move the rest of the menu's to Kconfig With this patch we have all the Kconfig file shared between i386 and x86_64. Signed-off-by: Sam Ravnborg Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" commit 8d5fffb928cd86a70823f66f8335fa41709ec109 Author: Sam Ravnborg Date: Tue Nov 6 23:30:30 2007 +0100 x86: move all simple arch settings to Kconfig Most of the arch settings were equal so combine them in the first part of Kconfig. Signed-off-by: Sam Ravnborg Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" commit bc0120fdb4798421a577630bf5cbd77fc2d6661d Author: Sam Ravnborg Date: Tue Nov 6 23:10:39 2007 +0100 x86: copy x86_64 specific Kconfig symbols to Kconfig.i386 No functional changes. A prepatory step towards full unification. Signed-off-by: Sam Ravnborg Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" commit d2cacbcfaab96adfaea8d33241ed9ef4b8a5ce02 Author: Sam Ravnborg Date: Tue Nov 6 22:12:16 2007 +0100 x86: add X86_64 dependency to x86_64 specific symbols in Kconfig.x86_64 To ease unification of Kconfig.i386 and Kconfig.x86_64 add X86_64 dependencies to all x86_64 specific symbols. This patch introduce no functional changes but is one step towards unification. This smaller step is used to ease review of the patch set. Signed-off-by: Sam Ravnborg Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" commit 012c6c72275e66f4e52ae2df629f53a8d127e39f Author: Sam Ravnborg Date: Tue Nov 6 21:57:20 2007 +0100 x86: add X86_32 dependency to i386 specific symbols in Kconfig.i386 To ease unification of Kconfig.i386 and Kconfig.x86_64 add X86_32 dependencies to all i386 specific symbols. This patch introduce no functional changes but is one step towards unification. This smaller step is used to ease review of the patch set. Signed-off-by: Sam Ravnborg Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" commit 1032c0ba9da5c5b53173ad2dcf8b2a2da78f8b17 Author: Sam Ravnborg Date: Tue Nov 6 21:35:08 2007 +0100 x86: arch/x86/Kconfig.cpu unification Move all CPU definitions to Kconfig.cpu Always define X86_MINIMUM_CPU_FAMILY and do the obvious code cleanup in boot/cpucheck.c Comments from: Adrian Bunk incorporated. Signed-off-by: Sam Ravnborg Cc: Adrian Bunk Cc: Brian Gerst Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" commit e279b6c1d329e50b766bce96aacc197eae8a053b Author: Sam Ravnborg Date: Tue Nov 6 20:41:05 2007 +0100 x86: start unification of arch/x86/Kconfig.* This step introduces the file arch/x86/Kconfig which contains all the menu's from "Power Management" and below. The main part of the new Kconfig file is shared and the remaining i386/x86_64 specific symbols are covered by dependencies. A x86_64 allmodconfig build did not show any differences. Signed-off-by: Sam Ravnborg Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" commit e8ef95227a66284e070d255f902e2e4139fd141a Author: Sam Ravnborg Date: Tue Nov 6 19:35:19 2007 +0100 x86: unification of cfufreq/Kconfig Merge the two Kconfig files to a single file. Checked using make allmodconfig for x86_64. No changes in build. Signed-off-by: Sam Ravnborg Cc: Adrian Bunk Cc: Dave Jones commit 92d140e21f1ce8cf99320afbbcad73879128e6dc Author: Siddha, Suresh B Date: Sun Nov 11 11:27:59 2007 -0800 x86: fix taking DNA during 64bit sigreturn restore sigcontext is taking a DNA exception while restoring FP context from the user stack, during the sigreturn. Appended patch fixes it by doing clts() if the app doesn't touch FP during the signal handler execution. This will stop generating a DNA, during the fxrstor in the sigreturn. This improves 64-bit lat_sig numbers by ~30% on my core2 platform. Signed-off-by: Suresh Siddha Signed-off-by: Linus Torvalds commit efe44183f6bab5b8acb6a6182d95274978c8abb1 Author: Denis Cheng Date: Tue Nov 13 00:49:42 2007 +0800 SLUB: killed the unused "end" variable Since the macro "for_each_object" introduced, the "end" variable becomes unused anymore. Signed-off-by: Denis Cheng Signed-off-by: Linus Torvalds commit 00ec99da43a7c2aed46c6595aa271b84bb1b1462 Author: Roland McGrath Date: Sun Nov 11 19:13:43 2007 -0800 core dump: remain dumpable The coredump code always calls set_dumpable(0) when it starts (even if RLIMIT_CORE prevents any core from being dumped). The effect of this (via task_dumpable) is to make /proc/pid/* files owned by root instead of the user, so the user can no longer examine his own process--in a case where there was never any privileged data to protect. This affects e.g. auxv, environ, fd; in Fedora (execshield) kernels, also maps. In practice, you can only notice this when a debugger has requested PTRACE_EVENT_EXIT tracing. set_dumpable was only used in do_coredump for synchronization and not intended for any security purpose. (It doesn't secure anything that wasn't already unsecured when a process dies by SIGTERM instead of SIGQUIT.) This changes do_coredump to check the core_waiters count as the means of synchronization, which is sufficient. Now we leave the "dumpable" bits alone. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 9abed245a6dc94c32b2f45a1ecc51a0829d11470 Author: Jesper Juhl Date: Sun Nov 11 23:57:49 2007 +0100 Fix memory leak in discard case of sctp_sf_abort_violation() In net/sctp/sm_statefuns.c::sctp_sf_abort_violation() we may leak the storage allocated for 'abort' by returning from the function without using or freeing it. This happens in case "sctp_auth_recv_cid(SCTP_CID_ABORT, asoc)" is true and we jump to the 'discard' label. Spotted by the Coverity checker. The simple fix is to simply move the creation of the "abort chunk" to after the possible jump to the 'discard' label. This way we don't even have to allocate the memory at all in the problem case. Signed-off-by: Jesper Juhl Signed-off-by: Vlad Yasevich commit 42b36cc0ce717deeb10030141a43dede763a3ebe Author: Rusty Russell Date: Mon Nov 12 13:39:18 2007 +1100 virtio: Force use of power-of-two for descriptor ring sizes The virtio descriptor rings of size N-1 were nicely set up to be aligned to an N-byte boundary. But as Anthony Liguori points out, the free-running indices used by virtio require that the sizes be a power of 2, otherwise we get problems on wrap (demonstrated with lguest). So we replace the clever "2^n-1" scheme with a simple "align to page boundary" scheme: this means that all virtio rings take at least two pages, but it's safer than guessing cache alignment. Signed-off-by: Rusty Russell commit 1200e646ae238afc536be70257290eb33fb6e364 Author: Anthony Liguori Date: Thu Nov 8 21:13:44 2007 -0600 lguest: Fix lguest virtio-blk backend size computation This seems like an obvious typo but it's worked in the past because the virtio blk frontend just ignores the length field on completion. Signed-off-by: Anthony Liguori Signed-off-by: Rusty Russell commit 1bc4953ed44454c7f53d0b609445d1534981ee75 Author: Anthony Liguori Date: Wed Nov 7 15:49:24 2007 -0600 virtio: Fix used_idx wrap-around The more_used() function compares the vq->vring.used->idx with last_used_idx. Since vq->vring.used->idx is a 16-bit integer, and last_used_idx is an unsigned int, this results in unpredictable behavior when vq->vring.used->idx wraps around. This patch corrects this by changing last_used_idx to the correct type. Signed-off-by: Anthony Liguori Signed-off-by: Rusty Russell commit 4d125de3a5d130054df2285e542c1491d214d3e8 Author: Rusty Russell Date: Wed Nov 7 16:34:49 2007 +1100 virtio: more fallout from scatterlist changes. This fixes OOPS in network driver when CONFIG_DEBUG_SG=y. Signed-off-by: Rusty Russell commit 44332f7167dfb1ca04af96a2cff938c5e23433db Author: Anthony Liguori Date: Wed Nov 7 16:31:52 2007 +1100 virtio: fix vring_init for 64 bits This patch fixes a typo in vring_init(). This happens to work today in lguest because the sizeof(struct vring_desc) is 16 and struct vring contains 3 pointers and an unsigned int so on 32-bit sizeof(struct vring_desc) == sizeof(struct vring). However, this is no longer true on 64-bit where the bug is exposed. Signed-off-by: Anthony Liguori Signed-off-by: Rusty Russell commit 2e21630ddc3fb717dc645356b75771c6a52dc627 Author: Sebastian Siewior Date: Sat Nov 10 19:37:49 2007 +0800 [CRYPTO] geode: Fix not inplace encryption Currently the Geode AES module fails to encrypt or decrypt if the coherent bits are not set what is currently the case if the encryption does not occur inplace. However, the encryption works on my Geode machine _only_ if the coherent bits are always set. Signed-off-by: Sebastian Siewior Acked-by: Jordan Crouse Signed-off-by: Herbert Xu commit 6d6a54d1e4c2c6fbccd128ab4e6c8817db124866 Author: Russell King Date: Sun Nov 11 10:55:25 2007 +0000 [ARM] remove useless setting of VM_RESERVED remap_pfn_range() takes care of setting the appropriate VM_* flags itself; there's no need for callers of remap_pfn_range() to set VM_RESERVED before it is called. Signed-off-by: Russell King commit 2994c63863ac350c4c8c6a65d8110749c2abb95c Author: Denis V. Lunev Date: Sat Nov 10 22:12:03 2007 -0800 [INET]: Small possible memory leak in FIB rules This patch fixes a small memory leak. Default fib rules can be deleted by the user if the rule does not carry FIB_RULE_PERMANENT flag, f.e. by ip rule flush Such a rule will not be freed as the ref-counter has 2 on start and becomes clearly unreachable after removal. Signed-off-by: Denis V. Lunev Acked-by: Alexey Kuznetsov Signed-off-by: David S. Miller commit 33d36bb83c5b566c98a441e791736e25dbc35fc3 Author: Alexey Dobriyan Date: Sat Nov 10 22:09:25 2007 -0800 [NETNS]: init dev_base_lock only once * it already statically initialized * reinitializing live global spinlock every time netns is setup is also wrong Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 284b327be2f86cf751316ff344b6945e580e654f Author: Pavel Emelyanov Date: Sat Nov 10 22:08:30 2007 -0800 [UNIX]: The unix_nr_socks limit can be exceeded The unix_nr_socks value is limited with the 2 * get_max_files() value, as seen from the unix_create1(). However, the check and the actual increment are separated with the GFP_KERNEL allocation, so this limit can be exceeded under a memory pressure - task may go to sleep freeing the pages and some other task will be allowed to allocate a new sock and so on and so forth. So make the increment before the check (similar thing is done in the sock_kmalloc) and go to kmalloc after this. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 5c80f1ae9842a8b7985acd0f02efb9828effb05f Author: Pavel Emelyanov Date: Sat Nov 10 22:07:13 2007 -0800 [AF_UNIX]: Convert socks to unix_socks in scan_inflight, not in callbacks The scan_inflight() routine scans through the unix sockets and calls some passed callback. The fact is that all these callbacks work with the unix_sock objects, not the sock ones, so make this conversion in the scan_inflight() before calling the callbacks. This removes one unneeded variable from the inc_inflight_move_tail(). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 9305cfa4443dbfb99faf35c5603ec0c0e91b5ef8 Author: Pavel Emelyanov Date: Sat Nov 10 22:06:01 2007 -0800 [AF_UNIX]: Make unix_tot_inflight counter non-atomic This counter is _always_ modified under the unix_gc_lock spinlock, so its atomicity can be provided w/o additional efforts. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 8032b46489e50ef8f3992159abd0349b5b8e476c Author: Peter P Waskiewicz Jr Date: Sat Nov 10 22:03:25 2007 -0800 [AF_PACKET]: Allow multicast traffic to be caught by ORIGDEV when bonded The socket option for packet sockets to return the original ifindex instead of the bonded ifindex will not match multicast traffic. Since this socket option is the most useful for layer 2 traffic and multicast traffic, make the option multicast-aware. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit 60d78c4473493674531a1df0772ca9e4d6133a62 Author: Michael Buesch Date: Wed Nov 7 19:03:35 2007 +0100 ssb: Fix PCMCIA-host lowlevel bus access This fixes the lowlevel bus access routines for PCMCIA based devices. There are still a few issues with register access sideeffects after this patch. This will be addressed in a later patch. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit d52a60ad389d8aeac162350b19e4303c6cde7f93 Author: Johannes Berg Date: Wed Nov 7 16:41:13 2007 +0100 mac80211: fix MAC80211_RCSIMPLE Kconfig I meant for this to be selectable only with EMBEDDED, not enabled only with EMBEDDED. This does it that way. Sorry. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7f3ad8943e2e6336ba229b208be8c7a80730c5d4 Author: John W. Linville Date: Tue Nov 6 17:12:31 2007 -0500 mac80211: make "decrypt failed" messages conditional upon MAC80211_DEBUG Make "decrypt failed" and "have no key" debugging messages compile conditionally upon CONFIG_MAC80211_DEBUG. They have been useful for finding certain problems in the past, but in many cases they just clutter a user's logs. A typical example is an enviornment where multiple SSIDs are using a single BSSID but with different protection schemes or different keys for each SSID. In such an environment these messages are just noise. Let's just leave them for those interested enough to turn-on debugging. Signed-off-by: John W. Linville commit 5b98b1f7daf6d52ccc446486aca0b8bc9a588b2c Author: Johannes Berg Date: Sat Nov 3 13:11:10 2007 +0000 mac80211: use IW_AUTH_PRIVACY_INVOKED rather than IW_AUTH_KEY_MGMT In the long bug-hunt for why dynamic WEP networks didn't work it turned out that mac80211 incorrectly uses IW_AUTH_KEY_MGMT while it should use IW_AUTH_PRIVACY_INVOKED to determine whether to associate to protected networks or not. This patch changes the behaviour to be that way and clarifies the existing code. Signed-off-by: Johannes Berg Cc: Jouni Malinen Signed-off-by: John W. Linville commit 56db6c52bb61509c114b9f1b1eecc7461229770a Author: Johannes Berg Date: Tue Oct 30 15:58:18 2007 +0100 mac80211: remove unused driver ops The driver operations set_ieee8021x(), set_port_auth() and set_privacy_invoked() are not used by any drivers, except set_privacy_invoked() they aren't even used by mac80211. Remove them at least until we need to support drivers with mac80211 that require getting this information. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville commit 8636bf6513d8eae228c049adeac29fe6cd0739f1 Author: Johannes Berg Date: Tue Nov 6 11:23:29 2007 +0100 mac80211: remove ieee80211_common.h Robert pointed out that I missed this file when removing the management interface. Do it now. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6b345dd902a83b441d6a05e5541b84567aa1d6e4 Author: Johannes Berg Date: Mon Nov 5 14:32:35 2007 +0100 softmac: MAINTAINERS update This patch marks softmac as obsolete in MAINTAINERS and removes Joe and myself as maintainers, we're no longer using it nor interested in the code in any way. Also remove the website reference because I took it offline. Hopefully the code will go away in 2.6.25. Signed-off-by: Johannes Berg Acked-by: Joseph Jezak Signed-off-by: John W. Linville commit 2736622344e9af9801392edf9e733e8a8f6931d1 Author: Michael Buesch Date: Fri Nov 2 20:18:11 2007 +0100 rfkill: Fix sparse warning Signed-off-by: John W. Linville commit 7319f1e6bcf04abd2eddb19747b0933a76f839ce Author: Michael Buesch Date: Sun Oct 28 15:16:50 2007 +0100 rfkill: Use mutex_lock() at register and add sanity check Replace mutex_lock_interruptible() by mutex_lock() in rfkill_register(), as interruptible doesn't make sense there. Add a sanity check for rfkill->type, as that's used for an unchecked dereference in an array and might cause hard to debug crashes if the driver sets this to an invalid value. Signed-off-by: Michael Buesch Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f51359a8fb1bb00ae87051991e59d0f92d90604b Author: Johannes Berg Date: Sun Oct 28 14:53:36 2007 +0100 iwlwifi: select proper rate control algorithm Prior to this patch, iwlwifi would always use the first registered rate control algorithm which, depending on system setup, could be anything. After the mac80211 patch to make the simple algorithm built-in, it would always be simple. This has always been a bug in iwlwifi. This fixes it by requesting that mac80211 selects the right rate control algorithm. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 830f903866a1611e9ce53f3e35202302bb938946 Author: Johannes Berg Date: Sun Oct 28 14:51:05 2007 +0100 mac80211: allow driver to ask for a rate control algorithm This allows a driver to ask for a specific rate control algorithm. The rate control algorithm asked for must be registered and be available as a module or built-in. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 999acd9c339a761a18d625b13001612ac396ee00 Author: Johannes Berg Date: Sun Oct 28 14:49:33 2007 +0100 mac80211: don't allow registering the same rate control twice Previously, mac80211 would allow registering the same rate control algorithm twice. This is a programming error in the registration and should not happen; additionally the second version could never be selected. Disallow this and warn about it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2bf236d55e5ea2b92ed5235af09997c2995b316b Author: Michael Buesch Date: Sun Oct 28 14:39:02 2007 +0100 rfkill: Use subsys_initcall We must use subsys_initcall, because we must initialize before a driver calls rfkill_register(). Signed-off-by: Michael Buesch Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ac71c691e6a5ce991fe221d3bdb0c972f617aa37 Author: Johannes Berg Date: Sun Oct 28 14:17:44 2007 +0100 mac80211: make simple rate control algorithm built-in Too frequently people do not have module autoloading enabled or fail to install the rate control module correctly, hence their hardware probing fails due to no rate control algorithm being available. This makes the 'simple' algorithm built into the mac80211 module unless EMBEDDED is enabled in which case it can be disabled (eg. if the wanted driver requires another rate control algorithm.) Signed-off-by: Johannes Berg Acked-by: Michael Buesch Signed-off-by: John W. Linville commit 8a8f1c0437a77cce29c1cb6089f01f22a6d9ca6e Author: Michael Buesch Date: Sun Oct 28 13:07:54 2007 +0100 rfkill: Register LED triggers before registering switch Registering the switch triggers a LED event, so we must register LED triggers before the switch. This has a potential to fix a crash, depending on how the device driver initializes the rfkill data structure. Signed-off-by: Michael Buesch Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8d8c90e3fd1f8895f6d48bdcb34ba69a1fe73616 Author: Michael Buesch Date: Sat Oct 27 15:14:39 2007 +0200 ssb: Fix initcall ordering ssb must init after PCI but before the ssb drivers. Signed-off-by: Michael Buesch Cc: Christian Casteyde Fixes-bug: #9219 Signed-off-by: John W. Linville commit 94e10bfb8a7372df3ef2759c9ec2a37de2f24aca Author: Johannes Berg Date: Thu Oct 25 22:16:23 2007 +0200 softmac: fix wext MLME request reason code endianness The MLME request reason code is host-endian and our passing it to the low level functions is host-endian as well since they do the swapping. I noticed that the reason code 768 was sent (0x300) rather than 3 when wpa_supplicant terminates. This removes the superfluous cpu_to_le16() call. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b226801676d9533d09da511eb379fe970fa1a770 Author: Radu Rendec Date: Sat Nov 10 21:54:50 2007 -0800 [PKT_SCHED] CLS_U32: Use ffs() instead of C code on hash mask to get first set bit. Computing the rank of the first set bit in the hash mask (for using later in u32_hash_fold()) was done with plain C code. Using ffs() instead makes the code more readable and improves performance (since ffs() is better optimized in assembler). Using the conditional operator on hash mask before applying ntohl() also saves one ntohl() call if mask is 0. Signed-off-by: Radu Rendec Signed-off-by: Jarek Poplawski Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 78608ba0326f1448f9a10dbb402a38192559f639 Author: Chuck Lever Date: Sat Nov 10 21:53:30 2007 -0800 [NET]: Fix skb_truesize_check() assertion The intent of the assertion in skb_truesize_check() is to check for skb->truesize being decremented too much by other code, resulting in a wraparound below zero. The type of the right side of the comparison causes the compiler to promote the left side to an unsigned type, despite the presence of an explicit type cast. This defeats the check for negativity. Ensure both sides of the comparison are a signed type to prevent the implicit type conversion. Signed-off-by: Chuck Lever Signed-off-by: David S. Miller commit 39aaac114e192bce500204f9c9e1fffff4c2b519 Author: Patrick McHardy Date: Sat Nov 10 21:52:35 2007 -0800 [VLAN]: Allow setting mac address while device is up Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d932e04a5e7b146c5f9bf517714b986a432a7594 Author: Patrick McHardy Date: Sat Nov 10 21:51:40 2007 -0800 [VLAN]: Don't synchronize addresses while the vlan device is down While the VLAN device is down, the unicast addresses are not configured on the underlying device, so we shouldn't attempt to sync them. Noticed by Dmitry Butskoy Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 358352b8b83c67ecf75f6d7bc3e2d64bf0cf506a Author: Pavel Emelyanov Date: Sat Nov 10 21:48:54 2007 -0800 [INET]: Cleanup the xfrm4_tunnel_(un)register Both check for the family to select an appropriate tunnel list. Consolidate this check and make the for() loop more readable. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 99f933263ac30eafbb008d01ac1dd0adf40fc343 Author: Pavel Emelyanov Date: Sat Nov 10 21:47:39 2007 -0800 [INET]: Add missed tunnel64_err handler The tunnel64_protocol uses the tunnel4_protocol's err_handler and thus calls the tunnel4_protocol's handlers. This is not very good, as in case of (icmp) error the wrong error handlers will be called (e.g. ipip ones instead of sit) and this won't be noticed at all, because the error is not reported. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit c2b42336f4a733020360157ba629d37f1410923a Author: Pavel Emelyanov Date: Sat Nov 10 21:39:26 2007 -0800 [IPX]: Use existing sock refcnt debugging infrastructure Just like in the af_packet.c, the ipx_sock_nr variable is used for debugging purposes. Switch to using existing infrastructure. Thanks to Arnaldo for pointing this out. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 17ab56a260734aabf7f03cc97785dda81571ea24 Author: Pavel Emelyanov Date: Sat Nov 10 21:38:48 2007 -0800 [PACKET]: Use existing sock refcnt debugging infrastructure The packet_socks_nr variable is used purely for debugging the number of sockets. As Arnaldo pointed out, there's already an infrastructure for this purposes, so switch to using it. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit e9671fcb3bef1fe2e71aa0456bd5b7eec9e8de4d Author: Joe Perches Date: Sat Nov 10 21:36:04 2007 -0800 [NET]: Fix infinite loop in dev_mc_unsync(). From: Joe Perches Based upon an initial patch and report by Luis R. Rodriguez. Signed-off-by: David S. Miller commit 03f49f345749abc08bc84b835433c94eea6e972b Author: Pavel Emelyanov Date: Sat Nov 10 21:28:34 2007 -0800 [NET]: Make helper to get dst entry and "use" it There are many places that get the dst entry, increase the __use counter and set the "lastuse" time stamp. Make a helper for this. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit b1667609cd9a98ce32559e06f36fca54c775a51f Author: Pavel Emelyanov Date: Sat Nov 10 21:26:41 2007 -0800 [IPV4]: Remove bugus goto-s from ip_route_input_slow Both places look like if (err == XXX) goto yyy; done: while both yyy targets look like err = XXX; goto done; so this is ok to remove the above if-s. yyy labels are used in other places and are not removed. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit fbd52eb2bd17bd3468974aa2fdce140f0cd32fc7 Author: Ilpo Järvinen Date: Sat Nov 10 21:24:19 2007 -0800 [TCP]: Split SACK FRTO flag clearing (fixes FRTO corner case bug) In case we run out of mem when fragmenting, the clearing of FLAG_ONLY_ORIG_SACKED might get missed which then feeds FRTO with false information. Move clearing outside skb processing loop so that it will get executed even if the skb loop terminates prematurely due to out-of-mem. Besides, now the core of the loop truly deals with a single skb only, which also enables creation a more self-contained of tcp_sacktag_one later on. In addition, small reorganization of if branches was made. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit e49aa5d456802c6bec59b29d1d7cbd8e9cc71709 Author: Ilpo Järvinen Date: Sat Nov 10 21:23:08 2007 -0800 [TCP]: Add unlikely() to sacktag out-of-mem in fragment case Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c7caf8d3ed7a6617aa0a3083815c439bd952c45c Author: Ilpo Järvinen Date: Sat Nov 10 21:22:18 2007 -0800 [TCP]: Fix reord detection due to snd_una covered holes Fixes subtle bug like the one with fastpath_cnt_hint happening due to the way the GSO and hints interact. Because hints are not reset when just a GSOed skb is partially ACKed, there's no guarantee that the relevant part of the write queue is going to be processed in sacktag at all (skbs below snd_una) because fastpath hint can fast forward the entrypoint. This was also on the way of future reductions in sacktag's skb processing. Also future cleanups in sacktag can be made after this (in 2.6.25). This may make reordering update in tcp_try_undo_partial redundant but I'm not too sure so I left it there. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 8dd71c5d28cd88d4400e7f474986e799e39aff37 Author: Ilpo Järvinen Date: Sat Nov 10 21:20:59 2007 -0800 [TCP]: Consider GSO while counting reord in sacktag Reordering detection fails to take account that the reordered skb may have pcount larger than 1. In such case the lowest of them had the largest reordering, the old formula used the highest of them which is pcount - 1 packets less reordered. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 9e4505c459440a41fd466451cf840dec5c957eeb Author: Eric Dumazet Date: Sat Nov 10 21:18:39 2007 -0800 [INET]: Add a missing include to inet_hashtables.h Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 6e800af233e0bdf108efb7bd23c11ea6fa34cdeb Author: Jerome Pinot Date: Sun Nov 11 03:01:10 2007 +0900 ACPI: add documentation for deprecated /proc/acpi/battery in ACPI_PROCFS Add documentation in Kconfig help about the move of /proc/acpi/battery to /sys/class/power_supply when selecting ACPI_PROCFS. This will impact a lot of users and should be documented. Signed-off-by: Jerome Pinot Signed-off-by: Linus Torvalds commit 3902beb48d369d5e19f66acc2f857865ddc9b3bf Author: Linus Torvalds Date: Sat Nov 10 14:22:46 2007 -0800 Revert "[ARM] 4642/2: netX: default config for netx based boards" This reverts commit f33bac8dd4573428b94c67149c5607be489092d1, which was totally bogus. The arm/configs/netx_defconfig file already existed - in the right place. Namely under "arch". Noticed-by: Paul Mundt Acked-by: Robert Schwebel Signed-off-by: Linus Torvalds commit cee687ce4ab1197e20d4dacc09df01531362fdbd Author: Rolf Eike Beer Date: Fri Nov 2 15:22:30 2007 +0100 Add missing "\n" to log message Signed-off-by: Rolf Eike Beer Signed-off-by: Pierre Ossman commit a6baf3af89a266a3d745117de570788b956396e7 Author: Francois Romieu Date: Thu Nov 8 23:23:21 2007 +0100 r8169: prevent bit sign expansion error in mdio_write Oops. The current code does not like being given an u16 with the highest bit set as an argument to mdio_write. Let's enforce a correct range of values for both the register address and value (resp. 5 and 16 bits). The callers are currently left as-is. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 50d84c2dc00e48ff9ba018ed0dd23276cf79e566 Author: Mark Lord Date: Thu Nov 8 22:29:07 2007 +0100 r8169: revert 7da97ec96a0934319c7fbedd3d38baf533e20640 (bis repetita) RTL_GIGA_MAC_VER_17 breaks as well. Signed-off-by: Mark Lord Signed-off-by: Francois Romieu Cc: Edward Hsu commit 5a37a68dab77c234c80a8e25455d568f30e86c09 Author: Stephen Hemminger Date: Thu Nov 8 08:20:17 2007 -0800 sky2: new pci id's Found a couple of more chips in the latest version of the vendor driver. They are minor variations on existing chips. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8687991a734a67f1638782c968f46fff0f94bb1f Author: Magnus Damm Date: Thu Nov 8 16:31:05 2007 +0900 ax88796: add superh to kconfig dependencies ax88796: add superh to kconfig dependencies This patch adds sh architecture support to the ax88796 kconfig. Signed-off-by: Magnus Damm Signed-off-by: Jeff Garzik commit ad4c9a09c7bf6aaa418679f0fb48484eab53a285 Author: Ron Mercer Date: Wed Nov 7 13:59:07 2007 -0800 qla3xxx: bugfix: Fix bad logical operation in link state machine. Luckily, this wasn't reported or reproduced. The logical operation for setting duplex had wrong grouping. Signed-off-by: Ron Mercer Signed-off-by: Jeff Garzik commit 3e23b7d3b54c07f1c4fee1ebc418d1a37248654e Author: Ron Mercer Date: Wed Nov 7 13:59:06 2007 -0800 qla3xxx: bugfix: Move link state machine into a worker thread The link state machine requires access to some resources that are shared with the iSCSI function on the chip. (See iSCSI driver at drivers/scsi/qla4xxx) If the interface is being up/downed at a rapid pace this driver may need to sleep waiting to get access to the common resources. For this we are moving the state machine to run as a work thread. Signed-off-by: Ron Mercer Signed-off-by: Jeff Garzik commit 32bee776533eea839f9499d985c1490b5ac98512 Author: Olof Johansson Date: Tue Nov 6 22:21:38 2007 -0600 pasemi_mac: Fix CRC checks Make sure we don't feed packets with bad CRC up the network stack, and discount the packet length as reported from the MAC for the CRC field. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit dbd62af7de9ee63f83c0262e4acc3b3319c09c8b Author: Olof Johansson Date: Tue Nov 6 22:20:39 2007 -0600 pasemi_mac: Don't set replace-source-address descriptor bits Don't use the "replace source address with local MAC address" bits, since it causes problems on some variations of the hardware due to an erratum. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 3a1521b7e5b6964c293bb8ed6773513f8f503de5 Author: Jay Vosburgh Date: Tue Nov 6 13:33:29 2007 -0800 bonding: don't validate address at device open The standard validate_addr handler refuses to accept the all zeroes address as valid. However, it's common historical practice for the bonding master to be configured up prior to having any slaves, at which time the master will have a MAC address of all zeroes. Resolved by setting the dev->validate_addr to NULL. The master still can't end up with an invalid address, as the set_mac_address function tests for validity. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 1466a21997212a5fb33d5da9357841972b28b007 Author: Jay Vosburgh Date: Tue Nov 6 13:33:28 2007 -0800 bonding: fix rtnl locking merge error Looks like I incorrectly merged one of the rtnl lock changes, so that one function, bonding_show_active_slave, held rtnl but didn't release it, and another, bonding_store_active_slave, never held rtnl but did release it. Fixed so the first function doesn't mess with rtnl, and the second correctly acquires and releases rtnl. Bug reported by Moni Shoua Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit a5e68c02fe4d8dff2ff3c5212f9f67082849cc4b Author: Stephen Hemminger Date: Tue Nov 6 11:45:40 2007 -0800 sky2: netpoll on port 0 only Netpoll will only work on port 0 because of the restrictive relationship between NAPI and netpoll. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit bdb3f751cfe6d8d5737a2ff406d7169361b5dfb2 Author: Michael Buesch Date: Wed Nov 7 21:24:07 2007 +0100 b43: Fix kconfig dependencies for rfkill and leds Fix dependencies for built-in b43. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit cd73ba911248ea3620cd201deda58f0b532ce429 Author: Michael Buesch Date: Wed Nov 7 21:21:55 2007 +0100 b43legacy: Fix sparse warning Fix a sparse warning about a nonstatic function. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 9dcb5f477ffa757b7f1817da557905ccae17fc37 Author: Michael Buesch Date: Wed Nov 7 19:08:26 2007 +0100 b43: properly request pcmcia IRQ PCMCIA needs an additional step to request the IRQ. No need to add code to release the IRQ here, as that's done automatically in pcmcia_disable_device(). Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 440cb58a7aa979fabb02a38e55bfe93adde0f41c Author: Stefano Brivio Date: Wed Nov 7 18:33:37 2007 +0100 b43legacy: fix shared IRQ race condition Fix an IRQ race condition in b43legacy. If we call b43legacy_wireless_core_stop(), it will set the status of the device to INITIALIZED and the IRQ handler won't care any longer about IRQs, thus the kernel will disable the IRQ if it's shared (unless we boot it with the 'irqpoll' option). So we must disable IRQs before changing the device status. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit a19d12d742903c745890c1374d64092595571e40 Author: Stefano Brivio Date: Wed Nov 7 18:16:11 2007 +0100 b43: fix shared IRQ race condition Fix an IRQ race condition in b43. If we call b43_stop_wireless_core(), it will set the status of the device to INITIALIZED and the IRQ handler won't care any longer about IRQs, thus the kernel will disable the IRQ if it's shared (unless we boot it with the 'irqpoll' option). So we must disable IRQs before changing the device status. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 2817ef1a5d9010873692f8353f6320ebecf9b837 Author: Stefano Brivio Date: Tue Nov 6 22:48:56 2007 +0100 b43legacy: add me as maintainer and fix URLs As b43legacy is going to be orphaned, add me as a maintainer. Fix URLs for the related website and fix my e-mail address in MAINTAINERS file. Signed-off-by: Stefano Brivio Cc: Larry Finger Signed-off-by: John W. Linville commit 187a9dca3f2f90341e321a3998a5b0c74111f77c Author: Stefano Brivio Date: Tue Nov 6 22:48:36 2007 +0100 b43legacy: fix possible buffer overrun in debugfs Fix possible buffer overrun. The patch to b43 by Michael Buesch has been ported to b43legacy. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 35c7e6602b81bdacb745f04236a419402777139e Author: Michael Buesch Date: Sat Nov 3 14:34:32 2007 +0100 b43: Rewrite and fix rfkill init The rfkill subsystem doesn't like code like that rfkill_allocate(); rfkill_register(); rfkill_unregister(); rfkill_register(); /* <- This will crash */ This sequence happens with modprobe b43 ifconfig wlanX up ifconfig wlanX down ifconfig wlanX up Fix this by always re-allocating the rfkill stuff before register. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 30c4ae42317666f3aeed658cdb8803c84ac6fe77 Author: Michael Buesch Date: Fri Nov 2 18:35:02 2007 +0100 b43: debugfs SHM read buffer overrun fix Fix possible buffer overrun. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 80fda03fc8b5cd09c3e0e90725ef9bcb2a5c7b30 Author: Michael Buesch Date: Sun Oct 28 17:27:10 2007 +0100 b43: Fix rfkill callback deadlock wl->mutex might already be locked on initialization. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit ce2d90591fe69ba19076c5d187dfc88ba3318623 Author: Michael Buesch Date: Tue Nov 6 16:36:41 2007 +0100 b43: pcmcia-host initialization bugfixes Fix the initialization for PCMCIA devices. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit a2a1c3eb4029aa7f17533fe7e9a917a7b3349644 Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Nov 5 23:55:02 2007 +0100 ipw2100: fix postfix decrement errors If i reaches zero, the loop ends, but the postfix decrement subtracts it to -1. Testing for 'i == 0', later in the function, will not fulfill its purpose. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: John W. Linville commit 2493d8e4166fa75ccb8e49fdd000f9ef67e570ae Author: Randy Dunlap Date: Mon Oct 29 11:20:26 2007 -0700 hostap: fix section mismatch warning Fix section mismatch warning: WARNING: vmlinux.o(.data+0x36fcc): Section mismatch: reference to .init.data:prism2_pci_id_table (between 'prism2_pci_drv_id' and 'prism2_pci_funcs') Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit 453a3fb9bd1fa50cdf4b69b9936c69497e870774 Author: Ivo van Doorn Date: Sun Oct 28 14:39:52 2007 +0100 rt2x00: Block adhoc & master mode rt2x00 is broken when it comes down to adhoc and master mode. The main problem is the beaconing, which is completely failing. Untill a solution has been found, both beacon requiring modes must be disabled to prevent numerous bug reports. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 29f5f2a19b055feabfcc6f92e1d40ec092c373ea Author: Marcelo Tosatti Date: Tue Oct 30 10:52:46 2007 -0400 libertas: properly account for queue commands Properly account for queue commands, this fixes a problem reported by Holger Schurig when using the debugfs interface. Signed-off-by: Marcelo Tosatti Signed-off-by: John W. Linville commit 51e6b712b5960cc7d086c3f856434ccd096c63a7 Author: Pierre Ossman Date: Mon Oct 22 19:05:32 2007 +0200 libertas: make if_sdio align packets Incoming packets have to be aligned or the IP stack becomes upset. Make sure to shift them two bytes to achieve this. Signed-off-by: Pierre Ossman Signed-off-by: John W. Linville commit 4ef31702c1a83a380d5e144f5af55e21f59c9bb6 Author: Holger Schurig Date: Tue Oct 9 10:41:57 2007 +0200 libertas: fixes for slow hardware Fixes for slow hardware. Signed-off-by: Vitaly V. Bursov Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 0f39c4ab03f072b13e783858df082877c0110b2b Author: John W. Linville Date: Fri Nov 2 15:36:38 2007 -0400 hermes: clarify Intel reference in Kconfig help The Intel device supported by the hermes driver core is the IPW2011. The "Intel PRO/Wireless" wording suggests the later Centrino devices and may be confusing to some users. Signed-off-by: John W. Linville commit b9d04e2401bf308df921d3bbbdacab40fadc27bb Author: Mark Lord Date: Thu Nov 8 01:03:04 2007 +0100 r8169: revert 7da97ec96a0934319c7fbedd3d38baf533e20640 (partly) Various symptoms depending on the .config options: - the card stops working after some (short) time - the card does not work at all - the card disappears (nothing in lspci/dmesg) A real power-off is needed to recover the card. Signed-off-by: Mark Lord Signed-off-by: Francois Romieu commit 66ec5d4fb1ce6f0bd9df4bc4b758f0916d9f37ab Author: Francois Romieu Date: Tue Nov 6 22:56:10 2007 +0100 r8169: do not enable the TBI for the 8168 and the 81x0 The 8168c and the 8100e choke on it. I have not seen an indication nor received a report that the TBI is being actively used on the remaining 8168b and 8110. Let's disable it for now until someone complains. Signed-off-by: Francois Romieu Cc: Matthias Winkler Cc: Maarten Vanraes Cc: Edward Hsu commit 11d2e28241e89227d88da53187224c84316acc86 Author: Ciaran McCreesh Date: Thu Nov 1 22:48:15 2007 +0100 r8169: add PCI ID for the 8168 in the Abit Fatal1ty F-190HD motherboard Signed-off-by: Ciaran McCreesh Signed-off-by: Francois Romieu Cc: Edward Hsu commit 7c826a0b84f1540d9de54bb0afe4b4520007d791 Author: eric miao Date: Tue Oct 30 09:48:41 2007 +0800 add support for smc91x ethernet interface on zylonite This patch adds LAN91C111 ethernet interface support for zylonite (a.k.a Marvell's PXA3xx Development Platform) with smc91x driver. It would be better if a patch would support zylonite along with all other PXA boards with a single binary of smc91x driver, but it looks quite difficult for the moment, so ugly #ifdef is still used here. Signed-off-by: Aleksey Makarov Acked-by: eric miao Signed-off-by: Jeff Garzik commit 1e354787283c7ec3065406b4bc634309e5ba1253 Author: Stephen Hemminger Date: Mon Nov 5 15:52:14 2007 -0800 sky2: version 1.20 Version update to 1.20 Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit cf06ffb4df5314d240a002e3e1c63722e9362070 Author: Stephen Hemminger Date: Mon Nov 5 15:52:13 2007 -0800 sky2: handle advanced error recovery config issues The PCI AER support may not work for a couple of reasons. It may not be configured into the kernel or there may be a BIOS bug that prevents MMCONFIG from working. If MMCONFIG doesn't work then the PCI registers that control AER will not be accessible via pci_read_config functions; luckly there is another window to access PCI space in the device, so use that. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit ab1a145638addee40587daf12c98ec6a30029f0a Author: Stephen Hemminger Date: Mon Nov 5 15:52:12 2007 -0800 sky2: remove unneeded mask update The IRQ's is already masked on shutdown, and on startup avoid touching PHY until after phy_init(). Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 44388c7ead4b2bae9f82bc0862475640c50f357d Author: Stephen Hemminger Date: Mon Nov 5 15:52:11 2007 -0800 sky2: dont change LED after autoneg Don't need to change LED's after auto negotiation, the chip sets them correctly. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit af043aa54fd45774e61979d1748616c2a67f0da8 Author: Stephen Hemminger Date: Mon Nov 5 15:52:10 2007 -0800 sky2: longer PHY delay Increse phy delay and handle I/O errors. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit ab5adecb2d02f3688719dfb5936a82833fcc3955 Author: Stephen Hemminger Date: Mon Nov 5 15:52:09 2007 -0800 sky2: status ring race fix The D-Link PCI-X board (and maybe others) can lie about status ring entries. It seems it will update the register for last status index before completing the DMA for the ring entry. To avoid reading stale data, zap the old entry and check. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit ac93a3946b676025fa55356180e8321639744b31 Author: Stephen Hemminger Date: Mon Nov 5 15:52:08 2007 -0800 sky2: enable PCI config writes On some boards, PCI configuration space access is turned off by default. The 2.6.24 driver doesn't turn it on, and should have. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 037f6bb79f753c014bc84bca0de9bf98bb5ab169 Author: Matthew Garrett Date: Thu Nov 8 18:37:07 2007 +0000 libata: Don't fail device revalidation for bad _GTF methods Experience suggests that the _GTF method may be bad. We currently fail device revalidation in that case, which seems excessive. Signed-off-by: Matthew Garrett Signed-off-by: Jeff Garzik commit ecd744eec3aa8bbc949ec04ed3fbf7ecb2958a0e Author: Chuck Ebbert <76306.1226@compuserve.com> Date: Wed Nov 7 10:48:39 2007 -0500 x86 - 32-bit ptrace emulation mishandles 6th arg [ jdike - Pushing Chuck's patch - see http://lkml.org/lkml/2005/9/16/261 for some history and a test program. UML is also broken without this patch - its processes get SIGBUS from the corrupt 6th argument to mmap being interpretted as a file offset ] When the 32-bit vDSO is used to make a system call, the %ebp register for the 6th syscall arg has to be loaded from the user stack (where it's pushed by the vDSO user code). The native i386 kernel always does this before stopping for syscall tracing, so %ebp can be seen and modified via ptrace to access the 6th syscall argument. The x86-64 kernel fails to do this, presenting the stack address to ptrace instead. This makes the %rbp value seen by 64-bit ptrace of a 32-bit process, and the %ebp value seen by a 32-bit caller of ptrace, both differ from the native i386 behavior. This patch fixes the problem by putting the word loaded from the user stack into %rbp before calling syscall_trace_enter, and reloading the 6th syscall argument from there afterwards (so ptrace can change it). This makes the behavior match that of i386 kernels. Original-Patch-By: Roland McGrath Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com> Signed-off-by: Jeff Dike Signed-off-by: Thomas Gleixner commit fd181c72a3c202a3986bcee7551c0838265aec2a Author: Roland McGrath Date: Tue Nov 6 15:30:38 2007 -0800 x86_64: ia32 ptrace THREAD_AREA fix The addr argument to PTRACE_GET_THREAD_AREA and PTRACE_SET_THREAD_AREA is not a magic constant. It's derived from the segment register values being used, which are computed originally from the index used with set_thread_area. The value does not need to match what a native i386 kernel would accept. It needs to match the segment selectors that can actually be in use in this 32-bit process. The 64-bit ptrace support for PTRACE_GET_THREAD_AREA (normally used only on 32-bit processes) is correct, but the 32-bit emulation of ptrace is broken. Signed-off-by: Roland McGrath Signed-off-by: Thomas Gleixner commit 1a0c3ea65ca4838a803a14f0ff2bfc78aa69c9a0 Author: Randy Dunlap Date: Sat Nov 10 04:30:36 2007 +0100 voyager: use struct instead of PARAM Use struct boot_params instead of PARAM + 0xoffsets. Fixes one of many Voyager build problems. arch/x86/kernel/setup_32.c:543: error: 'PARAM' undeclared (first use in this function) Signed-off-by: Randy Dunlap Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3c5fd9c77d609b51c0bab682c9d40cbb496ec6f1 Author: David Miller Date: Tue Nov 6 21:13:56 2007 -0800 [FUTEX] Fix address computation in compat code. compat_exit_robust_list() computes a pointer to the futex entry in userspace as follows: (void __user *)entry + futex_offset 'entry' is a 'struct robust_list __user *', and 'futex_offset' is a 'compat_long_t' (typically a 's32'). Things explode if the 32-bit sign bit is set in futex_offset. Type promotion sign extends futex_offset to a 64-bit value before adding it to 'entry'. This triggered a problem on sparc64 running 32-bit applications which would lock up a cpu looping forever in the fault handling for the userspace load in handle_futex_death(). Compat userspace runs with address masking (wherein the cpu zeros out the top 32-bits of every effective address given to a memory operation instruction) so the sparc64 fault handler accounts for this by zero'ing out the top 32-bits of the fault address too. Since the kernel properly uses the compat_uptr interfaces, kernel side accesses to compat userspace work too since they will only use addresses with the top 32-bit clear. Because of this compat futex layer bug we get into the following loop when executing the get_user() load near the top of handle_futex_death(): 1) load from address '0xfffffffff7f16bd8', FAULT 2) fault handler clears upper 32-bits, processes fault for address '0xf7f16bd8' which succeeds 3) goto #1 I want to thank Bernd Zeimetz, Josip Rodin, and Fabio Massimo Di Nitto for their tireless efforts helping me track down this bug. Signed-off-by: David S. Miller Signed-off-by: Linus Torvalds commit 9b8f5f573770f33b28c45255ac82e6457278c782 Author: Jeff Layton Date: Fri Nov 9 23:25:04 2007 +0000 [CIFS] fix oops on second mount to same server when null auth is used When a share is mounted using no username, cifs_mount sets volume_info.username as a NULL pointer, and the sesInfo userName as an empty string. The volume_info.username is passed to a couple of other functions to see if there is an existing unc or tcp connection that can be used. These functions assume that the username will be a valid string that can be passed to strncmp. If the pointer is NULL, then the kernel will oops if there's an existing session to which the string can be compared. This patch changes cifs_mount to set volume_info.username to an empty string in this situation, which prevents the oops and should make it so that the comparison to other null auth sessions match. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit b2f051ae390432789f2b02fe451aa23ae2698e3d Author: Alan Cox Date: Wed Nov 7 16:53:00 2007 +0000 frv: Remove bogus NO_IRQ = -1 define The old NO_IRQ define some platforms had was long ago declared obsolete and wrong. FRV should therefore not be re-introducing this, especially as IRQs are usually unsigned in the kernel. The "no IRQ" case is defined to be zero and Linus made this rather clear at the time. arch/frv shows no dependancy on this but it might show up driver fixes needing doing I guess Signed-off-by: Alan Cox Acked-by: David Howells Signed-off-by: Linus Torvalds commit e4fc5a1a2acab67867c9858cd4c8e9abb5b242f7 Author: David Howells Date: Tue Nov 6 21:54:44 2007 +0000 FRV: Remove the section annotation on free_initmem() Remove the section annotation on FRV's free_initmem(). It can't be marked __init, lest it free itself. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit e6fe6649b4ec11aa3075e394b4d8743eebe1f64c Author: Adrian Bunk Date: Fri Nov 9 22:39:39 2007 +0100 sched: proper prototype for kernel/sched.c:migration_init() This patch adds a proper prototype for migration_init() in include/linux/sched.h Since there's no point in always returning 0 to a caller that doesn't check the return value it also changes the function to return void. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit b82d9fdd848abfbe7263a4ecd9bbb55e575100a6 Author: Peter Zijlstra Date: Fri Nov 9 22:39:39 2007 +0100 sched: avoid large irq-latencies in smp-balancing SMP balancing is done with IRQs disabled and can iterate the full rq. When rqs are large this can cause large irq-latencies. Limit the nr of iterations on each run. This fixes a scheduling latency regression reported by the -rt folks. Signed-off-by: Peter Zijlstra Acked-by: Steven Rostedt Tested-by: Gregory Haskins Signed-off-by: Ingo Molnar commit 3c90e6e99b08f01d5684a3a07cceae6a543e4fa8 Author: Srivatsa Vaddagiri Date: Fri Nov 9 22:39:39 2007 +0100 sched: fix copy_namespace() <-> sched_fork() dependency in do_fork Sukadev Bhattiprolu reported a kernel crash with control groups. There are couple of problems discovered by Suka's test: - The test requires the cgroup filesystem to be mounted with atleast the cpu and ns options (i.e both namespace and cpu controllers are active in the same hierarchy). # mkdir /dev/cpuctl # mount -t cgroup -ocpu,ns none cpuctl (or simply) # mount -t cgroup none cpuctl -> Will activate all controllers in same hierarchy. - The test invokes clone() with CLONE_NEWNS set. This causes a a new child to be created, also a new group (do_fork->copy_namespaces->ns_cgroup_clone-> cgroup_clone) and the child is attached to the new group (cgroup_clone-> attach_task->sched_move_task). At this point in time, the child's scheduler related fields are uninitialized (including its on_rq field, which it has inherited from parent). As a result sched_move_task thinks its on runqueue, when it isn't. As a solution to this problem, I moved sched_fork() call, which initializes scheduler related fields on a new task, before copy_namespaces(). I am not sure though whether moving up will cause other side-effects. Do you see any issue? - The second problem exposed by this test is that task_new_fair() assumes that parent and child will be part of the same group (which needn't be as this test shows). As a result, cfs_rq->curr can be NULL for the child. The solution is to test for curr pointer being NULL in task_new_fair(). With the patch below, I could run ns_exec() fine w/o a crash. Reported-by: Sukadev Bhattiprolu Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Ingo Molnar commit 502d26b524d8980f3ed80d9aec398e85671a8160 Author: Ingo Molnar Date: Fri Nov 9 22:39:39 2007 +0100 sched: clean up the wakeup preempt check, #2 clean up the preemption check to not use unnecessary 64-bit variables. This improves code size: text data bss dec hex filename 44227 3326 36 47589 b9e5 sched.o.before 44201 3326 36 47563 b9cb sched.o.after Signed-off-by: Ingo Molnar commit 77d9cc44b543fa831169e54c495ad06ef3a0c726 Author: Ingo Molnar Date: Fri Nov 9 22:39:39 2007 +0100 sched: clean up the wakeup preempt check clean up the wakeup preemption check. No code changed: text data bss dec hex filename 44227 3326 36 47589 b9e5 sched.o.before 44227 3326 36 47589 b9e5 sched.o.after Signed-off-by: Ingo Molnar commit 8bc6767acb3236e0345e99cf198168e60e7ae456 Author: Ingo Molnar Date: Fri Nov 9 22:39:39 2007 +0100 sched: wakeup preemption fix wakeup preemption fix: do not make it dependent on p->prio. Preemption purely depends on ->vruntime. This improves preemption in mixed-nice-level workloads. Signed-off-by: Ingo Molnar commit 3e3e13f399ac8060a20d14d210a28dc02dda372e Author: Ingo Molnar Date: Fri Nov 9 22:39:39 2007 +0100 sched: remove PREEMPT_RESTRICT remove PREEMPT_RESTRICT. (this is a separate commit so that any regression related to the removal itself is bisectable) Signed-off-by: Ingo Molnar commit 52d3da1ad4f442cec877fbeb83902707b56da0cf Author: Ingo Molnar Date: Fri Nov 9 22:39:39 2007 +0100 sched: turn off PREEMPT_RESTRICT PREEMPT_RESTRICT was a method aimed at reducing the amount of wakeup related preemption. It has a disadvantage though, it can prevent legitimate wakeups if a task is 'unlucky' to be hit too early by a tick that clears peer_preempt. Now that the wakeup preemption has been cleaned up we dont seem to have excessive preemptions anymore, so this feature can be turned off. (and removed in the next patch) Signed-off-by: Ingo Molnar commit a5fbb6d1064be885d2a6b82f625186753cf74848 Author: Ingo Molnar Date: Fri Nov 9 22:39:38 2007 +0100 KVM: fix !SMP build error fix a !SMP build error: drivers/kvm/kvm_main.c: In function 'kvm_flush_remote_tlbs': drivers/kvm/kvm_main.c:220: error: implicit declaration of function 'smp_call_function_mask' (and also avoid unused function warning related to up_smp_call_function() not making use of the 'func' parameter.) Signed-off-by: Ingo Molnar commit 0492007ed9b53f6a2a2f983910d0fe7c97b09822 Author: Ingo Molnar Date: Fri Nov 9 22:39:38 2007 +0100 x86: make nmi_cpu_busy() always defined nmi_cpu_busy() must be available on !SMP too. this is in preparation to a smp_call_function_mask() fix. Signed-off-by: Ingo Molnar commit 4e2947f12516d13446d6ffa1d9e4fbd33b1636fa Author: Ingo Molnar Date: Fri Nov 9 22:39:38 2007 +0100 x86: make ipi_handler() always defined prepare for up_smp_call_function() to ensure that the 'func' pointer is unused. (which is related to a KVM build fix) Signed-off-by: Ingo Molnar commit d6322faf296ab5bbb597f8b0abcb50153754cd08 Author: Eric Dumazet Date: Fri Nov 9 22:39:38 2007 +0100 sched: cleanup, use NSEC_PER_MSEC and NSEC_PER_SEC 1) hardcoded 1000000000 value is used five times in places where NSEC_PER_SEC might be more readable. 2) A conversion from nsec to msec uses the hardcoded 1000000 value, which is a candidate for NSEC_PER_MSEC. no code changed: text data bss dec hex filename 44359 3326 36 47721 ba69 sched.o.before 44359 3326 36 47721 ba69 sched.o.after Signed-off-by: Eric Dumazet Signed-off-by: Ingo Molnar commit 19978ca610946ed57c071bad63f8f6642ca1298b Author: Ingo Molnar Date: Fri Nov 9 22:39:38 2007 +0100 sched: reintroduce SMP tunings again Yanmin Zhang reported an aim7 regression and bisected it down to: | commit 38ad464d410dadceda1563f36bdb0be7fe4c8938 | Author: Ingo Molnar | Date: Mon Oct 15 17:00:02 2007 +0200 | | sched: uniform tunings | | use the same defaults on both UP and SMP. fix this by reintroducing similar SMP tunings again. This resolves the regression. (also update the comments to match the ilog2(nr_cpus) tuning effect) Signed-off-by: Ingo Molnar commit fa13a5a1f25f671d084d8884be96fc48d9b68275 Author: Paul Mackerras Date: Fri Nov 9 22:39:38 2007 +0100 sched: restore deterministic CPU accounting on powerpc Since powerpc started using CONFIG_GENERIC_CLOCKEVENTS, the deterministic CPU accounting (CONFIG_VIRT_CPU_ACCOUNTING) has been broken on powerpc, because we end up counting user time twice: once in timer_interrupt() and once in update_process_times(). This fixes the problem by pulling the code in update_process_times that updates utime and stime into a separate function called account_process_tick. If CONFIG_VIRT_CPU_ACCOUNTING is not defined, there is a version of account_process_tick in kernel/timer.c that simply accounts a whole tick to either utime or stime as before. If CONFIG_VIRT_CPU_ACCOUNTING is defined, then arch code gets to implement account_process_tick. This also lets us simplify the s390 code a bit; it means that the s390 timer interrupt can now call update_process_times even when CONFIG_VIRT_CPU_ACCOUNTING is turned on, and can just implement a suitable account_process_tick(). account_process_tick() now takes the task_struct * as an argument. Tested both with and without CONFIG_VIRT_CPU_ACCOUNTING. Signed-off-by: Paul Mackerras Signed-off-by: Ingo Molnar commit 9a41785cc43d88397f787a651ed7286a33f8462f Author: Balbir Singh Date: Fri Nov 9 22:39:37 2007 +0100 sched: fix delay accounting regression Fix the delay accounting regression introduced by commit 75d4ef16a6aa84f708188bada182315f80aab6fa. rq no longer has sched_info data associated with it. task_struct sched_info structure is used by delay accounting to provide back statistics to user space. also remove direct use of sched_clock() (which is not a valid thing to do anymore) and use rq->clock instead. Signed-off-by: Balbir Singh Signed-off-by: Ingo Molnar commit b2be5e96dc0b5a179cf4cb98e65cfb605752ca26 Author: Peter Zijlstra Date: Fri Nov 9 22:39:37 2007 +0100 sched: reintroduce the sched_min_granularity tunable we lost the sched_min_granularity tunable to a clever optimization that uses the sched_latency/min_granularity ratio - but the ratio is quite unintuitive to users and can also crash the kernel if the ratio is set to 0. So reintroduce the min_granularity tunable, while keeping the ratio maintained internally. no functionality changed. [ mingo@elte.hu: some fixlets. ] Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 2cb8600e6be4281e381d39e44de4359e46333e23 Author: Peter Zijlstra Date: Fri Nov 9 22:39:37 2007 +0100 sched: documentation: place_entity() comments Add a few comments to place_entity(). No code changed. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 10b777246c6953100099af1870d35c8b24d49b12 Author: Peter Zijlstra Date: Fri Nov 9 22:39:37 2007 +0100 sched: fix vslice vslice was missing a factor NICE_0_LOAD, as weight is in weight*NICE_0_LOAD units. the effect of this bug was larger initial slices and thus latency-noisier forks. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 7f6ff62a8f3a4e68258958196098c6f71563ae61 Author: George Beshers Date: Thu Oct 11 15:33:55 2007 -0400 [IA64] IOSAPIC bogus error cleanup On Altix (sn2) machines the "Error parsing MADT" message is misleading because the lack of IOSAPIC entries is expected. Since I am sure someone will ask, I have been told that the chance of this changing anytime soon is close to nil. Signed-off-by: George Beshers Signed-off-by: Tony Luck commit b8de471f37dcafc8892a2e58c80764d7af221715 Author: Russ Anderson Date: Tue Oct 16 17:02:38 2007 -0500 [IA64] Update printing of feature set bits Newer Itanium versions have added additional processor feature set bits. This patch prints all the implemented feature set bits. Some bit descriptions have not been made public. For those bits, a generic "Feature set X bit Y" message is printed. Bits that are not implemented will no longer be printed. Signed-off-by: Russ Anderson Signed-off-by: Tony Luck commit c9d059def234d7cd60809a6a122102ff96d2d0ca Author: Kenji Kaneshige Date: Wed Nov 7 15:38:30 2007 +0900 [IA64] Fix IOSAPIC delivery mode setting Fix the problem that redirect hit bit in I/O SAPIC RTE is set even when it must be disabled (e.g. nointroute boot option is set, CPU hotplug is enabled or percpu vector is enabled). Signed-off-by: Kenji Kaneshige Signed-off-by: Tony Luck commit 4c013f5c7ea39cd62e02c80408560751b4e8c0de Author: Dean Nelson Date: Wed Nov 7 07:53:06 2007 -0600 [IA64] XPC heartbeat timer function must run on CPU 0 Currently, XPC's heartbeat timer function runs on whatever CPU modprobe/insmod ran on when XPC was started. To avoid the heartbeat from being delayed for long periods the timer function must run on CPU 0. N.B. Altix doesn't currently allow cpu0 to be taken offline, so this is safe for now. This code must be revised when offline of cpu0 is enabled. Signed-off-by: Dean Nelson Signed-off-by: Tony Luck commit 7d54dc6876b83d6bb75b8f7e865b7b9051056d22 Author: Vlad Yasevich Date: Fri Nov 9 11:43:41 2007 -0500 SCTP: Always flush the queue when uncorcking. When the code calls uncork, trigger a queue flush, even if the queue was not corked. Most callers that explicitely cork the queue will have additinal checks to see if they corked it. Callers who do not cork the queue expect packets to flow when they call uncork. The scneario that showcased this bug happend when we were not able to bundle DATA with outgoing COOKIE-ECHO. As a result the data just sat in the outqueue and did not get transmitted. The application expected a response, but nothing happened. Signed-off-by: Vlad Yasevich commit fa7ff654e14ccacd4e758c9878ff4884f816c877 Author: Vlad Yasevich Date: Fri Nov 9 11:43:41 2007 -0500 SCTP: Clean-up some defines for regressions tests. Signed-off-by: Vlad Yasevich commit cd3ae8e61570b55e32864c5f9e50085aa67126e9 Author: Vlad Yasevich Date: Fri Nov 9 11:43:41 2007 -0500 SCTP: Fix PR-SCTP to deliver all the accumulated ordered chunks There is a small bug when we process a FWD-TSN. We'll deliver anything upto the current next expected SSN. However, if the next expected is already in the queue, it will take another chunk to trigger its delivery. The fix is to simply check the current queued SSN is the next expected one. Signed-off-by: Vlad Yasevich commit 7ab9080467040054e27ae54d67cc185f24d881ae Author: Vlad Yasevich Date: Fri Nov 9 11:43:41 2007 -0500 SCTP: Make sctp_verify_param return multiple indications. SCTP-AUTH and future ADD-IP updates have a requirement to do additional verification of parameters and an ability to ABORT the association if verification fails. So, introduce additional return code so that we can clear signal a required action. Signed-off-by: Vlad Yasevich commit d970dbf8455eb1b8cebd3cde6e18f73dd1b3ce38 Author: Vlad Yasevich Date: Fri Nov 9 11:43:40 2007 -0500 SCTP: Convert custom hash lists to use hlist. Convert the custom hash list traversals to use hlist functions. Signed-off-by: Vlad Yasevich commit 123ed979eaa8de0dd2422862d247469eda0bd645 Author: Vlad Yasevich Date: Fri Nov 9 11:41:36 2007 -0500 SCTP: Use hashed lookup when looking for an association. A SCTP endpoint may have a lot of associations on them and walking the list is fairly inefficient. Instead, use a hashed lookup, and filter out the hash list based on the endopoing we already have. Signed-off-by: Vlad Yasevich commit 2ad8b1ef11c98c5603580878aebf9f1bc74129e4 Author: Alan D. Brunelle Date: Wed Nov 7 14:26:56 2007 -0500 Add UNPLUG traces to all appropriate places Added blk_unplug interface, allowing all invocations of unplugs to result in a generated blktrace UNPLUG. Signed-off-by: Alan D. Brunelle Signed-off-by: Jens Axboe commit d85532ed284e63b5c56eaf2418f262822af60be4 Author: Jens Axboe Date: Fri Nov 9 12:52:45 2007 +0100 block: fix requeue handling in blk_queue_invalidate_tags() Credit goes to juergen.kadidlo@exasol.com for diagnosing this issue and supplying the initial patch. blk_queue_invalidate_tags() must use the proper requeueing paths instead of open coding the re-add of the request, otherwise we bug out in rq accounting. Just switch to using blk_requeue_request(), that takes care of end-tag handling as well and also adds the blktrace REQUEUE notify event that is also appropriate here. Signed-off-by: Jens Axboe commit 725fb29fd4bcda958b32f4479ad9934117c22019 Author: Kumar Gala Date: Fri Nov 9 03:51:14 2007 -0600 [POWERPC] Fix oops related to 4xx flush_tlb_page modification kmap_atomic calls flush_tlb_page with a NULL VMA and thus we end up dereferencing a NULL pointer to try and get the context.id. If the VMA is null use the global pid value of 0. Signed-off-by: Kumar Gala commit 4c011b1fb853776459c7d3d7de7b14fa41f28c46 Author: Scott Wood Date: Fri Oct 12 15:19:11 2007 -0500 [POWERPC] cpm: Fix a couple minor issues in cpm_common.c. A debugging printk is removed, and a comment is fixed to match the code. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 0197cd2e350a7151080e7335577e956f1f84a8cb Author: Kumar Gala Date: Thu Oct 18 16:53:19 2007 -0500 [POWERPC] Add -mno-spe for ARCH=powerpc builds Newer GCC's are capable of autovectorization for ISA extensions like AltiVec and SPE. If we happen to build with one of those compilers we will get SPE instructions in random kernel code. Today we only allow basic interger code in the kernel and FP, AltiVec, or SPE in special explicit locations that have handled the proper saving and restoring of the register state (since on uniprocessor we lazy context switch the register state for FP, AltiVec, and SPE). -mno-spe disables the compiler for automatically generating SPE instructions without our knowledge. Signed-off-by: Kumar Gala commit 91bc51d8a10b00d8233dd5b6f07d7eb40828b87d Author: Russell King Date: Thu Nov 8 23:35:46 2007 +0000 [ARM] pxa: fix one-shot timer mode One-shot timer mode on PXA has various bugs which prevent kernels build with NO_HZ enabled booting. They end up spinning on a permanently asserted timer interrupt because we don't properly clear it down - clearing the OIER bit does not stop the pending interrupt status. Fix this in the set_mode handler as well. Moreover, the code which sets the next expiry point may race with the hardware, and we might not set the match register sufficiently in the future. If we encounter that situation, return -ETIME so the generic time code retries. Acked-by: Thomas Gleixner Acked-by: Nicolas Pitre Signed-off-by: Russell King commit c2ec21c5c8f15c079c209f403d582f3134785060 Author: Jan Rinze Date: Thu Nov 8 21:51:05 2007 +0100 [ARM] 4645/1: Cyberpro: Trivial fix to restore 16bpp mode. Cyberpro: when user requests 16bpp, use it and not 24bpp. There was a missing break causing requests for 16bpp mode to end up in 24bpp mode. Signed-off-by: Jan Rinze Peterzon Acked-by: Ralph Siemsen Signed-off-by: Russell King commit a6f8de3d9b124c95893054fd2a78bc7be5bb9000 Author: Steve French Date: Thu Nov 8 23:10:32 2007 +0000 [CIFS] Fix stale mode after readdir when cifsacl specified When mounted with cifsacl mount option, readdir can not instantiate the inode with the estimated mode based on the ACL for each file since we have not queried for the ACL for each of these files yet. So set the refresh time to zero for these inodes so that the next stat will cause the client to go to the server for the ACL info so we can build the estimated mode (this means we also will issue an extra QueryPathInfo if the stat happens within 1 second, but this is trivial compared to the time required to open/getacl/close for each). ls -l is slower when cifsacl mount option is specified, but displays correct mode information. Signed-off-by: Shirish Pargaonkar Signed-off-by: Steve French commit ce06c9f025120dbb2978d9b84641d76c25f17902 Author: Steve French Date: Thu Nov 8 21:12:01 2007 +0000 [CIFS] add mode to acl conversion helper function Acked-by: Shirish Pargaonkar Signed-off-by: Steve French commit 3d9144c222ee52c924a96781163f5d6f6b93858a Author: Jiri Olsa Date: Fri Nov 9 04:45:29 2007 +0900 sh: remove dead config symbols from SH code Signed-off-by: Jiri Olsa Signed-off-by: Paul Mundt commit 32ebbc0c0d5d18c0135b55d1eb0029f48c54aff0 Author: Tejun Heo Date: Thu Nov 8 13:09:00 2007 +0900 libata: port and host should be stopped before hardware resources are released Port / host stop calls used to be made from ata_host_release() which is called after all hardware resources acquired after host allocation are released. This is wrong as port and host stop routines often access the hardware. Add separate devres for port / host stop which is invoked right after IRQ is released but with all other hardware resources intact. The devres is added iff ->host_stop and/or ->port_stop exist. This problem has been spotted by Mark Lord. Signed-off-by: Tejun Heo Cc: Mark Lord Signed-off-by: Jeff Garzik commit 1974e20161a2c097c481d2ff711de7db56cb2cd6 Author: Tejun Heo Date: Thu Nov 8 11:20:18 2007 +0900 libata: skip 0xff polling for PATA controllers In a presentation of true workmanship, pata_ali asserts IRQ permanantly if the TF status register is read more than once when there's no device attached to the port. Avoid waiting polling for !0xff if it's PATA. It's needed only for some rare SATA devices anyway. This problem is reported by Luca Tettamanti in bugzilla bug 9298. Signed-off-by: Tejun Heo Tested-By: Luca Tettamanti Signed-off-by: Jeff Garzik commit f7fc0ceb4d72ea5c40d50053b68ebecfbd0cc38c Author: Paul Mundt Date: Thu Nov 8 11:15:21 2007 +0900 libata: pata_platform: Support polling-mode configuration. Some SH boards (old R2D-1 boards) have generally not had working CF under libata, due to both buswidth issues (handled by Aoi Shinkai in 43f4b8c7578b928892b6f01d374346ae14e5eb70), and buggy interrupt controllers. For these sorts of boards simply disabling the IRQ and polling ends up working fine. This conditionalizes the IRQ resource for pata_platform and lets platforms that want to use polling mode simply omit the resource entirely. Signed-off-by: Paul Mundt Signed-off-by: Jeff Garzik commit 3d46b2e2faa56d12c6d51bf1071fd11abd009d0b Author: Paul Mundt Date: Thu Nov 8 11:14:56 2007 +0900 libata: Support PIO polling-only hosts. By default ata_host_activate() expects a valid IRQ in order to successfully register the host. This patch enables a special case for registering polling-only hosts that either don't have IRQs or have buggy IRQ generation (either in terms of handling or sensing), which otherwise work fine. Hosts that want to use polling mode can simply set ATA_FLAG_PIO_POLLING and pass in an invalid IRQ. Signed-off-by: Paul Mundt Signed-off-by: Jeff Garzik commit 6004bda1cce51273ac9e71a39e680831b9ff4503 Author: Mark Lord Date: Wed Nov 7 10:54:15 2007 -0500 libata sata_qstor conversion to new error handling (EH). sata_qstor conversion to new error handling (EH). Convert sata_qstor to use the newer libata EH mechanisms. Based on earlier work by Jeff Garzik. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 904c7bad994e6e7f9997174e0b33fcc521862136 Author: Mark Lord Date: Wed Nov 7 10:53:41 2007 -0500 libata sata_qstor workaround for spurious interrupts sata_qstor workaround for spurious interrupts. The qstor hardware generates spurious interrupts from time to time when switching in and out of packet mode. These eventually result in the IRQ being disabled, which kills other devices sharing this IRQ with us. This workaround isn't perfect, but it's about the best we can do for this hardware. Spurious interrupts will still happen, but won't be logged as such, and therefore won't cause the IRQ to be inadvertently disabled. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 12ee7d3ceb08e9ab99a6c17c5c6a387645a32658 Author: Mark Lord Date: Wed Nov 7 10:52:55 2007 -0500 libata sata_qstor nuke idle state sata_qstor nuke idle state. We're really only ever in one of two hardware states: packet, or mmio. Get rid of unnecessary "qs_state_idle" state. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 647c595dadb20d2c46e18bbd8d2a11e32f2a46e1 Author: Fernando Luis Vázquez Cao Date: Wed Nov 7 16:33:49 2007 +0900 nv_hardreset: update dangling reference to bugzilla entry Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Jeff Garzik commit 62320e23c35077e8bc77184e8850d3f45441364b Author: Yann Chachkoff Date: Wed Nov 7 12:02:27 2007 +0900 ata_piix: add SATELLITE PRO U200 to broken suspend list Please warmly welcome the PRO variant of Satellite U200 to the broken suspend list. Original patch is from Yann Chachkoff. Patch reformatted and forwarded by Tejun Heo. Signed-off-by: Yann Chachkoff Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 15b0395911eb45a0834755f0d9e84570644a8c22 Author: Steve French Date: Thu Nov 8 17:57:40 2007 +0000 [CIFS] Fix incorrect mode when ACL had deny access control entries When mounted with the cifsacl mount option, we were treating any deny ACEs found like allow ACEs and it turns out for SFU and SUA Windows set these type of access control entries often. The order of ACEs is important too. The canonical order that most ACL tools and Windows explorer consruct ACLs with is to begin with DENY entries then follow with ALLOW, otherwise an allow entry could be encountered first, making the subsequent deny entry like "dead code which would be superflous since Windows stops when a match is made for the operation you are trying to perform for your user We start with no permissions in the mode and build up as we find permissions (ie allow ACEs). This fixes deny ACEs so they affect the mask used to set the subsequent allow ACEs. Acked-by: Shirish Pargaonkar CC: Alexander Bokovoy Signed-off-by: Steve French commit 9eae8a8903c3d90283d338fad2cc58f2eb90adcb Author: Igor Mammedov Date: Thu Nov 8 16:13:31 2007 +0000 [CIFS] Add uid to key description so krb can handle user mounts Adds uid to key description fro supporting user mounts and minor formating changes Acked-by: Jeff Layton Signed-off-by: Igor Mammedov Signed-off-by: Steve French commit 59a030a9b7a1bab5bdae57d469583e611759e90b Author: Darrick J. Wong Date: Fri Oct 26 11:55:11 2007 -0700 hwmon: (i5k_amb) Convert macros to C functions akpm objected to some of the macros, so convert them into functions. Signed-off-by: Darrick J. Wong Signed-off-by: Mark M. Hoffman commit 7768aa76966f06c4add6ac2b0ef397ff34f3dab0 Author: Jean Delvare Date: Thu Oct 25 13:11:01 2007 +0200 hwmon: (w83781d) Add missing curly braces Missing curly braces cause an if statement to be evaluated when it shouldn't. It happens to be harmless, but that's still worth fixing. Thanks to Riku Voipio for reporting. Signed-off-by: Jean Delvare Acked-By: Riku Voipio Signed-off-by: Mark M. Hoffman commit dcbd9f68aea41d22d5bd37468409da33151b4202 Author: Hans de Goede Date: Wed Oct 24 14:33:18 2007 +0200 hwmon: (abituguru3) Identify ABit IP35 Pro as such This patch changes the identification string for motherboards with an id of 0x001A from unknown to "Abit IP35 Pro". Thanks to James Scott who has an Abit IP35 Pro. Signed-off-by: Hans de Goede Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 76e83bef15a11413e9f3da986c6e869a8192675e Author: Riku Voipio Date: Fri Oct 26 14:14:23 2007 +0300 hwmon: (f75375s) pwmX_mode sysfs files writable for f75375 variant Fix value check in set_pwm_mode(). Instead of checking for chip variant there, make pwmX_mode sysfs nodes only writable on f75375 variant. Signed-off-by: Riku Voipio Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 9aa69338924266ca0b1aceb0ab943e8842449b0a Author: Riku Voipio Date: Tue Oct 16 13:08:57 2007 +0300 hwmon: (f75375s) On n2100 systems, set fans to full speed on boot On thecus n2100, the bootloader does not setup fans to run. In order to protect the user from frying their gear, start up fans on boot. Signed-off-by: Riku Voipio Acked-by: Lennert Buytenhek Signed-off-by: Mark M. Hoffman commit ff312d07c2e1b1482fcc139b8af67ca39e9e98f0 Author: Riku Voipio Date: Wed Sep 26 13:14:40 2007 +0300 hwmon: (f75375s) Allow setting up fans with platform_data Allow initializing fans on systems where BIOS does not do that by default. - define f75375s_platform_data in new file f75375s.h - if platform_data was provided, set fans accordingly in f75375_init() - split set_pwm_enable() to a sysfs callback and directly usable set_pwm_enable_direct() Signed-off-by: Riku Voipio Signed-off-by: Mark M. Hoffman commit 620c142db20477149bf04c7e8e8fde70d608e8c7 Author: Riku Voipio Date: Tue Oct 16 12:46:49 2007 +0300 hwmon: (f75375s) Add new style bindings Following the example of David Brownell's work on lm75: - Create a second driver struct, using new-style driver binding methods. - Rename the old driver struct as f75375_legacy_driver. - Make the legacy bind/unbind logic delegate all its work. Signed-off-by: Riku Voipio Signed-off-by: Mark M. Hoffman commit 4bfe66048e97d29ab229519e9a821dbd4d929bd9 Author: Matthias Kaehlcke Date: Wed Oct 24 14:59:09 2007 +0200 hwmon: (lm70) Convert semaphore to mutex Signed-off-by: Matthias Kaehlcke Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 8de577095d65e8a51135793bf48c7be6c6c5bc77 Author: René Rebe Date: Tue Oct 16 14:19:20 2007 -0700 hwmon: (applesmc) Add support for Mac Pro 2 x Quad-Core At least the 2x Quad-Core Apple Mac Pro appears to have some over-heat protection which suddenly powers off the whole box under load. This adds support for the fans and temerature sensors in the Mac Pro - later some "windwarm" a-like code should probably monitor the values. For now manually tweaking the fans prevents the sudden shutdown for me. cd /sys/devices/platform/applesmc.768 for x in fan{1,2,3,4}; do echo 1 > ${x}_manual echo 1285 > ${x}_output done Two sensors are 0, while four are 129 °C, those might be removed again, later. Signed-off-by: René Rebe Cc: Nicolas Boichat Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Mark M. Hoffman commit ff8966acb9d6bacdbb8971762bbd3ba6480f6077 Author: Hans de Goede Date: Sun Oct 21 00:55:35 2007 +0200 hwmon: (abituguru3) Add support for 2 new motherboards Signed-of-by: Hans de Goede Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 2ecb044e8d53245b7e987b30126c54a27db3bf7e Author: Darrick J. Wong Date: Fri Oct 19 16:35:07 2007 -0700 hwmon: (ibmpex) Change printk to dev_{info,err} macros Clean up printk use in ibmpex. Signed-off-by: Darrick J. Wong Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 298c752491f5bd8f6b04dd7fc40b53da4e86e093 Author: Darrick J. Wong Date: Thu Oct 18 13:22:43 2007 -0700 hwmon: (i5k_amb) New memory temperature sensor driver New driver to read FB-DIMM temperature sensors on systems with the Intel 5000 series chipsets. Signed-off-by: Darrick J. Wong Signed-off-by: Mark M. Hoffman commit 19e4f3a616ce1753a21b1125fd1923ea6273cd0d Author: Riku Voipio Date: Thu Oct 18 09:29:53 2007 -0400 hwmon: (f75375s) fix pwm mode setting Spotted by the Coverity checker. (Thanks Adrian Bunk) Signed-off-by: Riku Voipio Signed-off-by: Mark M. Hoffman commit 9be484446cf15b8d935ef493c59a9b059c0cbb71 Author: Adrian Bunk Date: Wed Oct 17 21:29:02 2007 +0200 hwmon: (ibmpex.c) fix NULL dereference Don't dereference "data" when we know for sure it's NULL. Spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Mark M. Hoffman commit 76e63860daedb302bddd707a765411c902d936bd Author: Ivo Manca Date: Mon Oct 15 13:27:13 2007 +0200 hwmon: (sis5595) Split sis5595_attributes_opt Use sysfs_create_group instead of individual calls to device_create_file by splitting sis5595_attributes_opt into sis5595_attributes_in4 and sis5595_attributes_temp1. Signed-off-by: Ivo Manca Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 5c726b3ba0d6692253a09d88c701f0c4b45ca248 Author: Ivo Manca Date: Mon Oct 15 20:50:53 2007 +0200 hwmon: (sis5595) Add individual alarm files Add individual alarm files needed by the new libsensors. Signed-off-by: Ivo Manca Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 2ca2fcd124c00a5e733fb0206ef106fade9a76a4 Author: Jim Cromie Date: Sun Oct 14 17:20:50 2007 -0600 hwmon: (w83627hf) push nr+1 offset into *_REG_FAN macros and simplify patch changes 2 macros to incorporate the +1, and drops the +1 from all the callers. This also allows a 'reroll' of an expanded loop, and adjusting indexes and loop limits on another. Signed-off-by: Jim Cromie Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit df48ed804f44a040e990976b537efc1e133c74d8 Author: Jim Cromie Date: Sun Oct 14 17:10:52 2007 -0600 hwmon: (w83627hf) hoist nr-1 offset out of show-store-temp-X This hoists nr-1 offset out of (show|store)_temp_*(.*) callbacks, and into SENSOR_DEVICE_ATTRs for sysfs tempN_X files. It also combines temp[1] and temp_add[2] (array) fields in w83627hf_data into 3 elem arrays, which simplifies special-case handling of nr, allowing simplification of callback bodies and rerolling a flattened loop in w83627hf_update_device(struct device *dev). The array conversion changes temp[1] from u8 to u16, but this was happening implicitly via the helper functions anyway. Signed-off-by: Jim Cromie Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 38fb56a223be9ec860e69e723d32c95fd70ad0b8 Author: Darrick J. Wong Date: Tue Oct 9 13:39:24 2007 -0700 hwmon: Add power meter spec to Documentation/hwmon/sysfs-interface Update the hwmon sysfs interface documentation to include a specification for power meters. Signed-off-by: Darrick J. Wong Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit ef19454bd437b2ba14c9cda1de85debd9f383484 Author: Benny Halevy Date: Thu Nov 8 21:34:09 2007 +0800 [LIB] crc32c: Keep intermediate crc state in cpu order crypto/crc32.c:chksum_final() is computing the digest as *(__le32 *)out = ~cpu_to_le32(mctx->crc); so the low-level crc32c_le routines should just keep the crc in cpu order, otherwise it is getting swabbed one too many times on big-endian machines. Signed-off-by: Benny Halevy Signed-off-by: Herbert Xu commit 8578007065bd27ec077a74b5814f0fe4df040180 Author: Roland Dreier Date: Thu Nov 8 13:50:58 2007 +0100 mmc: Fix sg helper copy-and-paste error Commit 45711f1a ("[SG] Update drivers to use sg helpers") had the following bogus change in drivers/mmc/card/queue.c: > - src_buf = page_address(src->page) + src->offset; > + src_buf = sg_virt(dst); (Notice that "src" is converted to "dst"). Turn this "dst" back into the intended "src". Signed-off-by: Roland Dreier Tested-by: Romano Giannetti Signed-off-by: Jens Axboe commit a8fa9ba623122a51efe6c9ef8fe7412c91582d48 Author: Kevin Hilman Date: Thu Nov 8 01:48:16 2007 +0100 [ARM] 4644/2: fix flush_kern_tlb_range() in module space For kernel addresses between TASK_SIZE and PAGE_OFFSET, flush_tlb_kern_range() does not work as would be expected. The TLB invalidate works with a matching ASID, or on entries marked as global. The set_pte_at() macro marks addresses >= PAGE_OFFSET as global, but not addresses from TASK_SIZE to PAGE_OFFSET, which are also kernel addresses. The result is that the entries in this range are not actually invalidated by flush_tlb_kern_range(). This patch instead marks addresses >= TASK_SIZE as global. Signed-off-by: Satoru Fujii Signed-off-by: Kevin Hilman Signed-off-by: Russell King commit cf5a94d1331b411b84414c13e43f578260942d6b Author: Avi Kivity Date: Sun Oct 28 16:11:58 2007 +0200 KVM: SVM: Intercept the 'invd' and 'wbinvd' instructions 'invd' can destroy host data, and 'wbinvd' allows the guest to induce long (milliseconds) latencies. Noted by Ben Serebrin. Signed-off-by: Avi Kivity commit 651a3e29b3d19418d7a8a9787906061f9be7cc5f Author: Avi Kivity Date: Sun Oct 28 16:09:18 2007 +0200 KVM: x86 emulator: invd instruction Emulate the 'invd' instruction (opcode 0f 08). Signed-off-by: Avi Kivity commit 56ba47ddbd5af7918bf1acdbe3deb979d0dcd64b Author: Avi Kivity Date: Wed Nov 7 17:14:18 2007 +0200 KVM: SVM: Defer nmi processing until switch to host state is complete If we stgi() too soon, nmis can reach the processor even though interrupts are disabled, catching it in a half-switched state. Delay the stgi() until we're done switching. Signed-off-by: Avi Kivity commit 70433389ccfe2719ef5cd539d04172260294f0f5 Author: Avi Kivity Date: Wed Nov 7 12:57:23 2007 +0200 KVM: SVM: Fix SMP with kernel apic AP processor needs to reset to the SIPI vector, not normal INIT. Signed-off-by: Avi Kivity commit 1e35d3c4a7a9682256c887a1388cf3faefdf53df Author: Avi Kivity Date: Fri Oct 26 14:16:56 2007 +0200 KVM: x86 emulator: fix 'push imm8' emulation 'push imm8' found itself in the wrong switch somehow, so it is never executed. This fixes Windows 2003 installation. Signed-off-by: Avi Kivity commit fffe487d59ba4017c7c62b06667ca4a226cee651 Author: Tejun Heo Date: Thu Nov 8 08:00:24 2007 +0100 pktcdvd: fix BUG caused by sysfs module reference semantics change pkt_setup_dev() expects module reference to be held on invocation. This used to be true for sysfs callbacks but not anymore. Test and grab module reference around pkt_setup_dev() in class_pktcdvd_store_add(). Signed-off-by: Tejun Heo Acked-by: Peter Osterlund Signed-off-by: Jens Axboe commit 2c84b4076c0cbbc44ffea2ae1da2a801fb23f081 Author: Linas Vepstas Date: Thu Nov 8 07:03:53 2007 +1100 [POWERPC] EEH: Make sure warning message is printed Fix old buglet; a warning message should have been printed when a hardware reset takes too long. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 2e6f40deb7dfdc40358fc9ecf07bf71ed553e5ac Author: Johannes Berg Date: Wed Nov 7 23:59:44 2007 +1100 [POWERPC] Make altivec code in swsusp_32.S depend on CONFIG_ALTIVEC This makes the altivec code in swsusp_32.S depend on CONFIG_ALTIVEC to avoid build failures for systems that don't have altivec. I'm not sure whether the code will actually work for other systems, but it was merged for just ppc32 rather than powermac a very long time ago. Signed-off-by: Johannes Berg Signed-off-by: Paul Mackerras commit 67b60518b0ff5cd666c7650eb09f0ef41f838106 Author: Johannes Berg Date: Wed Nov 7 21:18:02 2007 +1100 [POWERPC] windfarm: Fix windfarm thread freezer interaction When I fixed the windfarm freezer interaction first in commit 1ed2ddf380e19dafeec2150ca709ef7f4a67cd21, an earlier patch than the one I came up with after comments was committed. This has come back to haunt us now because commit d5d8c5976d6adeddb8208c240460411e2198b393 changed the freezer to no long send signals. Fix it by removing the windfarm thread's signal logic and restoring the original try_to_freeze(). We could simply revert 1ed2ddf380e19dafeec2150ca709ef7f4a67cd21 now but I feel that the assertion that no signal is delivered to the windfarm thread needs not be there. Signed-off-by: Johannes Berg Acked-by: Rafael J. Wysocki Signed-off-by: Paul Mackerras commit a792e75d9b3dec3fc1dfef4a8c40674bbba44641 Author: Benjamin Herrenschmidt Date: Wed Nov 7 17:17:02 2007 +1100 [POWERPC] Fix si_addr value on low level hash failures If the low level MMU hash table insertion returns an error (which can happen in some rare circumstances when the hypervisor refuses the insertion of a PTE, typically if you try to access junk via /dev/mem), the generated signal had an incorrect si_addr value due to a bug in the assembly, which was loading it as a 32 bits quantity instead of a 64 bits quantity. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 7e22fa4a1d9a70176e1edc4529934406e1af6054 Author: Olof Johansson Date: Wed Nov 7 16:53:58 2007 +1100 [POWERPC] Refresh ppc64_defconfig and enable pasemi-related options Refresh ppc64_defconfig, add PPC_PASEMI and various options that the common boards there need: * Chip drivers (iommu, ethernet, IDE, CF, EDAC, MDIO/PHY) * PCMCIA * PATA_PCMCIA * RTC_CLASS * SATA_MV * SATA_SIL24 * IP_PNP + NFS_ROOT for diskless booting + possibly some other things I might have missed to list Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 0c83ddfeb43b8f47e5c6ecead4245bd0af2c9ad2 Author: Olof Johansson Date: Wed Nov 7 16:48:35 2007 +1100 [POWERPC] pasemi: Update defconfig Update pasemi_defconfig. Add a few missing options for default devices on electra boards, enable tickless and hrtimers, etc, etc. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 7992344fdeb9b3bc0ce6eacaf600eb801f231c30 Author: Stephen Rothwell Date: Tue Nov 6 17:26:42 2007 +1100 [POWERPC] iSeries: Fix ref counting in vio setup Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit aca71ef8827d11de243e30f170cfc126376803b4 Author: Li Zefan Date: Mon Nov 5 13:21:56 2007 +1100 [POWERPC] ] Fix memset size error The size passing to memset is wrong. Signed-off-by Li Zefan Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit e95c91821fa56b489d7beb74103a419466c5ec10 Author: Stephen Rothwell Date: Sun Nov 4 13:28:39 2007 +1100 [POWERPC] Fix link errors for allyesconfig An allyesconfig build creates a .text section that is so big that the .text.init.refok and .fixup sections are too far away for the relocations to be fixed up correctly. This patch fixes that by linking all the relevent text sections for each file together. Suggested by Paul Mackerras. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 18244cfbc34e6bb3793977739b359a248899f42a Author: Stephen Rothwell Date: Sun Nov 4 13:22:46 2007 +1100 [POWERPC] iSeries_init_IRQ non-PCI tidy ppc_md.init_IRQ is not called if it is NULL, so we don't need an empty routine in the non PCI case. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit f2205fbb5a8933514fd343cc329df631802b4543 Author: Patrick Mansfield Date: Sun Nov 4 04:42:03 2007 +1100 [POWERPC] Change fallocate to match unistd.h on powerpc Fix the fallocate system call on powerpc to match its unistd.h. This implies none of these system calls are currently working with the unistd.h sys call values: fallocate signalfd timerfd eventfd sync_file_range2 Signed-off-by: Patrick Mansfield Acked-by: Anton Blanchard Signed-off-by: Paul Mackerras commit b37ceefe7cfc56f27f03269206a53faedb8be9fd Author: Linas Vepstas Date: Sat Nov 3 07:29:01 2007 +1100 [POWERPC] EEH: Avoid crash on null device Bugfix: avoid crash if there's no PCI device for a given openfirmware node. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 2a50f144fc6081269468abf79e1907c6669bef22 Author: Linas Vepstas Date: Sat Nov 3 07:27:50 2007 +1100 [POWERPC] EEH: Drivers that need reset trump others Bugfix: if a driver controlling one part of a multi-function PCI card has asked for a reset, honor that request above all others. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 638799b33586339ac007b0fef497a15d81a271aa Author: Linas Vepstas Date: Sat Nov 3 07:25:55 2007 +1100 [POWERPC] EEH: Clean up comments Clean up commentary, remove dead code. Signed-off-by Linas Vepstas Signed-off-by: Paul Mackerras commit 43875cc0a54d936132010e58545269e183741fae Author: Paul Mackerras Date: Wed Oct 31 22:25:35 2007 +1100 [POWERPC] Fix off-by-one error in setting decrementer on Book E/4xx (v2) The decrementer in Book E and 4xx processors interrupts on the transition from 1 to 0, rather than on the 0 to -1 transition as on 64-bit server and 32-bit "classic" (6xx/7xx/7xxx) processors. At the moment we subtract 1 from the count of how many decrementer ticks are required before the next interrupt before putting it into the decrementer, which is correct for server/classic processors, but could possibly cause the interrupt to happen too early on Book E and 4xx if the timebase/decrementer frequency is low. This fixes the problem by making set_dec subtract 1 from the count for server and classic processors, instead of having the callers subtract 1. Since set_dec already had a bunch of ifdefs to handle different processor types, there is no net increase in ugliness. :) Note that calling set_dec(0) may not generate an interrupt on some processors. To make sure that decrementer_set_next_event always calls set_dec with an interval of at least 1 tick, we set min_delta_ns of the decrementer_clockevent to correspond to 2 ticks (2 rather than 1 to compensate for truncations in the conversions between ticks and ns). This also removes a redundant call to set the decrementer to 0x7fffffff - it was already set to that earlier in timer_interrupt. Signed-off-by: Paul Mackerras commit 465ccab9eb8209a2a402710b24a9bff127b25b94 Author: will schmidt Date: Wed Oct 31 05:59:33 2007 +1100 [POWERPC] Fix switch_slb handling of 1T ESID values Now that we have 1TB segment size support, we need to be using the GET_ESID_1T macro when comparing ESID values for pc, stack, and unmapped_base within switch_slb(). A new helper function called esids_match() contains the logic for deciding when to call GET_ESID and GET_ESID_1T. This fixes a duplicate-slb-entry inspired machine-check exception I was seeing when trying to run java on a power6 partition. Tested on power6 and power5. Signed-off-by: Will Schmidt Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit e7bda183d4e3f6027ae9181c176a459423d04748 Author: Tony Breeds Date: Tue Oct 30 14:55:04 2007 +1100 [POWERPC] Fix build failure when CONFIG_VIRT_CPU_ACCOUNTING is not defined Without this patch I get the following build failure CC arch/powerpc/platforms/celleb/setup.o arch/powerpc/platforms/celleb/setup.c:151: error: 'generic_calibrate_decr' undeclared here (not in a function) Signed-off-by: Tony Breeds Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit aa39be09dfd7e95509cadcdb99cf7eb470d83c46 Author: will schmidt Date: Tue Oct 30 06:24:19 2007 +1100 [POWERPC] Include udbg.h when using udbg_printf This fixes the error error: implicit declaration of function "udbg_printf" We have a few spots where we reference udbg_printf() without #including udbg.h. These are within #ifdef DEBUG blocks, so unnoticed until we do a #define DEBUG or #define DEBUG_LOW nearby. Signed-off-by: Will Schmidt Signed-off-by: Paul Mackerras commit 20474abda6bb11396434593daf2f52679cf62edf Author: Benjamin Herrenschmidt Date: Sun Oct 28 08:49:28 2007 +1100 [POWERPC] Fix cache line vs. block size confusion We had an historical confusion in the kernel between cache line and cache block size. The former is an implementation detail of the L1 cache which can be useful for performance optimisations, the later is the actual size on which the cache control instructions operate, which can be different. For some reason, we had a weird hack reading the right property on powermac and the wrong one on any other 64 bits (32 bits is unaffected as it only uses the cputable for cache block size infos at this stage). This fixes the booting-without-of.txt documentation to mention the right properties, and fixes the 64 bits initialization code to look for the block size first, with a fallback to the line size if the property is missing. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit fb293ae1c02dab78e714d50f2c37d7852d6f328a Author: Alexey Dobriyan Date: Sun Oct 28 05:34:53 2007 +1100 [POWERPC] Fix sysctl table check failure on PowerMac kernel was marked with 0755. Everywhere else it's 0555. Signed-off-by: Alexey Dobriyan Signed-off-by: Paul Mackerras commit 4bfac36891d965bf71992c68b2c079afbfb42b4d Author: Olof Johansson Date: Sun Oct 28 04:28:51 2007 +1100 [POWERPC] Fix CONFIG_SMP=n build break Fix two build errors on powerpc allyesconfig + CONFIG_SMP=n: arch/powerpc/platforms/built-in.o: In function `cpu_affinity_set': arch/powerpc/platforms/cell/spu_priv1_mmio.c:78: undefined reference to `.iic_get_target_id' arch/powerpc/platforms/built-in.o: In function `iic_init_IRQ': arch/powerpc/platforms/cell/interrupt.c:397: undefined reference to `.iic_setup_cpu' Signed-off-by: Olof Johansson Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit aeb4552fad19fa1fb7a164c14be1f5f657791f12 Author: Scott Wood Date: Thu Oct 25 02:56:28 2007 +1000 [POWERPC] bootwrapper: Revert ps3 binary flag usage, and remove .bin suffix The ps3 target produces two images, and the binary one is not the "primary" image that corresponds to the -o flag; thus, it no longer uses the generic binary flag. On platforms which do use the binary flag, it no longer produces a .bin suffix, so that the output file matches what was passed to the -o flag. This should fix the zImage ln problems for the ps3 target. Signed-off-by: Scott Wood Acked-by: Geert Uytterhoeven Signed-off-by: Paul Mackerras commit d102c9d5d33f05c80fe91e95bd21c099e6d20260 Author: Dale Farnsworth Date: Wed Oct 24 05:20:32 2007 +1000 [POWERPC] Fix mv643xx_pci sysfs .read and .write functions Commit 91a69029 introduced an additional parameter to the .read and .write methods for sysfs binary attributes. Two mv64x60_pci functions were missed in that patch, resulting in these errors: /cache/git/linux-2.6/arch/powerpc/sysdev/mv64x60_pci.c:77: warning: initialization from incompatible pointer type /cache/git/linux-2.6/arch/powerpc/sysdev/mv64x60_pci.c:78: warning: initialization from incompatible pointer type Add the missing "struct bin_attribute *" parameter. Signed-off-by: Dale Farnsworth Signed-off-by: Paul Mackerras commit 3a800ff50a107b1b562f17e087a65e4c18e3a35c Author: Aurelien Jarno Date: Tue Oct 23 23:06:38 2007 +1000 [POWERPC] i8259: Add disable method Since commit 76d2160147f43f982dfe881404cfde9fd0a9da21, the NE2000 card is not working anymore on PPC and POWERPC and produces WATCHDOG timeouts. The patch below fixes that the same way it has been done on x86, x86_64 and MIPS. Signed-off-by: Aurelien Jarno Signed-off-by: Paul Mackerras commit 1db3e890aed3ac39cded30d6e94618bda086f7ce Author: Michael Ellerman Date: Tue Oct 23 14:23:44 2007 +1000 [POWERPC] Read back MSI message in rtas_setup_msi_irqs() so restore works There are plans afoot to use pci_restore_msi_state() to restore MSI state after a device reset. In order for this to work for the RTAS MSI backend, we need to read back the MSI message from config space after it has been setup by firmware. This should be sufficient for restoring the MSI state after a device reset, however we will need to revisit this for suspend to disk if that is ever implemented on pseries. Signed-off-by: Michael Ellerman Acked-by: Linas Vepstas Signed-off-by: Paul Mackerras commit bdd71eec9b24fb6f7e83148f73c2312a42b2aed5 Author: Olof Johansson Date: Sat Oct 20 13:39:26 2007 +1000 [POWERPC] Fix build break in arch/ppc/syslib/m8260_setup.c Fix build break and warnings in current mainline git: arch/ppc/syslib/m8260_setup.c: In function 'm8260_setup_arch': arch/ppc/syslib/m8260_setup.c:63: error: implicit declaration of function 'identify_ppc_sys_by_name_and_id' arch/ppc/syslib/m8260_setup.c:64: warning: passing argument 1 of 'in_be32' makes pointer from integer without a cast arch/ppc/syslib/m8260_setup.c: In function 'm8260_show_cpuinfo': arch/ppc/syslib/m8260_setup.c:158: warning: format '%08x' expects type 'unsigned int', but argument 5 has type 'long unsigned int' arch/ppc/syslib/m8260_setup.c:158: warning: format '%d' expects type 'int', but argument 6 has type 'long unsigned int' arch/ppc/syslib/m8260_setup.c:158: warning: format '%u' expects type 'unsigned int', but argument 7 has type 'long unsigned int' arch/ppc/syslib/m8260_setup.c:158: warning: format '%u' expects type 'unsigned int', but argument 8 has type 'long unsigned int' arch/ppc/syslib/m8260_setup.c:158: warning: format '%u' expects type 'unsigned int', but argument 9 has type 'long unsigned int' make[1]: *** [arch/ppc/syslib/m8260_setup.o] Error 1 make[1]: *** Waiting for unfinished jobs.... Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 6d1c76d4e76ef72fce5a7169430ab8f9a68d7924 Author: Paul Mundt Date: Thu Nov 8 11:24:33 2007 +0900 sh: Kill off broken snapgear ds1302 code. This will force the snapgear boards to use the on-chip SH RTC instead, until the rtc-ds1302 driver is merged. The current code is broken and hasn't built in some time, so just kill it off and get the board working again. Signed-off-by: Paul Mundt commit 45e5421eb5bbcd9efa037d682dd357284e3ef982 Author: Stephen Smalley Date: Wed Nov 7 10:08:00 2007 -0500 SELinux: add more validity checks on policy load Add more validity checks at policy load time to reject malformed policies and prevent subsequent out-of-range indexing when in permissive mode. Resolves the NULL pointer dereference reported in https://bugzilla.redhat.com/show_bug.cgi?id=357541. Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit 6d2b685564ba417f4c6d80c3661f0dfee13fff85 Author: KaiGai Kohei Date: Wed Nov 7 01:17:16 2007 +0900 SELinux: fix bug in new ebitmap code. The "e_iter = e_iter->next;" statement in the inner for loop is primally bug. It should be moved to outside of the for loop. Signed-off-by: KaiGai Kohei Acked-by: Stephen Smalley Signed-off-by: James Morris commit 57002bfb31283e84f694763ed4db0fb761b7d6a9 Author: Stephen Rothwell Date: Wed Oct 31 16:47:19 2007 +1100 SELinux: suppress a warning for 64k pages. On PowerPC allmodconfig build we get this: security/selinux/xfrm.c:214: warning: comparison is always false due to limited range of data type Signed-off-by: Stephen Rothwell Signed-off-by: James Morris commit 027f6e1ad32de32f9fe1c61d0f744e329e8acfd9 Author: Vlad Yasevich Date: Wed Nov 7 11:39:27 2007 -0500 SCTP: Fix a potential race between timers and receive path. There is a possible race condition where the timer code will free the association and the next packet in the queue will also attempt to free the same association. The example is, when we receive an ABORT at about the same time as the retransmission timer fires. If the timer wins the race, it will free the association. Once it releases the lock, the queue processing will recieve the ABORT and will try to free the association again. Signed-off-by: Vlad Yasevich commit 73d9c4fd1a6ec4950b2eac8135d35506bf400d6c Author: Vlad Yasevich Date: Wed Oct 24 17:24:26 2007 -0400 SCTP: Allow ADD_IP to work with AUTH for backward compatibility. This patch adds a tunable that will allow ADD_IP to work without AUTH for backward compatibility. The default value is off since the default value for ADD_IP is off as well. People who need to use ADD-IP with older implementations take risks of connection hijacking and should consider upgrading or turning this tunable on. Signed-off-by: Vlad Yasevich commit 88799fe5ec65fad1d5cb1d4dc5d8f78edb949f1c Author: Vlad Yasevich Date: Wed Oct 24 17:24:23 2007 -0400 SCTP: Correctly disable ADD-IP when AUTH is not supported. Signed-off-by: Vlad Yasevich commit 0ed90fb0f668fd07f14ae2007a809e8b26cd27a6 Author: Vlad Yasevich Date: Wed Oct 24 16:10:00 2007 -0400 SCTP: Update RCU handling during the ADD-IP case After learning more about rcu, it looks like the ADD-IP hadling doesn't need to call call_rcu_bh. All the rcu critical sections use rcu_read_lock, so using call_rcu_bh is wrong here. Now, restore the local_bh_disable() code blocks and use normal call_rcu() calls. Also restore the missing return statement. Signed-off-by: Vlad Yasevich commit b6157d8e03e1e780660a328f7183bcbfa4a93a19 Author: Vlad Yasevich Date: Wed Oct 24 15:59:16 2007 -0400 SCTP: Fix difference cases of retransmit. Commit d0ce92910bc04e107b2f3f2048f07e94f570035d broke several retransmit cases including fast retransmit. The reason is that we should only delay by rto while doing retranmists as a result of a timeout. Retransmit as a result of path mtu discover, fast retransmit, or other evernts that should trigger immidiate retransmissions got broken. Also, since rto is doubled prior to marking of packets elegable for retransmission, we never marked correct chunks anyway. The fix is provide a reason for a given retransmission so that we can mark chunks appropriately and to save the old rto value to do comparisons against. All regressions tests passed with this code. Spotted by Wei Yongjun Signed-off-by: Vlad Yasevich commit f3830ccc2ea503ab37d605f6c313d61423ddd94e Author: Wei Yongjun Date: Mon Oct 15 11:51:03 2007 +0900 SCTP : Fix to process bundled ASCONF chunk correctly If ASCONF chunk is bundled with other chunks as the first chunk, when process the ASCONF parameters, full packet data will be process as the parameters of the ASCONF chunk, not only the real parameters. So if you send a ASCONF chunk bundled with other chunks, you will get an unexpect result. This problem also exists when ASCONF-ACK chunk is bundled with other chunks. This patch fix this problem. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 64b0812b6d26bb30cac74c65f51f4ebfb4ec5429 Author: Wei Yongjun Date: Mon Oct 15 11:50:38 2007 +0900 SCTP : Fix bad formatted comment in outqueue.c Just fix the bad format of the comment in outqueue.c. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 70dfa3f8756afa106a468e81649bf0c1d7dbf99e Author: Russell King Date: Wed Nov 7 14:13:35 2007 +0000 [ARM] Allow watchdog drivers to be selected again Signed-off-by: Russell King commit 8ec680e4c3ec818efd1652f15199ed1c216ab550 Author: Jens Axboe Date: Wed Nov 7 13:54:07 2007 +0100 ioprio: allow sys_ioprio_set() value of 0 to reset ioprio setting Normally io priorities follow the CPU nice, unless a specific scheduling class has been set. Once that is set, there's no way to reset the behaviour to 'none' so that it follows CPU nice again. Currently passing in 0 as the ioprio class/value will return -1/EINVAL, change that to allow resetting of a set scheduling class. Signed-off-by: Jens Axboe commit 0e7be9edb9134f833278c381b6feabb54b875208 Author: Oleg Nesterov Date: Wed Nov 7 13:51:35 2007 +0100 cfq_idle_class_timer: add paranoid checks for jiffies overflow In theory, if the queue was idle long enough, cfq_idle_class_timer may have a false (and very long) timeout because jiffies can wrap into the past wrt ->last_end_request. Signed-off-by: Oleg Nesterov Signed-off-by: Jens Axboe commit c3d8d1e30cace31fed6186a4b8c6b1401836d89c Author: Patrick McHardy Date: Wed Nov 7 02:42:09 2007 -0800 [NETLINK]: Fix unicast timeouts Commit ed6dcf4a in the history.git tree broke netlink_unicast timeouts by moving the schedule_timeout() call to a new function that doesn't propagate the remaining timeout back to the caller. This means on each retry we start with the full timeout again. ipc/mqueue.c seems to actually want to wait indefinitely so this behaviour is retained. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 230140cffa7feae90ad50bf259db1fa07674f3a7 Author: Eric Dumazet Date: Wed Nov 7 02:40:20 2007 -0800 [INET]: Remove per bucket rwlock in tcp/dccp ehash table. As done two years ago on IP route cache table (commit 22c047ccbc68fa8f3fa57f0e8f906479a062c426) , we can avoid using one lock per hash bucket for the huge TCP/DCCP hash tables. On a typical x86_64 platform, this saves about 2MB or 4MB of ram, for litle performance differences. (we hit a different cache line for the rwlock, but then the bucket cache line have a better sharing factor among cpus, since we dirty it less often). For netstat or ss commands that want a full scan of hash table, we perform fewer memory accesses. Using a 'small' table of hashed rwlocks should be more than enough to provide correct SMP concurrency between different buckets, without using too much memory. Sizing of this table depends on num_possible_cpus() and various CONFIG settings. This patch provides some locking abstraction that may ease a future work using a different model for TCP/DCCP table. Signed-off-by: Eric Dumazet Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit efac52762b1e3fe3035d29e82d8ee1aebc45e4a7 Author: Rumen G. Bogdanovski Date: Wed Nov 7 02:36:55 2007 -0800 [IPVS]: Synchronize closing of Connections This patch makes the master daemon to sync the connection when it is about to close. This makes the connections on the backup to close or timeout according their state. Before the sync was performed only if the connection is in ESTABLISHED state which always made the connections to timeout in the hard coded 3 minutes. However the Andy Gospodarek's patch ([IPVS]: use proper timeout instead of fixed value) effectively did nothing more than increasing this to 15 minutes (Established state timeout). So this patch makes use of proper timeout since it syncs the connections on status changes to FIN_WAIT (2min timeout) and CLOSE (10sec timeout). However if the backup misses CLOSE hopefully it did not miss FIN_WAIT. Otherwise we will just have to wait for the ESTABLISHED state timeout. As it is without this patch. This way the number of the hanging connections on the backup is kept to minimum. And very few of them will be left to timeout with a long timeout. This is important if we want to make use of the fix for the real server overcommit on master/backup fail-over. Signed-off-by: Rumen G. Bogdanovski Signed-off-by: Simon Horman Signed-off-by: David S. Miller commit 1e356f9cdfa885c78791d5d6e5d2baef22f01853 Author: Rumen G. Bogdanovski Date: Wed Nov 7 02:35:54 2007 -0800 [IPVS]: Bind connections on stanby if the destination exists This patch fixes the problem with node overload on director fail-over. Given the scenario: 2 nodes each accepting 3 connections at a time and 2 directors, director failover occurs when the nodes are fully loaded (6 connections to the cluster) in this case the new director will assign another 6 connections to the cluster, If the same real servers exist there. The problem turned to be in not binding the inherited connections to the real servers (destinations) on the backup director. Therefore: "ipvsadm -l" reports 0 connections: root@test2:~# ipvsadm -l IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP test2.local:5999 wlc -> node473.local:5999 Route 1000 0 0 -> node484.local:5999 Route 1000 0 0 while "ipvs -lnc" is right root@test2:~# ipvsadm -lnc IPVS connection entries pro expire state source virtual destination TCP 14:56 ESTABLISHED 192.168.0.10:39164 192.168.0.222:5999 192.168.0.51:5999 TCP 14:59 ESTABLISHED 192.168.0.10:39165 192.168.0.222:5999 192.168.0.52:5999 So the patch I am sending fixes the problem by binding the received connections to the appropriate service on the backup director, if it exists, else the connection will be handled the old way. So if the master and the backup directors are synchronized in terms of real services there will be no problem with server over-committing since new connections will not be created on the nonexistent real services on the backup. However if the service is created later on the backup, the binding will be performed when the next connection update is received. With this patch the inherited connections will show as inactive on the backup: root@test2:~# ipvsadm -l IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP test2.local:5999 wlc -> node473.local:5999 Route 1000 0 1 -> node484.local:5999 Route 1000 0 1 rumen@test2:~$ cat /proc/net/ip_vs IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP C0A800DE:176F wlc -> C0A80033:176F Route 1000 0 1 -> C0A80032:176F Route 1000 0 1 Regards, Rumen Bogdanovski Acked-by: Julian Anastasov Signed-off-by: Rumen G. Bogdanovski Signed-off-by: Simon Horman commit c183783e28969e92f3df23f8b7e18d5c3e5bc8dd Author: Adrian Bunk Date: Wed Nov 7 02:30:43 2007 -0800 [NET]: Remove Documentation/networking/pt.txt There's no no point in keeping documentation for a driver that was removed many years ago. Signed-off-by: Adrian Bunk Acked-by: Alan Cox Signed-off-by: David S. Miller commit e8b2cadde643780395b45e8974df911cde47744b Author: Adrian Bunk Date: Wed Nov 7 02:30:03 2007 -0800 [NET]: Remove Documentation/networking/routing.txt This file is so outdated that I can't see any value in keeping it. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 17a83c75ada2cc482981d13ad17fcd5fdc956e4e Author: Adrian Bunk Date: Wed Nov 7 02:29:33 2007 -0800 [NET]: Remove Documentation/networking/ncsa-telnet Newsflash: There once was a version of NCSA telnet that had some bug. Spotted by Pekka Pietikainen. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 915590cf642d82e4c9eddf8051ce2eb159ef9af4 Author: Adrian Bunk Date: Wed Nov 7 02:28:52 2007 -0800 [NET]: Remove comx driver docs. The drivers have already been removed 3.5 years ago. Signed-off-by: Adrian Bunk Acked-by: Alan Cox Signed-off-by: David S. Miller commit 240e546445709dd9a883a0629b55961f8efe7f27 Author: Adrian Bunk Date: Wed Nov 7 02:26:15 2007 -0800 [NET]: Remove Documentation/networking/Configurable After more than 11 years this file does no longer contain much useful information. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit b733c007edad6f3e05109951bacc6f87dd807917 Author: Pavel Emelyanov Date: Wed Nov 7 02:23:38 2007 -0800 [NET]: Clean proto_(un)register from in-code ifdefs The struct proto has the per-cpu "inuse" counter, which is handled with a special care. All the handling code hides under the ifdef CONFIG_SMP and it introduces some code duplication and makes it look worse than it could. Clean this. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 4999f3621f4da622e77931b3d33ada6c7083c705 Author: Herbert Xu Date: Wed Nov 7 02:21:47 2007 -0800 [IPSEC]: Fix crypto_alloc_comp error checking The function crypto_alloc_comp returns an errno instead of NULL to indicate error. So it needs to be tested with IS_ERR. This is based on a patch by Vicenç Beltran Querol. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit fffe470a803e7f7b74c016291e542a0162761209 Author: Patrick McHardy Date: Wed Nov 7 01:31:32 2007 -0800 [VLAN]: Fix SET_VLAN_INGRESS_PRIORITY_CMD ioctl Based on report and patch by Doug Kehn : vconfig returns the following error when attempting to execute the set_ingress_map command: vconfig: socket or ioctl error for set_ingress_map: Operation not permitted In vlan.c, vlan_ioctl_handler for SET_VLAN_INGRESS_PRIORITY_CMD sets err = -EPERM and calls vlan_dev_set_ingress_priority. vlan_dev_set_ingress_priority is a void function so err remains at -EPERM and results in the vconfig error (even though the ingress map was set). Fix by setting err = 0 after the vlan_dev_set_ingress_priority call. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 45a19b0a725a04f3255d9d3da1fca30bb97f1481 Author: Johann Felix Soden Date: Wed Nov 7 01:30:30 2007 -0800 [NETNS]: Fix compiler error in net_namespace.c Because net_free is called by copy_net_ns before its declaration, the compiler gives an error. This patch puts net_free before copy_net_ns to fix this. The compiler error: net/core/net_namespace.c: In function 'copy_net_ns': net/core/net_namespace.c:97: error: implicit declaration of function 'net_free' net/core/net_namespace.c: At top level: net/core/net_namespace.c:104: warning: conflicting types for 'net_free' net/core/net_namespace.c:104: error: static declaration of 'net_free' follows non-static declaration net/core/net_namespace.c:97: error: previous implicit declaration of 'net_free' was here The error was introduced by the '[NET]: Hide the dead code in the net_namespace.c' patch (6a1a3b9f686bb04820a232cc1657ef2c45670709). Signed-off-by: Johann Felix Soden Signed-off-by: David S. Miller commit d0127539ea9b5fcfe1a1d7d4d57f12384da5190c Author: Alan Cox Date: Wed Nov 7 01:27:34 2007 -0800 [TTY]: Use tty_mode_ioctl() in network drivers. We conciously make a change here - we permit mode and speed setting to be done in things like SLIP mode. There isn't actually a technical reason to disallow this. It's usually a silly thing to do but we can do it and soemone might wish to do so. Signed-off-by: Alan Cox Signed-off-by: David S. Miller commit 0fc00e2440b717e19bab1ae0015f03936bdf7967 Author: Alan Cox Date: Wed Nov 7 01:24:56 2007 -0800 [TTY]: Fix network driver interactions with TCGET/SET calls. Dave Miller noted various cases where line disciplines for things like ppp go poking around in termios themselves in ways that broke with the new termios code. Rather than have them all learning about termios internals provide proper methods for this - tty_mode_ioctl() This handles all the terminal mode handling for speed/carrier etc and none of the methods are ldisc dependant so they can be called by any user - tty_perform_flush() This extracts the flush functionality and enables pppd the ppp layer to share it cleanly. The existing n_tty_ioctl code is refactored in this patch to provide the new functions and to call them itself appropriately. This patch has no (intended) behaviour changes and simply prepares for the other fixes. Signed-off-by: Alan Cox Signed-off-by: David S. Miller commit 543821c6f5dea5221426eaf1eac98b100249c7ac Author: Radu Rendec Date: Wed Nov 7 01:20:12 2007 -0800 [PKT_SCHED] CLS_U32: Fix endianness problem with u32 classifier hash masks. While trying to implement u32 hashes in my shaping machine I ran into a possible bug in the u32 hash/bucket computing algorithm (net/sched/cls_u32.c). The problem occurs only with hash masks that extend over the octet boundary, on little endian machines (where htonl() actually does something). Let's say that I would like to use 0x3fc0 as the hash mask. This means 8 contiguous "1" bits starting at b6. With such a mask, the expected (and logical) behavior is to hash any address in, for instance, 192.168.0.0/26 in bucket 0, then any address in 192.168.0.64/26 in bucket 1, then 192.168.0.128/26 in bucket 2 and so on. This is exactly what would happen on a big endian machine, but on little endian machines, what would actually happen with current implementation is 0x3fc0 being reversed (into 0xc03f0000) by htonl() in the userspace tool and then applied to 192.168.x.x in the u32 classifier. When shifting right by 16 bits (rank of first "1" bit in the reversed mask) and applying the divisor mask (0xff for divisor 256), what would actually remain is 0x3f applied on the "168" octet of the address. One could say is this can be easily worked around by taking endianness into account in userspace and supplying an appropriate mask (0xfc03) that would be turned into contiguous "1" bits when reversed (0x03fc0000). But the actual problem is the network address (inside the packet) not being converted to host order, but used as a host-order value when computing the bucket. Let's say the network address is written as n31 n30 ... n0, with n0 being the least significant bit. When used directly (without any conversion) on a little endian machine, it becomes n7 ... n0 n8 ..n15 etc in the machine's registers. Thus bits n7 and n8 would no longer be adjacent and 192.168.64.0/26 and 192.168.128.0/26 would no longer be consecutive. The fix is to apply ntohl() on the hmask before computing fshift, and in u32_hash_fold() convert the packet data to host order before shifting down by fshift. With helpful feedback from Jamal Hadi Salim and Jarek Poplawski. Signed-off-by: David S. Miller commit 40208d71e0c6b5f912b185e637272b6481fcef3f Author: Jiri Olsa Date: Wed Nov 7 00:49:04 2007 -0800 [NET]: Removing duplicit #includes Removing duplicit #includes for net/ Signed-off-by: Jiri Olsa Signed-off-by: David S. Miller commit 4aa92cd9acd18ae9c94e87a30f664e77f699dc78 Author: Adrian Bunk Date: Wed Nov 7 00:10:31 2007 -0800 [NET]: Let USB_USBNET always select MII. All this USB_USBNET_MII trickery is simply not worth it considering how few code it saves. As a side effect, this also fixes the following compile error reported by Toralf Förster: <-- snip --> ... LD .tmp_vmlinux1 drivers/built-in.o: In function `usbnet_set_settings': (.text+0xf1876): undefined reference to `mii_ethtool_sset' drivers/built-in.o: In function `usbnet_get_settings': (.text+0xf1836): undefined reference to `mii_ethtool_gset' drivers/built-in.o: In function `usbnet_get_link': (.text+0xf18d6): undefined reference to `mii_link_ok' drivers/built-in.o: In function `usbnet_nway_reset': (.text+0xf18f6): undefined reference to `mii_nway_restart' make: *** [.tmp_vmlinux1] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit df1e6e54842a47675a2f69a089ecb8ad409f167f Author: David S. Miller Date: Tue Nov 6 23:49:37 2007 -0800 [RRUNNER]: Do not muck with sysctl_{r,w}mem_max Drivers have no business changing these values. Signed-off-by: David S. Miller commit df61c952622f51facac21dd8dfa4d8a24dcb9657 Author: David S. Miller Date: Tue Nov 6 23:48:57 2007 -0800 [DLM] lowcomms: Do not muck with sysctl_rmem_max. Use SO_RCVBUFFORCE instead. Signed-off-by: David S. Miller commit c3e9a353d8fc64a82ab11a07e21902e25e1e96d1 Author: Pavel Emelyanov Date: Tue Nov 6 23:34:04 2007 -0800 [IPV4]: Compact some ifdefs in the fib code. There are places that check for CONFIG_IP_MULTIPLE_TABLES twice in the same file, but the internals of these #ifdefs can be merged. As a side effect - remove one ifdef from inside a function. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 6a9a025086ac70f0f285365cbaf1df8643266b72 Author: Rusty Russell Date: Tue Nov 6 20:35:55 2007 -0800 [VETH]: Clarify "virtual ethernet device" to "virtual ethernet pair device". It'd also be nice to mention "containers" somewhere in the help text (I'm assuming that's what it's for?). Signed-off-by: Rusty Russell Signed-off-by: David S. Miller commit 44656ba1286d82b5a5f8817eb2e4ea744143c3ca Author: David S. Miller Date: Wed Nov 7 04:10:52 2007 -0800 [NET]: Kill proc_net_create() There are no more users. Signed-off-by: David S. Miller commit 33120b30cc3b8665204d4fcde7288638b0dd04d5 Author: Alexey Dobriyan Date: Tue Nov 6 05:27:11 2007 -0800 [IPV6]: Convert /proc/net/ipv6_route to seq_file interface This removes last proc_net_create() user. Kudos to Benjamin Thery and Stephen Hemminger for comments on previous version. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 4f9f8311a08c0d95c70261264a2b47f2ae99683a Author: Evgeniy Polyakov Date: Tue Nov 6 03:08:09 2007 -0800 [PKT_SCHED]: Fix OOPS when removing devices from a teql queuing discipline tecl_reset() is called from deactivate and qdisc is set to noop already, but subsequent teql_xmit does not know about it and dereference private data as teql qdisc and thus oopses. not catch it first :) Signed-off-by: Evgeniy Polyakov Signed-off-by: David S. Miller commit c62cf5cb173a5b8446e513a14448460cad435db2 Author: David S. Miller Date: Mon Nov 5 23:42:25 2007 -0800 [DCCP]: Use DEFINE_PROTO_INUSE infrastructure. Signed-off-by: David S. Miller commit 8295b6d9e623879344ed0ca7565336e4fd698e42 Author: Eric Dumazet Date: Mon Nov 5 23:40:28 2007 -0800 [SCTP]: Use the {DEFINE|REF}_PROTO_INUSE infrastructure Trivial patch to make "sctcp,sctpv6" protocols uses the fast "inuse sockets" infrastructure Each protocol use then a static percpu var, instead of a dynamic one. This saves some ram and some cpu cycles Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c5a432f1a18b4b2efe691dd6bbb30d86a281f783 Author: Eric Dumazet Date: Mon Nov 5 23:39:51 2007 -0800 [IPV6]: Use the {DEFINE|REF}_PROTO_INUSE infrastructure Trivial patch to make "tcpv6,udpv6,udplitev6,rawv6" protocols uses the fast "inuse sockets" infrastructure Each protocol use then a static percpu var, instead of a dynamic one. This saves some ram and some cpu cycles Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 47a31a6ffcca3b55149bccd5b99763e5eea60ac4 Author: Eric Dumazet Date: Mon Nov 5 23:39:16 2007 -0800 [IPV4]: Use the {DEFINE|REF}_PROTO_INUSE infrastructure Trivial patch to make "tcp,udp,udplite,raw" protocols uses the fast "inuse sockets" infrastructure Each protocol use then a static percpu var, instead of a dynamic one. This saves some ram and some cpu cycles Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 286ab3d46058840d68e5d7d52e316c1f7e98c59f Author: Eric Dumazet Date: Mon Nov 5 23:38:39 2007 -0800 [NET]: Define infrastructure to keep 'inuse' changes in an efficent SMP/NUMA way. "struct proto" currently uses an array stats[NR_CPUS] to track change on 'inuse' sockets per protocol. If NR_CPUS is big, this means we use a big memory area for this. Moreover, all this memory area is located on a single node on NUMA machines, increasing memory pressure on the boot node. In this patch, I tried to : - Keep a fast !CONFIG_SMP implementation - Keep a fast CONFIG_SMP implementation for often used protocols (tcp,udp,raw,...) - Introduce a NUMA efficient implementation Some helper macros are defined in include/net/sock.h These macros take into account CONFIG_SMP If a "struct proto" is declared without using DEFINE_PROTO_INUSE / REF_PROTO_INUSE macros, it will automatically use a default implementation, using a dynamically allocated percpu zone. This default implementation will be NUMA efficient, but might use 32/64 bytes per possible cpu because of current alloc_percpu() implementation. However it still should be better than previous implementation based on stats[NR_CPUS] field. When a "struct proto" is changed to use the new macros, we use a single static "int" percpu variable, lowering the memory and cpu costs, still preserving NUMA efficiency. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 91781004b9c029ee55b7aa9ef950a373ba865dc6 Author: James Chapman Date: Mon Nov 5 23:32:37 2007 -0800 [PPP]: L2TP: Fix oops in transmit and receive paths Changes made on 18-sep to fix skb handling in the pppol2tp driver broke the transmit and receive paths. Users are only running into this now because distros are now using 2.6.23 and I must have messed up when I tested the change. For receive, we now do our own calculation of how much to pull from the skb (variable length L2TP header) rather than using skb_transport_offset(). Also, if the skb isn't a data packet, it must be passed back to UDP with skb->data pointing to the UDP header. For transmit, make sure skb->sk is set up because ip_queue_xmit() needs it. Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 6a9fb9479f2672fa392711735de9e642395c9a14 Author: Pavel Emelyanov Date: Mon Nov 5 21:32:31 2007 -0800 [IPV4]: Clean the ip_sockglue.c from some ugly ifdefs The #idfed CONFIG_IP_MROUTE is sometimes places inside the if-s, which looks completely bad. Similar ifdefs inside the functions looks a bit better, but they are also not recommended to be used. Provide an ifdef-ed ip_mroute_opt() helper to cleanup the code. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 4e058063f49f53f6d75f707e36c82edee6d2e919 Author: Alexey Dobriyan Date: Mon Nov 5 21:30:11 2007 -0800 [DECNET]: "addr" module param can't be __initdata sysfs keeps references to module parameters via /sys/module/*/parameters, so marking them as __initdata can't work. Steps to reproduce: modprobe decnet cat /sys/module/decnet/parameters/addr BUG: unable to handle kernel paging request at virtual address f88cd410 printing eip: c043dfd1 *pdpt = 0000000000004001 *pde = 0000000004408067 *pte = 0000000000000000 Oops: 0000 [#1] PREEMPT SMP Modules linked in: decnet sunrpc af_packet ipv6 binfmt_misc dm_mirror dm_multipath dm_mod sbs sbshc fan dock battery backlight ac power_supply parport loop rtc_cmos serio_raw rtc_core rtc_lib button amd_rng sr_mod cdrom shpchp pci_hotplug ehci_hcd ohci_hcd uhci_hcd usbcore Pid: 2099, comm: cat Not tainted (2.6.24-rc1-b1d08ac064268d0ae2281e98bf5e82627e0f0c56-bloat #6) EIP: 0060:[] EFLAGS: 00210286 CPU: 1 EIP is at param_get_int+0x6/0x20 EAX: c5c87000 EBX: 00000000 ECX: 000080d0 EDX: f88cd410 ESI: f8a108f8 EDI: c5c87000 EBP: 00000000 ESP: c5c97f00 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process cat (pid: 2099, ti=c5c97000 task=c641ee10 task.ti=c5c97000) Stack: 00000000 f8a108f8 c5c87000 c043db6b f8a108f1 00000124 c043de1a c043db2f f88cd410 ffffffff c5c87000 f8a16bc8 f8a16bc8 c043dd69 c043dd54 c5dd5078 c043dbc8 c5cc7580 c06ee64c c5d679f8 c04c431f c641f480 c641f484 00001000 Call Trace: [] param_array_get+0x3c/0x62 [] param_array_set+0x0/0xdf [] param_array_get+0x0/0x62 [] param_attr_show+0x15/0x2d [] param_attr_show+0x0/0x2d [] module_attr_show+0x1a/0x1e [] sysfs_read_file+0x7c/0xd9 [] sysfs_read_file+0x0/0xd9 [] vfs_read+0x88/0x134 [] do_page_fault+0x0/0x7d5 [] sys_read+0x41/0x67 [] sysenter_past_esp+0x6b/0xc1 ======================= Code: 00 83 c4 0c c3 83 ec 0c 8b 52 10 8b 12 c7 44 24 04 27 dd 6c c0 89 04 24 89 54 24 08 e8 ea 01 0c 00 83 c4 0c c3 83 ec 0c 8b 52 10 <8b> 12 c7 44 24 04 58 8c 6a c0 89 04 24 89 54 24 08 e8 ca 01 0c EIP: [] param_get_int+0x6/0x20 SS:ESP 0068:c5c97f00 Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 7a0ff716c2282f4b8d89c65850a4f17399628154 Author: Mitsuru Chinen Date: Mon Nov 5 21:29:17 2007 -0800 [IPv6] SNMP: Restore Udp6InErrors incrementation As the checksum verification is postponed till user calls recv or poll, the inrementation of Udp6InErrors counter should be also postponed. Currently, it is postponed in non-blocking operation case. However it should be postponed in all case like the IPv4 code. Signed-off-by: Mitsuru Chinen Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 3f192b5c584b8ecddc6069717aaf36d8fa244713 Author: Alexey Dobriyan Date: Mon Nov 5 21:28:13 2007 -0800 [NET]: Remove /proc/net/stat/*_arp_cache upon module removal neigh_table_init_no_netlink() creates them, but they aren't removed anywhere. Steps to reproduce: modprobe clip rmmod clip cat /proc/net/stat/clip_arp_cache BUG: unable to handle kernel paging request at virtual address f89d7758 printing eip: c05a99da *pdpt = 0000000000004001 *pde = 0000000004408067 *pte = 0000000000000000 Oops: 0000 [#1] PREEMPT SMP Modules linked in: atm af_packet ipv6 binfmt_misc sbs sbshc fan dock battery backlight ac power_supply parport loop rtc_cmos rtc_core rtc_lib serio_raw button k8temp hwmon amd_rng sr_mod cdrom shpchp pci_hotplug ehci_hcd ohci_hcd uhci_hcd usbcore Pid: 2082, comm: cat Not tainted (2.6.24-rc1-b1d08ac064268d0ae2281e98bf5e82627e0f0c56-bloat #4) EIP: 0060:[] EFLAGS: 00210256 CPU: 0 EIP is at neigh_stat_seq_next+0x26/0x3f EAX: 00000001 EBX: f89d7600 ECX: c587bf40 EDX: 00000000 ESI: 00000000 EDI: 00000001 EBP: 00000400 ESP: c587bf1c DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process cat (pid: 2082, ti=c587b000 task=c5984e10 task.ti=c587b000) Stack: c06228cc c5313790 c049e5c0 0804f000 c45a7b00 c53137b0 00000000 00000000 00000082 00000001 00000000 00000000 00000000 fffffffb c58d6780 c049e437 c45a7b00 c04b1f93 c587bfa0 00000400 0804f000 00000400 0804f000 c04b1f2f Call Trace: [] seq_read+0x189/0x281 [] seq_read+0x0/0x281 [] proc_reg_read+0x64/0x77 [] proc_reg_read+0x0/0x77 [] vfs_read+0x80/0xd1 [] sys_read+0x41/0x67 [] sysenter_past_esp+0x6b/0xc1 ======================= Code: e9 ec 8d 05 00 56 8b 11 53 8b 40 70 8b 58 3c eb 29 0f a3 15 80 91 7b c0 19 c0 85 c0 8d 42 01 74 17 89 c6 c1 fe 1f 89 01 89 71 04 <8b> 83 58 01 00 00 f7 d0 8b 04 90 eb 09 89 c2 83 fa 01 7e d2 31 EIP: [] neigh_stat_seq_next+0x26/0x3f SS:ESP 0068:c587bf1c Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit bf138862b162b6eaf3d7336f759f6e6485e481df Author: Pavel Emelyanov Date: Mon Nov 5 21:04:31 2007 -0800 [IPV6]: Consolidate the ip cork destruction in ip6_output.c The ip6_push_pending_frames and ip6_flush_pending_frames do the same things to flush the sock's cork. Move this into a separate function and save ~100 bytes from the .text Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 429f08e950a88cd826b203ea898c2f2d0f7db9de Author: Pavel Emelyanov Date: Mon Nov 5 21:03:24 2007 -0800 [IPV4]: Consolidate the ip cork destruction in ip_output.c The ip_push_pending_frames and ip_flush_pending_frames do the same things to flush the sock's cork. Move this into a separate function and save ~80 bytes from the .text Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e011ff48abc1b0ee97cde26b7700d2cca689e7c3 Author: Bart De Schuymer Date: Mon Nov 5 20:59:47 2007 -0800 [NETFILTER]: ebt_arp: fix --arp-gratuitous matching dependence on --arp-ip-{src,dst} Fix --arp-gratuitous matching dependence on --arp-ip-{src,dst} Signed-off-by: Bart De Schuymer Signed-off-by: Lutz Preßler Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 55d84acd366f08e11ff00139f32fe4394fb0016a Author: Alexey Dobriyan Date: Mon Nov 5 20:44:06 2007 -0800 [NETFILTER]: nf_sockopts list head cleanup Code is using knowledge that nf_sockopt_ops::list list_head is first field in structure by using casts. Switch to list_for_each_entry() itetators while I am at it. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d1332e0ab84479d941de5cf4a69c71dfd385a25e Author: Patrick McHardy Date: Mon Nov 5 20:43:30 2007 -0800 [NETFILTER]: remove unneeded rcu_dereference() calls As noticed by Paul McKenney, the rcu_dereference calls in the init path of NAT modules are unneeded, remove them. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0795c65d9f8de2bf9a62ae1f56e928c6b5ed75ab Author: Jan Engelhardt Date: Mon Nov 5 20:42:54 2007 -0800 [NETFILTER]: Clean up Makefile Sort matches and targets in the NF makefiles. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b98e1747eecc19b872572c5fffedc1868531dac6 Author: Jan Engelhardt Date: Mon Nov 5 20:42:16 2007 -0800 [NETFILTER]: Sort matches/targets in Kbuild file Sort matches and targets in the Kbuild file. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ba5dc2756cc305c055dbb253b8fcdc459f0f8e73 Author: Jan Engelhardt Date: Mon Nov 5 20:35:56 2007 -0800 [NETFILTER]: Copyright/Email update Transfer all my copyright over to our company. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7351a22a3ae005422488139365e9a80f560c80b9 Author: Alexey Dobriyan Date: Mon Nov 5 20:33:46 2007 -0800 [NETFILTER]: ip{,6}_queue: convert to seq_file interface I plan to kill ->get_info which means killing proc_net_create(). Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cbeb13447f015d90367c9f72fbf87227f3e186c8 Author: Paul Mundt Date: Wed Nov 7 20:19:30 2007 +0900 sh: Add a dummy vga.h. We have nothing to do here, but there are continually drivers that fail to build without it. Stub it in. Signed-off-by: Paul Mundt commit 0ac554b9be9fd340aa59e0d6a311986afcea40cf Author: Paul Mundt Date: Wed Nov 7 20:13:24 2007 +0900 rtc: rtc-sh: Zero out tm value for invalid rtc states. Follows the changes of some of the other RTC drivers. If the tm value is bogus, just zero it out. Adds some sanity for RTC_RD_TIME. Signed-off-by: Paul Mundt commit 6f78a19702574008bbd333237380fa85be1c9e5d Author: Robert P. J. Day Date: Wed Nov 7 02:24:33 2007 -0800 [SPARC64]: Use "is_power_of_2" macro for simplicity. Signed-off-by: Robert P. J. Day Signed-off-by: David S. Miller commit b70c864d3ce706571d2f3cac1d35d4fba01d6072 Author: Oleg Nesterov Date: Wed Nov 7 09:46:13 2007 +0100 cfq: fix IOPRIO_CLASS_IDLE delays After the fresh boot: ionice -c3 -p $$ echo cfq >> /sys/block/XXX/queue/scheduler dd if=/dev/XXX of=/dev/null bs=512 count=1 Now dd hangs in D state and the queue is completely stalled for approximately INITIAL_JIFFIES + CFQ_IDLE_GRACE jiffies. This is because cfq_init_queue() forgets to initialize cfq_data->last_end_request. (I guess this patch is not complete, overflow is still possible) Signed-off-by: Oleg Nesterov Signed-off-by: Jens Axboe commit 2389d1ef172fc9df01f58265a436919d233fbc27 Author: Oleg Nesterov Date: Mon Nov 5 08:58:05 2007 +0100 cfq: fix IOPRIO_CLASS_IDLE accounting Spotted by Nick , hopefully can explain the second trace in http://bugzilla.kernel.org/show_bug.cgi?id=9180. If ->async_idle_cfqq != NULL cfq_put_async_queues() puts it IOPRIO_BE_NR times in a loop. Fix this. Signed-off-by: Oleg Nesterov Signed-off-by: Jens Axboe commit 29dd0dae507f73f305aaea765f975eafd1fa5493 Author: Paul Mundt Date: Wed Nov 7 14:58:09 2007 +0900 rtc: sh-rtc: Handle rtc_device_register() failure properly. Currently if rtc_device_register() fails we have an IS_ERR() on the wrong pointer, which causes this to always be skipped. Fix this up to actually check the right pointer. The return value was always correct, even though the check was wrong. Signed-off-by: Paul Mundt commit 9c88b6ba1c72a8bba30347b63f1531f2d9c2a309 Author: Nobuhiro Iwamatsu Date: Wed Nov 7 14:56:46 2007 +0900 sh: Fix heartbeart on Solution Engine series Access size to LED is not added on Solution Engine series. LED doesn't work. Fixed this problem. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 694caef5e201d43151cc3a31b447e75b2f531de4 Author: Nobuhiro Iwamatsu Date: Wed Nov 7 14:54:32 2007 +0900 sh: Remove SCI_NPORTS from sh-sci.h When SH7710 and SH7712 are used, SCI_NPORTS redefined. Remove it. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 9c969ffe1f1bb349e118a299f76f6bb0bbd6b05a Author: Lucas Woods Date: Mon Nov 5 20:22:27 2007 -0800 [SPARC]: Remove duplicate includes. Signed-off-by: Lucas Woods Signed-off-by: David S. Miller commit ac11584ccbd14aadcc6613598f3bac4589ea3a11 Author: Paul Mundt Date: Wed Nov 7 11:40:24 2007 +0900 sh: Fix up PAGE_KERNEL_PCC() for nommu. PAGE_KERNEL_PCC() takes two arguments, which weren't reflected in the nommu case. Fix it up. Signed-off-by: Paul Mundt commit c7a0e13d0a5316587da0b6d8b3291a473a7df453 Author: Paul Mundt Date: Wed Nov 7 11:39:35 2007 +0900 sh: hs7751rvoip: Kill off dead IPR IRQ mappings. This is dead code, and doesn't build anyways. Kill it off. Signed-off-by: Paul Mundt commit b7b23870040b78b3c7910597b02ef6c8a368fd19 Author: Paul Mundt Date: Wed Nov 7 11:38:37 2007 +0900 sh: hs7751rvoip: irq.c needs linux/interrupt.h. Signed-off-by: Paul Mundt commit af39c16bd843ee8bde495c8ccb95a5ca209f3051 Author: Paul Mundt Date: Mon Nov 5 16:20:42 2007 +0900 sh: Kill off __{copy,clear}_user_page(). Now that copy_to_user_page()/copy_from_user_page() are wired up, we can drop the old __copy_xxx() implementations. Now that the page colouring scheme has changed via kmap_coherent(), we can avoid the flush in these specific helpers. Signed-off-by: Paul Mundt commit ba1789efea81acc6633f427bfeb871fd608965b5 Author: Paul Mundt Date: Mon Nov 5 16:18:16 2007 +0900 sh: Optimized copy_{to,from}_user_page() for SH-4. This moves copy_{to,from}_user_page() out-of-line on SH-4 and converts for the kmap_coherent() API. Based on the MIPS implementation. Signed-off-by: Paul Mundt commit 7747b9a493a197cb4db44c98d25ce6d3d9f586d1 Author: Paul Mundt Date: Mon Nov 5 16:12:32 2007 +0900 sh: Wire up clear_user_highpage(). With the kmap_coherent() API in place, this is trivial to implement, and lets us avoid the cache flush in certain cases. Signed-off-by: Paul Mundt commit f96691872439ab2071171d4531c4a95b5d493ae5 Author: Paul Mundt Date: Wed Nov 7 11:05:32 2007 +0900 sh: Kill off the remaining ST40 cruft. The ST40 stuff in-tree hasn't built for some time, and hasn't been updated for over 3 years. ST maintains their own out-of-tree changes and rebases occasionally, and that's ultimately where all of the ST40 users go anyways. In order for the ST40 code to be brought up to date most of the stuff removed in this changeset would have to be rewritten anyways, so there's very little benefit in keeping the remnants around either. Signed-off-by: Paul Mundt commit 07782cec9b444746859855fc310f20f254e995a0 Author: Paul Mundt Date: Tue Nov 6 18:05:08 2007 +0900 superhyway: Handle device_register() retval properly. Signed-off-by: Paul Mundt commit 0acc729ea31cb166116e350eb61694559b1d29aa Author: Paul Mundt Date: Tue Nov 6 17:50:07 2007 +0900 sh: kgdb sysrq depends on magic sysrq. Signed-off-by: Paul Mundt commit 98366c20a275e957416e9516db5dcb7195b4e101 Author: Paul Mundt Date: Tue Nov 6 17:35:12 2007 +0900 sh: Add -Werror for clean directories. Follow the MIPS and sparc64 changes for -Werror instrumentation. Signed-off-by: Paul Mundt commit 808bde2537b6c683af25a2e911c1d88dc80a445e Author: Paul Mundt Date: Tue Nov 6 17:34:33 2007 +0900 sh: Fix up kgdb build with modular sh-sci. Signed-off-by: Paul Mundt commit 98c6942975dc73138df61070dd8cfbcbe67f3d96 Author: Paul Mundt Date: Tue Nov 6 17:15:57 2007 +0900 sh: Export __{s,u}divsi3_i4i on all CPUs. Currently these are only being exported for CONFIG_CPU_SH4. This invariably breaks when building for an SH-3 that includes multiple targets in multilib. Signed-off-by: Paul Mundt commit 96a8a0ba128fa9e40b9d2d1220f264947e9fbc06 Author: Paul Mundt Date: Tue Nov 6 16:59:10 2007 +0900 sh: Fix up kgdb-on-NMI branch target. This was all reworked some time ago, the old debug_enter was ripped out with everything going through a debug trap jump table instead. Kill off the debug_enter target and reference kgdb_handle_exception directly. Signed-off-by: Paul Mundt commit 0e3a9aab954910b1dcdf2133a46a58cc729ce3dc Author: Paul Mundt Date: Tue Nov 6 15:55:36 2007 +0900 sh: ubc wakeup for SH-4 only. SH-4A parts generally don't have any use for this, and it requires an alternate implementation anyways. Leave this as an SH-4 only option, as that's the only place this has been needed in the past. Signed-off-by: Paul Mundt commit f7b6130e736b031c8b42ded4027b4793a7b1ef79 Author: Nobuhiro Iwamatsu Date: Tue Nov 6 06:45:58 2007 +0900 sh: Fix compression method when making uImage. When uImage is made by using 'make uImage', zImage is used. If zImage is used, the compression method need not be set. However, it is set for "gzip" for a compression method. I corrected to set "none". Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit d177469905600e7fc093b683b00362493b2947b5 Author: Paul Mundt Date: Mon Nov 5 12:14:17 2007 +0900 sh: Kill off duplicate includes. Caught by the surprisingly not-entirely-useless 'includecheck'. Signed-off-by: Paul Mundt commit b5f2d739e1f1fcfd3b9277cd43afad024bd7eca9 Author: Mike Frysinger Date: Mon Nov 5 07:47:12 2007 +0900 sh: remove PTRACE_O_TRACESYSGOOD from asm/ptrace.h The common linux/ptrace.h already defines PTRACE_O_TRACESYSGOOD so there is no need to have arches do it. This also keeps glibc-2.7 from breaking since it has an enum for the PTRACE_O_* flags. Signed-off-by: Mike Frysinger Signed-off-by: Paul Mundt commit a8199071ca9129c02b25c649f62d499a26b0ff5b Author: Nobuhiro Iwamatsu Date: Mon Nov 5 07:44:41 2007 +0900 sh: Add SH7705 and other to the support of Solution Engine. This patch supports Hitachi Solution Engine (SuperH) of SH7705, SH7710, SH7712, SH7750S and SH7750R. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 7c45d1913f0a1d597eb4bc3b2c962bc2967da9ea Author: Stefan Richter Date: Wed Nov 7 01:11:56 2007 +0100 firewire: fw-sbp2: fix refcounting Since patch "fw-sbp2: use an own workqueue (fix system responsiveness)" increased parallelism between fw-sbp2 and fw-core, it was possible that fw-sbp2 didn't release the SCSI device when the FireWire device was disconnected. This happened if sbp2_update() ran during sbp2_login(), because a bus reset occurred during sbp2_login(). The sbp2_login() work would [try to] reschedule itself because it failed due to the bus reset, and it would _not_ drop its reference on the target. However, sbp2_update() would schedule sbp2_login() too before sbp2_login() rescheduled itself and hence sbp2_update() would take an additional reference. And then we would have one reference too many. The fix is to _always_ drop the reference when leaving the sbp2_login() work. If the sbp2_login() work reschedules itself, it takes a reference, but only if it wasn't already rescheduled by sbp2_update(). Ditto in the sbp2_reconnect() work. The resulting code is actually simpler than before: We _always_ take a reference when successfully scheduling work. And we _always_ drop a reference when leaving a workqueue job. No exceptions. Signed-off-by: Stefan Richter commit ddd6fc7923fbcfbb53f9431cbc981b1c12636e14 Author: Kenji Kaneshige Date: Wed Oct 31 20:06:13 2007 +0900 [IA64] Clean up /proc/interrupts output Clean up /proc/interrupts output on the system that has 10 or more CPUs. Signed-off-by: Kenji Kaneshige Signed-off-by: Tony Luck commit 1f3b6045f783ee394076ad6dba2d72ecaaecd243 Author: Russ Anderson Date: Wed Oct 31 11:10:38 2007 -0500 [IA64] Disable/re-enable CPE interrupts on Altix When the CPE handler encounters too many CPEs (such as a solid single bit memory error), it sets up a polling timer and disables the CPE interrupt (to avoid excessive overhead logging the stream of single bit errors). disable_irq_nosync() calls chip->disable() to provide a chipset specifiec interface for disabling the interrupt. This patch adds the Altix specific support to disable and re-enable the CPE interrupt. Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck commit adb34022eb7a11126fecef6b5abb4741a17360c6 Author: Russ Anderson Date: Thu Nov 1 16:00:04 2007 -0500 [IA64] Clean-up McKinley Errata message No need to print "McKinley Errata 9 workaround not needed; disabling it" on every non-McKinley Itanium, which at this point is almost all of them. Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck commit c5d07d6ccc6710cad5815768c6d5e629c99b4dca Author: Peter Chubb Date: Wed Oct 31 11:45:50 2007 +1100 [IA64] Add gate.lds to list of files ignored by Git If you build the kernel `in-place' then do a git update, git complains about arch/ia64/kernel/gate.lds being modified and untracked. Add that (generated) file to a .gitignore file. Signed-off-by: Peter Chubb Signed-off-by: Tony Luck commit e325a88f17196f18888f6e1426eb9fe3b4346d28 Author: Srinivas Eeda Date: Wed Oct 31 16:49:43 2007 -0700 ocfs2: fix rename vs unlink race If another node unlinks the destination while ocfs2_rename() is waiting on a cluster lock, ocfs2_rename() simply logs an error and continues. This causes a crash because the renaming node is now trying to delete a non-existent inode. The correct solution is to return -ENOENT. Signed-off-by: Srinivas Eeda Signed-off-by: Mark Fasheh commit bc7e97cbdd4bef162e5772c74ee2cc4487a2d997 Author: Jan Kara Date: Wed Oct 10 16:25:42 2007 +0200 [PATCH] Fix possibly too long write in o2hb_setup_one_bio() We should subtract start of our IO from PAGE_CACHE_SIZE to get the right length of the write we want to perform. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 4e9563fd55ff4479f2b118d0757d121dd0cfc39c Author: Mark Fasheh Date: Thu Nov 1 11:37:48 2007 -0700 ocfs2: fix write() performance regression On file systems which don't support sparse files, Ocfs2_map_page_blocks() was reading blocks on appending writes. This caused write performance to suffer dramatically. Fix this by detecting an appending write on a nonsparse fs and skipping the read. Signed-off-by: Mark Fasheh commit 9ea2d32f40434589ea0e136373f7d1545afb411f Author: Mark Fasheh Date: Thu Oct 18 14:14:45 2007 -0700 ocfs2: Commit journal on sync writes We're missing a meta data commit for extending sync writes. In thoery, write could return with the meta data required to read the data uncommitted to disk. Fix that by detecting an allocating write and forcing a journal commit in the sync case. Signed-off-by: Mark Fasheh commit 9f70968af3e6e21612e06e153aa71c62dee5a09b Author: Mark Fasheh Date: Thu Oct 18 12:36:10 2007 -0700 ocfs2: Re-order iput in ocfs2_drop_dentry_lock Do this to avoid a theoretical (I haven't seen this in practice) race where the downconvert thread might drop the dentry lock, allowing a remote unlink to proceed before dropping the inode locks. This could bounce access to the orphan dir between nodes. There doesn't seem to be a need to do the same in ocfs2_dentry_iput() as that's never called for the last ref drop from the downconvert thread. Signed-off-by: Mark Fasheh commit 019d1b2247c6898589560c6f3b3e7ec280b0010a Author: Mark Fasheh Date: Fri Oct 5 12:09:05 2007 -0700 ocfs2: Create locks at initially requested level If we have not yet created a cluster lock, ocfs2_cluster_lock() will first create it at NLMODE, and then convert the lock to either PRMODE or EXMODE (whichever is requested). Change ocfs2_cluster_lock() to just create the lock at the initially requested level. ocfs2_locking_ast() handles this case fine, so the only update required was in setup of locking state. This should reduce the number of network messages required for a new lock by one, providing an incremental performance enhancement. Signed-off-by: Mark Fasheh commit 3cf0c507dd28de0e1a4c24304d806e6b3976f0f5 Author: Roel Kluin <12o3l@tiscali.nl> Date: Sat Oct 27 00:20:36 2007 +0200 [PATCH] Fix priority mistakes in fs/ocfs2/{alloc.c, dlmglue.c} Fixes priority mistakes similar to '!x & y' Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Mark Fasheh commit 0af4bd38876416d945ad6a1338798696604952a1 Author: Adrian Bunk Date: Wed Oct 24 18:23:27 2007 +0200 [2.6 patch] make ocfs2_find_entry_el() static ocfs2_find_entry_el() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Mark Fasheh commit 4b9ddc7cf272a0af321c22ef9c00d76384402d48 Author: Tony Luck Date: Tue Nov 6 15:14:45 2007 -0800 [IA64] Fix section mismatch in contig.c version of per_cpu_init() There is a section mismatch when building CONFIG_FLATMEM=y kernels that also have CONFIG_HOTPLUG_CPU=y WARNING: vmlinux.o(.text+0x5a902): Section mismatch: reference to \ .init.text:__alloc_bootmem (between 'per_cpu_init' and 'count_pages') The issue occurs because per_cpu_init() in mm/contig.c is marked __cpuinit (which is #define'd to nothing on a hot plug cpu configuration) call __alloc_bootmem() (which is an __init function). The usage is actually safe because the __alloc_bootmem() is inside an "if (first_time)" test so that the call is only made while it is still legal to do so. But the warning is irritating. Move the allocation to find_memory(). Signed-off-by: Tony Luck commit 4b07ae9b9d7b05a63e3ece32a666041949b7f421 Author: Li Zefan Date: Tue Nov 6 13:40:39 2007 -0800 [IA64] Wrong args to memset in efi_gettimeofday() Not sizeof(ptr) ... we meant to say sizeof(*ptr). Also moved the memset to the error path (the normal path overwrites every field in the structure anyway) -Tony Signed-off-by: Li Zefan Signed-off-by: Tony Luck commit 8d0a6e4da5ecde2022025ee764e4f7e425a53770 Author: Lucas Woods Date: Tue Nov 6 07:13:28 2007 +1100 [IA64] Remove duplicate includes from ia32priv.h Don't need asm/processor.h twice Signed-off-by: Lucas Woods Signed-off-by: Tony Luck commit b17de3619553d004be3fe3c58bf6a63cbec3303b Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Nov 6 22:13:53 2007 +0100 [IA64] fix number of bytes zeroed by sys_fw_init() in arch/ia64/hp/sim/boot/fw-emu.c The sizeof a pointer is constant, we want the sizeof what is pointed to. Zero out 'sizeof(*efi_systab)' bytes of the efi_system_table_t pointer 'efi_systab' instead. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Tony Luck commit e3ad42be1ee37ab277ef30555b772e0c803f3b69 Author: Tony Luck Date: Tue Nov 6 13:20:43 2007 -0800 [IA64] Fix perfmon sysctl directory modes New sanity checks in sysctl_check_table() complain about a couple of mode 0755 that should be 0555 in the perfmon code: sysctl table check failed: /kernel .1 Writable sysctl directory sysctl table check failed: /kernel/perfmon Writable sysctl directory Signed-off-by: Tony Luck commit 63d2583f5a1a0b72fea3f2171f23f0ca8fa556ec Author: Steve French Date: Mon Nov 5 21:46:10 2007 +0000 [CIFS] Fix walking out end of cifs dacl Acked-by: Shirish Pargaonkar Signed-off-by: Steve French commit 342fb3dda337f4b0c49e468cd930138c401ccce0 Author: David Brownell Date: Fri Oct 26 21:48:37 2007 +0100 [ARM] 4633/1: omap build fix when FB enabled This fixes a section error on OMAP when the framebuffer is enabled. Signed-off-by: David Brownell Acked-by: Tony Lindgren Signed-off-by: Russell King commit f33bac8dd4573428b94c67149c5607be489092d1 Author: Robert Schwebel Date: Mon Nov 5 17:59:25 2007 +0100 [ARM] 4642/2: netX: default config for netx based boards This patch updates the default config file for netx based boards. Signed-off-by: Robert Schwebel Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit 93e29a2ecaa8372c5bb9b996b8b43e03a7c37f3c Author: Robert Schwebel Date: Mon Nov 5 17:55:24 2007 +0100 [ARM] 4641/2: netX: fix kobject_name type With commit 5984a2fc7e7c9ab118e78ae9799e98fc4ade40f9 kobject_name() is correctly being used to access the name field of kobj, but that function needs a pointer to a kobject, not the kobject itself. Signed-off-by: Robert Schwebel Signed-off-by: Russell King commit f1d662a7d5e5322e583aad6b3cfec03d8f27b435 Author: Steve French Date: Mon Nov 5 14:38:08 2007 +0000 [CIFS] Add upcall files for cifs to use spnego/kerberos Acked-by: Jeff Layton Signed-off-by: Steve French commit c617360afaeeef4bf3768dc0537edfc72ffb2763 Author: Russell King Date: Thu Nov 1 21:27:59 2007 +0000 [ARM] Fix iop3xx macro Macro arguments used in expressions should have parens. This avoids warnings such as: drivers/serial/8250.c:1951: warning: suggest parentheses around arithmetic in operand of | Acked-by: Dan Williams Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit c26056bc488567ff769d8623e169598e4fd5d21a Author: Paul Mundt Date: Mon Nov 5 12:18:17 2007 +0900 sh64: Kill off duplicate includes. Follow the sh change. Signed-off-by: Paul Mundt commit e545937a51fe0cc78cea55752764daabb81ec96d Author: Jeff Layton Date: Sat Nov 3 05:11:06 2007 +0000 [CIFS] add OIDs for KRB5 and MSKRB5 to ASN1 parsing routines Also, fix the parser to recognize them and set the secType accordingly. Make CIFSSMBNegotiate not error out automatically after parsing the securityBlob. Also thanks to Q (Igor) and Simo for their help on this set of kerberos patches (and Dave Howells for help on the upcall). Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 84a15b935481fa651cc6ec60aed015312b67adda Author: Jeff Layton Date: Sat Nov 3 05:02:24 2007 +0000 [CIFS] Register and unregister cifs_spnego_key_type on module init/exit Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 09fe7ba78dedb9017401ed555ecc4435c99a7556 Author: Jeff Layton Date: Sat Nov 3 04:48:29 2007 +0000 [CIFS] implement upcalls for SPNEGO blob via keyctl API Add routines to handle upcalls to userspace via keyctl for the purpose of getting a SPNEGO blob for a particular uid and server combination. Clean up the Makefile a bit and set it up to only compile cifs_spnego if CONFIG_CIFS_UPCALL is set. Also change CONFIG_CIFS_UPCALL to depend on CONFIG_KEYS rather than CONFIG_CONNECTOR. cifs_spnego.h defines the communications between kernel and userspace and is intended to be shared with userspace programs. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 745542e210b3b15751ea9d511321924ac36b85db Author: Jeff Layton Date: Sat Nov 3 04:34:04 2007 +0000 [CIFS] allow cifs_calc_signature2 to deal with a zero length iovec Currently, cifs_calc_signature2 errors out if it gets a zero-length iovec. Fix it to silently continue in that case. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 7505e0525c914cdfdb54f43a7e70f038a16a5486 Author: Steve French Date: Thu Nov 1 18:03:01 2007 +0000 [CIFS] If no Access Control Entries, set mode perm bits to zero Also clean up ACL code Acked-by: Shirish Pargaonkar Signed-off-by: Steve French commit 29273158f82020241d9a6539d6cef9cf926654c9 Author: Steven A. Falco Date: Thu Nov 1 04:52:53 2007 +1100 [POWERPC] 4xx: Fix Walnut DTS interrupt property Re-order the EMAC interrupts in the walnut.dts file so that they are mapped correctly. Signed-off-by: Steve Falco Signed-off-by: Josh Boyer commit bd942ba3db60d3bd4e21febbe7c5e339d973d5a8 Author: Grant Likely Date: Wed Oct 31 17:41:20 2007 +1100 [POWERPC] ppc405 Fix arithmatic rollover bug when memory size under 16M mmu_mapin_ram() loops over total_lowmem to setup page tables. However, if total_lowmem is less that 16M, the subtraction rolls over and results in a number just under 4G (because total_lowmem is an unsigned value). This patch rejigs the loop from countup to countdown to eliminate the bug. Special thanks to Magnus Hjorth who wrote the original patch to fix this bug. This patch improves on his by making the loop code simpler (which also eliminates the possibility of another rollover at the high end) and also applies the change to arch/powerpc. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit b98ac05d5e460301fbea24cceed0f2a601c82e22 Author: Benjamin Herrenschmidt Date: Wed Oct 31 16:42:19 2007 +1100 [POWERPC] 4xx: Deal with 44x virtually tagged icache The 44x family has an interesting "feature" which is a virtually tagged instruction cache (yuck !). So far, we haven't dealt with it properly, which means we've been mostly lucky or people didn't report the problems, unless people have been running custom patches in their distro... This is an attempt at fixing it properly. I chose to do it by setting a global flag whenever we change a PTE that was previously marked executable, and flush the entire instruction cache upon return to user space when that happens. This is a bit heavy handed, but it's hard to do more fine grained flushes as the icbi instruction, on those processor, for some very strange reasons (since the cache is virtually mapped) still requires a valid TLB entry for reading in the target address space, which isn't something I want to deal with. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit e701d269aa28996f3502780951fe1b12d5d66b49 Author: Benjamin Herrenschmidt Date: Tue Oct 30 09:46:06 2007 +1100 [POWERPC] 4xx: Fix 4xx flush_tlb_page() On 4xx CPUs, the current implementation of flush_tlb_page() uses a low level _tlbie() assembly function that only works for the current PID. Thus, invalidations caused by, for example, a COW fault triggered by get_user_pages() from a different context will not work properly, causing among other things, gdb breakpoints to fail. This patch adds a "pid" argument to _tlbie() on 4xx processors, and uses it to flush entries in the right context. FSL BookE also gets the argument but it seems they don't need it (their tlbivax form ignores the PID when invalidating according to the document I have). Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala Signed-off-by: Josh Boyer commit 57d75561be5496289601b2c94787ec38c718fcae Author: Roel Kluin <12o3l@tiscali.nl> Date: Sun Oct 28 00:22:13 2007 +1000 [POWERPC] allocation fix in ppc/platforms/4xx/luan.c Don't allocate hose2 when when hose1 can't be allocated and free hose1 when hose2 can't be allocated. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Josh Boyer commit d1dfc35d3a62122b85ca975b80dcbf4a0da0bebc Author: Valentine Barshak Date: Fri Oct 26 04:16:40 2007 +1000 [POWERPC] 4xx: Workaround for the 440EP(x)/GR(x) processors identical PVR issue. PowerPC 440EP(x) 440GR(x) processors have the same PVR values, since they have identical cores. However, FPU is not supported on GR(x) and enabling APU instruction broadcast in the CCR0 register (to enable FPU) may cause unpredictable results. There's no safe way to detect FPU support at runtime. This patch provides a workarund for the issue. We use a POWER6 "logical PVR approach". First, we identify all EP(x) and GR(x) processors as GR(x) ones (which is safe). Then we check the device tree cpu path. If we have a EP(x) processor entry, we call identify_cpu again with PVR | 0x8. This bit is always 0 in the real PVR. This way we enable FPU only for 440EP(x). Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 1d6b698764084510fe6168bb5b650165dced03ae Author: Grant Likely Date: Tue Oct 23 14:27:46 2007 +1000 [POWERPC] Uartlite: speed up console output Change the wait_tx routine to call cpu_relax() instead of udelay() to reduce console output latency and test for the TXFULL bit instead of TXEMPTY. That way the FIFO doesn't need to by 100% flushed before writing the next character. Signed-off-by: Grant Likely Acked-by: Peter Korsgaard Signed-off-by: Josh Boyer commit 7ae0fa49c6502ca1ada0e043c5d25ee73c0a28c6 Author: Grant Likely Date: Tue Oct 23 14:27:41 2007 +1000 [POWERPC] Device tree bindings for Xilinx devices Signed-off-by: Grant Likely Acked-by: Stephen Neuendorffer Signed-off-by: Josh Boyer commit d47403733403bec7c050cce6f6ff56dfcf80b8b7 Author: Grant Likely Date: Tue Oct 23 14:27:36 2007 +1000 [POWERPC] bootwrapper: Bail from script if any command fails Add the 'set -e' command to the wrapper script so that if any command fails then the script will automatically exit Signed-off-by: Grant Likely Acked-by: David Gibson Signed-off-by: Josh Boyer commit 7f66c1fd03b64db5ddb24cc2ae150c9aebe30cb4 Author: Grant Likely Date: Tue Oct 23 14:27:31 2007 +1000 [POWERPC] bootwrapper: Allow wrapper script to execute verbosely Allow wrapper script to print verbose progress when the V is set in the environment. Signed-off-by: Grant Likely Acked-by: David Gibson Signed-off-by: Josh Boyer commit 1fb64bfc45b9ee5092b72474a5df216b8a0c7ff9 Author: Steve French Date: Thu Nov 1 02:12:10 2007 +0000 [CIFS] when mount helper missing fix slash wrong direction in share Kernel bugzilla bug #9228 If mount helper (mount.cifs) missing, mounts with form like //10.11.12.13/c$ would not work (only mounts with slash e.g. //10.11.12.13\\c$ would work) due to problem with slash supposed to be converted to backslash by the mount helper (which is not there). If we fail on converting an IPv4 address in in4_pton then try to canonicalize the first slash (ie between sharename and host ip address) if necessary. If we have to retry to check for IPv6 address the slash is already converted if necessary. Signed-off-by: Steve French commit 953f868138dbf4300196780379476ab9f07f263a Author: Steve French Date: Wed Oct 31 04:54:42 2007 +0000 [CIFS] Don't request too much permission when reading an ACL We were requesting GENERIC_READ but that fails when we do not have read permission on the file (even if we could read the ACL). Also move the dump access control entry code into debug ifdef. Signed-off-by: Steve French commit e01b64001359034d04c695388870936ed3d1b56b Author: Shirish Pargaonkar Date: Tue Oct 30 04:45:14 2007 +0000 [CIFS] enable get mode from ACL when cifsacl mount option specified Part 9 of ACL patch series. getting mode from ACL now works in some cases (and requires CIFS_EXPERIMENTAL config option). Signed-off-by: Shirish Pargaonkar Signed-off-by: Steve French commit f6ab0b922c3423b88c0e6e3e2c5fc1e58d83055d Author: Benjamin Herrenschmidt Date: Mon Oct 29 12:05:18 2007 +1100 [POWERPC] powerpc: Fix demotion of segments to 4K pages When demoting a process to use 4K HW pages (instead of 64K), which happens under various circumstances such as doing cache inhibited mappings on machines that do not support 64K CI pages, the assembly hash code calls back into the C function flush_hash_page(). This function prototype was recently changed to accomodate for 1T segments but the assembly call site was not updated, causing applications that do demotion to hang. In addition, when updating the per-CPU PACA for the new sizes, we didn't properly update the slice "map", thus causing the SLB miss code to re-insert segments for the wrong size. This fixes both and adds a warning comment next to the C implementation to try to avoid problems next time someone changes it. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit b9c7a2bb1e57f571d3b0763bdce1ce15510a7b78 Author: Steve French Date: Fri Oct 26 23:40:20 2007 +0000 [CIFS] ACL support part 8 Now GetACL in getinodeinfo path when cifsacl mount option used, and ACL is parsed for SIDs. Missing only one piece now to be able to retrieve the mode Signed-off-by: Steve French commit d61e5808d9a4e7c7f25914ceae50664a6454c3ca Author: Steve French Date: Fri Oct 26 04:32:43 2007 +0000 [CIFS] acl support part 7 Also fixes typo, build break Signed-off-by: Steve French commit 630f3f0c45a80ab907d216191ef4a205c249fa1b Author: Steve French Date: Thu Oct 25 21:17:17 2007 +0000 [CIFS] acl support part 6 Acked-by: Shirish Pargaonkar CC: Cyrill Gorcunov Signed-off-by: Steve French commit 44093ca2fef3c52dc7d186116862d74f9a676e0f Author: Steve French Date: Tue Oct 23 21:22:55 2007 +0000 [CIFS] acl support part 6 CC: Shirish Pargaonkar Signed-off-by: Steve French commit c94897790e7c67dcfe3a0b6f035996398c268313 Author: Parag Warudkar Date: Tue Oct 23 18:09:48 2007 +0000 [CIFS] remove unused funtion compile warning when experimental off get rid of couple of unused function warnings which show up when CONFIG_CIFS_EXPERIMENTAL is not defined - wrap them in #ifdef CONFIG_CIFS_EXPERIMENTAL. Patch against current git. Signed-off-by: Parag Warudkar Signed-off-by: Steve French commit 18a7247d1bb2e2dcbab628d7e786d03df5bf1eed Author: Dave Jones Date: Mon Oct 22 16:49:09 2007 -0400 [CPUFREQ] Fix up whitespace in conservative governor. Signed-off-by: Dave Jones commit a8d7c3bc2396aff14f9e920677072cb55b016040 Author: Elias Oltmanns Date: Mon Oct 22 09:50:13 2007 +0200 [CPUFREQ] Make cpufreq_conservative handle out-of-sync events properly Make cpufreq_conservative handle out-of-sync events properly Currently, the cpufreq_conservative governor doesn't get notified when the actual frequency the cpu is running at differs from what cpufreq thought it was. As a result the cpu may stay at the maximum frequency after a s2ram / resume cycle even though the system is idle. Signed-off-by: Elias Oltmanns Signed-off-by: Dave Jones commit c5829cd07ec4c08daa7ff91c821af9b2ac7748df Author: Mark Langsdorf Date: Wed Oct 17 16:52:08 2007 -0500 [CPUFREQ] architectural pstate driver for powernow-k8 This patch should apply cleanly to the 2.6.23-git7 kernel.  It changes the powernow-k8 driver code that deals with 3rd generation Opteron, Phenom, and later processors to match the architectural pstate driver described in the AMD64 Architecture Programmer's Manual Volume 2 Chapter 18.  The initial implementation of the hardware pstate driver for PowerNow! used some processor-version specific features, and would not be maintainable in the long term as the processor features changed. This architectural driver should work on all future AMD processors.   Signed-off-by: Mark Langsdorf Signed-off-by: Andreas Herrmann Signed-off-by: Dave Jones commit 4879b44829d94a1f8facf90cced3c5f23c5a8c62 Author: Steve French Date: Fri Oct 19 21:57:39 2007 +0000 [CIFS] ACL support part 5 Acked-by: Shirish Pargaonkar Signed-off-by: Steve French