- 20 Oct, 2004 4 commits
-
-
Keith Owens authored
There is a rare deadlock condition during unwind script creation. If build_script() is interrupted in the middle of creating the script, it holds the script write lock. If the interrupt handler needs to call unwind for some failure condition, unwind will try to read the incomplete script and will deadlock on the script lock. The fix is to disable interrupts while building the script, so interrupt handlers never see partial scripts. Promoting spin_lock_irqsave() from script_new() to find_save_locs() changes the indentation, so the patch looks bigger than it really is. Signed-off-by: Keith Owens <kaos@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
-
Tony Luck authored
window is not zeroed, so the flags should be assigned, not modified. This can lead to crashes at boot if the IO and Memory resources overlap. Patch supplied by Matthew Wilcox Signed-off-by: Tony Luck <tony.luck@intel.com>
-
Arun Sharma authored
Signed-off-by: Arun Sharma <arun.sharma@intel.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
-
Tony Luck authored
Patch submitted by H. J. Lu Gcc 3.4.2 fixed ia64 -mtune=merced regressions on Linux 2.6 kernel: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16278 I have been using this patch for several months now. Signed-off-by: Tony Luck <tony.luck@intel.com>
-
- 19 Oct, 2004 6 commits
-
-
Tony Luck authored
into agluck-lia64.sc.intel.com:/data/home/aegl/BK/linux-ia64-release-2.6.10
-
Pat Gefre authored
Signed-off-by: Patrick Gefre <pfg@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
-
Robin Holt authored
During peak utilization periods, the first interface on a node has an inordinately large amount of contention. This is due to all cpus starting their scan for an interface at 0. This patch distributes that based upon the slice the requesting cpu is attached to. Signed-off-by: Robin Holt Signed-off-by: Tony Luck <tony.luck@intel.com>
-
Robin Holt authored
The SN2 Block Transfer Engine occassionally fails to send a notification that it has completed a transfer to the kernel. This patch adds a timeout mechanism which will detect the failure, reset the interface, and then retry the transfer. Signed-off-by: Robin Holt Signed-off-by: Tony Luck <tony.luck@intel.com>
-
Pat Gefre authored
Signed-off-by: Patrick Gefre <pfg@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
-
Robin Holt authored
If all bte interfaces are in use, the current code will leave the bte pointer set when exiting from the loop trying to locate an interface to use. This results in two processes using the same interface and both trying to free the same one. With a premptible kernel, this results in the preempt count getting off. Signed-off-by: Robin Holt <holt@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
-
- 18 Oct, 2004 6 commits
-
-
Linus Torvalds authored
-
Greg Kroah-Hartman authored
Andrew requested this fix go in before 2.6.9 was out, to keep people's syslog quiet for a lot of different USB input devices. Fixes bug bugzilla.kernel.org bug #3564 Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Nicolas Pitre authored
I apparently can't copy simple obvious fixes by hand. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Nicolas Pitre authored
This obvious missing unlock is screwing the preemption count. Fix was applied to MTD CVS already. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Oliver Neukum authored
The firmware loader has a security issue. Firmware on some devices can write to all memory through DMA. Therefore the ability to feed firmware to the kernel is equivalent to writing to /dev/kmem. CAP_SYS_RAWIO is needed to protect itself. [ Editors note: the firmware file is 0644, and owned by root, so this "security issue" is really only an issue for people who use capabilities explicitly, rather than the regular Unix permissions. This patch makes it do the same checks we do for /dev/mem etc. ] Signed-Off-By: Oliver Neukum <oliver@neukum.name> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Mark Goodman authored
This patch is necessary to make NFS3 krb5 clients work on x86-64. ACK'ed by Trond Signed-off-by: Mark Goodman <mgoodman@csua.berkeley.edu> Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
- 17 Oct, 2004 5 commits
-
-
Nathan Lynch authored
This change is needed in order to allow cpus to be onlined after boot. This used to work but the declaration of pseries_secondary_smp_init in this file was changed in Ben's big cleanup patch a while back, so the cpu would start at a bad address. Signed-off-by: Nathan Lynch <nathanl@austin.ibm.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Nick Piggin authored
Fix some bugs in the kswapd logic which can cause kswapd lockups. The balance_pgdat() logic is supposed to cause kswapd to loop across all zones in the node until each zone either a) has enough pages free or b) is deemed to be in an "all pages unreclaimable" state. In the latter case, we just give the zone a light scan on each balance_pgdat() scan and wait for the zone to come back to life again. But the zone->all_unreclaimable logic is broken - if the zone has no pages on the LRU at all, we perform no scanning of that zone (of course). So the zone->pages_scanned is not incremented and the expression if (zone->pages_scanned > zone->present_pages * 2) zone->all_unreclaimable = 1; never is satisfied. The patch changes that logic to if (zone->pages_scanned >= (zone->nr_active + zone->nr_inactive) * 4) zone->all_unreclaimable = 1; so if the zone has no LRU pages it will still enter the all_unreclaimable state. Another problem is that if the zone has no LRU pages we will tell shrink_slab() that we scanned zero LRU pages. This causes shrink_slab() to scan zero slab objects, which is obviously wrong. So change shrink_slab() to perform a decent chunk of slab scanning in this situation. And put a cond_resched() into the balance_pgdat() outer loop. Probably unnecessary, but that's what Jeff had in place when he confirmed that this patch fixed the lockup :( Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Pavel Machek authored
In assembly code, there are some problems with "nosave" section (linker was doing something stupid, like duplicating the section). We attempted to fix it, but fix was worse then first problem. This fixes is for good: We no longer use any memory in the copy loop. (Plus it fixes indentation and uses meaningful labels.) Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Ingo Molnar authored
A hack to prevent the compiler from generatin tailcalls in these two functions. With CONFIG_REGPARM=y, the tailcalled code ends up stomping on the syscall's argument frame which corrupts userspace's registers. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Randy Dunlap authored
Fix error found by 'scripts/reference_discarded.pl': Error: ./drivers/char/agp/intel-agp.o .data refers to 00000914 R_386_32 .exit.text Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
- 16 Oct, 2004 6 commits
-
-
Benjamin Herrenschmidt authored
As Milton noticed, Anton actually broke the logic if the memory isn't aligned in the first place. Sorry about this mess for such a little piece of code. This _really_ fixes is it all Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Olaf Hering authored
Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Anton Blanchard authored
I found a couple of issues with reserve_mem: - If we try and mem_reserve something of zero length, everything reserved after it would get ignored. This is because early_reserve_mem sees a zero length as a terminator. - The code rounded the top down instead of up. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Benjamin Herrenschmidt authored
This patch adds proper ppc32 "iomap" interfaces. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Benjamin Herrenschmidt authored
Nowadays, it's possible to build CONFIG_PPC_PMAC without CONFIG_PPC_PSERIES, in which case, eeh will not be included in the build (and the eeh checks are turned into no-ops). However, we then "lose" the iomap functions. This patch moves them to a separate file. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
Fix bug identified by Badari Pulavarty <pbadari@us.ibm.com> Local variable `handle' will become stale if ext3_direct_io_get_blocks() closes off the current transaction and starts a new one. This causes a BUG in journal_stop(). So reacquire the handle from *current after performing the I/O. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
- 15 Oct, 2004 3 commits
-
-
Linus Torvalds authored
Let's try the 2.4.x release methodology
-
bk://kernel.bkbits.net/gregkh/linux/fix-2.6Linus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
John Rose authored
Hoping you will accept this fix. The bug can cause a crash upon hotplug remove. The bug involves unsafe traversal of a list while deleting list members. The fix uses list_for_each_safe() rather than list_for_each(). Also threw in an initialization to get rid of a compiler warning. Signed-off-by: John Rose <johnrose@austin.ibm.com> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
- 14 Oct, 2004 2 commits
-
-
Linus Torvalds authored
A bridge that has been set up by firmware to cover multiple PCI buses but doesn't actually have anything connected behind some of them caused us to use the incorrect maxmimum bus number span when scanning the bridge chip. Problem reported by Tim Saunders, with Russell King suggesting the fix.
-
Linus Torvalds authored
Make sure we order the writes to a newly created page with the page table update that potentially exposes the page to another CPU. This is a no-op on any architecture where getting the page table spinlock will already do the ordering (notably x86), but other architectures can care.
-
- 13 Oct, 2004 8 commits
-
-
Yoshinori Sato authored
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paolo \'Blaisorblade\' Giarrusso authored
From: Lars Ellenberg <Lars.Ellenberg@linbit.com> Add a memory barrier to the assembly checksum code - the code was copied straight from the i386 one, and the patch resyncs the code with the original. I'll check if the original code can be included directly (i.e. "#include") after 2.6.9. Without this patch, every 2.6 UML release corrupts the checksum of every UDP fragmented packet with size >= MTU (verified by various people, we all agree on this issue; nobody reported "Works fine here"). The corrupted packets are not accepted, thus blocking any kind of communication with large-sized UDP packets. In fact, I've even dissected the UML -> host traffic before and after this patch with Ethereal - and it always reported an incorrect checksum for fragmented UDP packets before and always correct after applying the patch. Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paolo \'Blaisorblade\' Giarrusso authored
Currently, ubd=sync is different from replacing ubd#= with ubd#s=. This is against Principle of Least Surprise, so remove this difference. Also the current ubd=sync behaviour is completely useless: it is to make sure that when the kernel has synched its I/O to the virtual disk, the host does not invalidate this with his caching; this causes ReiserFS corruption. But since actually we call end_request() only after the io_thread has done its work, we never lie to the block layer. Using O_SYNC as we do when replacing ubd#= with ubd#s= is enough. Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paolo \'Blaisorblade\' Giarrusso authored
From: BlaisorBlade <blaisorblade_spam@yahoo.it>, Chris Wright <chrisw@osdl.org> Avoid deadlocking onto the request lock in the UBD driver, i.e. don't lock the queue spinlock when called from the request function. In detail: Rename ubd_finish() to __ubd_finish() and remove ubd_io_lock from it. Add wrapper, ubd_finish(), which grabs lock before calling __ubd_finish(). Update do_ubd_request to use the lock free __ubd_finish() to avoid deadlock. Also, apparently prepare_request is called with ubd_io_lock held, so remove locks there. Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paolo \'Blaisorblade\' Giarrusso authored
Some configuration options are known not to compile. So then make them depend on CONFIG_BROKEN. Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paolo \'Blaisorblade\' Giarrusso authored
Remove one more symlink when doing make mrproper ARCH=um Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paolo \'Blaisorblade\' Giarrusso authored
Drop the usage of check_gcc and host-progs, and use their new names. A must-have :-). Oh, and it will create lots of serious problems - it will give me your root account! Yes, you don't see the code in the patch, but it happens! :-))) Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paolo \'Blaisorblade\' Giarrusso authored
Makes the UML build system work well even under parallel make (tested, so far, even with -j50). Please notice that it must be updated for every makefile change. Or better, every makefile change must use correct dependencies (and they are easy to miss). Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-