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 commi