- 26 Oct, 2004 7 commits
-
-
Roland McGrath authored
In general it is not safe to do any non-ptrace wakeup of a thread in TASK_TRACED, because the waking thread could race with a ptrace call that could be doing things like mucking directly with its kernel stack. AFAIK noone has established that whatever clobberation ptrace can do to a running thread is safe even if it will never return to user mode, so we can't allow this even for SIGKILL. What we _can_ safely do is make a thread switching out of TASK_TRACED resume rather than sitting in TASK_STOPPED if it has a pending SIGKILL or SIGCONT. The following patch does this. This should be sufficient for the shutdown case. When killing all processes, if the tracer gets killed first, the tracee goes into TASK_STOPPED and will be woken and killed by the SIGKILL (same as before). If the tracee gets killed first, it gets a pending SIGKILL and doesn't wake up immediately--but, now, when the tracer gets killed, the tracee will then wake up to die. This will also fix the (same) situations that can arise now where you have used gdb (or whatever ptrace caller), killed -9 the gdb and the process being debugged, but still have to kill -CONT the process before it goes away (now it should just go away either the first time or when you kill gdb). Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Benjamin Herrenschmidt authored
This is a batch of sparse fixes for things in arch/ppc64/* and include/asm-ppc64/* More to come of course... Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Benjamin Herrenschmidt authored
My latest 8250 patch prevented registration of "empty" ports (ports that have a 0 iobase in the static table). Unfortunately, some archs seem to rely on this, and so broke. This patch reverts that part of the patch. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Benjamin Herrenschmidt authored
This adds support for the Maple 970FX Eval Board. It adds the basic arch support. For the Maple to be fully functional, it needs a couple more patches to be applied for IDE and Ethernet that are currently pending with the respective maintainers of those subsystems. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Benjamin Herrenschmidt authored
The iommu_free_table() patch broke g5 only build by adding back some incestuous relationship between generic code and pSeries code. This wraps this in #ifdef as a quick fix until the original author of the patch comes up with a better solution. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Benjamin Herrenschmidt authored
On machines using the "ISU" mecanism for the MPIC, the new driver didn't properly calculate the new interrupt count when an ISU was added. That would cause later on failure to request interrupts in the offending range. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Benjamin Herrenschmidt authored
The ppc64 PCI code, when parsing the OF tree, may end up getting empty regions in addition to the "normal" ones for the PHB (some pSeries OF device-tree contains weird "ranges" properties). These are harmless but do trigger some annoying warnings during boot, so let's ignore them. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
- 25 Oct, 2004 33 commits
-
-
Benjamin Herrenschmidt authored
This patch fixes a couple of places where the ppc64 iSeries code would #include <stddef.h>. The only "system" include I consider acceptable is <stdarg.h> provided by gcc. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Benjamin Herrenschmidt authored
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Linus Torvalds authored
Duh. I had tested every "interesting" combination of SMP and PREEMPT, but the _trivial_ one was broken ;)
-
Benjamin Herrenschmidt authored
This removes some leftover code that was in #if 0 in the console autodetect code. It also adds passing of the default serial speed as console options when it is available from Open Firmware. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Benjamin Herrenschmidt authored
This improves the config space access routines on G5, by adding a generic helper function to locate the pci_controller structure (to be used by an upcoming new platform too) and cleaning up the pmac routines. It includes the fix to skip devices that aren't present in the OF tree that is necessary for newer G5 desktop models. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Benjamin Herrenschmidt authored
This patch adds proper __iomem annotations to the remaning IO macros on ppc64, and removes now useless casts from eeh.h. This fixes the sparse warnings in mpic.c among others. I need to do an equivalent things for ppc32 (though I think viro did some of it already) and fix users. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
kunmap_atomic() takes a kernel-virtual address, not a pageframe address. For the hundredth time. We really should get typechecking happening there.. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Tom Fredrik Blenning Klaussen authored
Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Peter Osterlund authored
The pktcdvd driver uses kunmap_atomic() incorrectly. The function is supposed to take an address as the first parameter, but the pktcdvd driver passed a page pointer. Thanks to Douglas Gilbert and Jens Axboe for discovering this. Signed-off-by: Peter Osterlund <petero2@telia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jan Kara authored
Fix end of lines in quota messages. Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Greg Edwards authored
We've run into problems at 512p with the kernel log buffer wrapping and overwriting some of the early boot output. This is with a CONFIG_LOG_BUF_SHIFT value of 20 (1MB). The patch below just bumps the max possible setting to 21 (2MB). Signed-off-by: Greg Edwards <edwardsg@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Colin Leroy authored
This patch cleans therm_adt746x a bit: lines at maximum 80 chars width, dispatches the big function in three little ones. Functionality not changed. Signed-off-by: Colin Leroy <colin@colino.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Bjorn Helgaas authored
PCDP: call acpi_register_gsi() with arguments in correct order Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Adrian Bunk authored
drivers/isdn/hisax/hisax_fcpcipnp.c: In function `hisax_fcpcipnp_init': drivers/isdn/hisax/hisax_fcpcipnp.c:999: warning: unused variable `pci_nr_found' Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Adrian Bunk authored
Adrian sent me a check for $100. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Margit Schubert-While authored
Add prism54 to MAINTAINERS Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Yanmin Zhang authored
hugetlb_get_unmapped_area() fails to find an unmapped area while unmapped area is huge. That's because hugetlb_get_unmapped_area just searches forward from mm->free_area_cache. If reaching TASK_SIZE, it does not go back to TASK_UNMAPPED_BASE, just returns -ENOMEM. 1) Add a specific hugetlb_get_unmapped_area on i386. 2) Generic hugetlb_get_unmapped_area is also fixed. Signed-off-by: Zhang Yanmin <yanmin.zhang@intel.com> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jesse Barnes authored
On some platforms (e.g. SGI Challenge, Origin, and Altix machines), writes to I/O space aren't ordered coming from different CPUs. For the most part, this isn't a problem since drivers generally spinlock around code that does writeX calls, but if the last operation a driver does before it releases a lock is a write and some other CPU takes the lock and immediately does a write, it's possible the second CPU's write could arrive before the first's. This patch adds a mmiowb() call to deal with this sort of situation, and adds some documentation describing I/O ordering issues to deviceiobook.tmpl. The idea is to mirror the regular, cacheable memory barrier operation, wmb. Example of the problem this new macro solves: CPU A: spin_lock_irqsave(&dev_lock, flags) CPU A: ... CPU A: writel(newval, ring_ptr); CPU A: spin_unlock_irqrestore(&dev_lock, flags) ... CPU B: spin_lock_irqsave(&dev_lock, flags) CPU B: writel(newval2, ring_ptr); CPU B: ... CPU B: spin_unlock_irqrestore(&dev_lock, flags) In this case, newval2 could be written to ring_ptr before newval. Fixing it is easy though: CPU A: spin_lock_irqsave(&dev_lock, flags) CPU A: ... CPU A: writel(newval, ring_ptr); CPU A: mmiowb(); /* ensure no other writes beat us to the device */ CPU A: spin_unlock_irqrestore(&dev_lock, flags) ... CPU B: spin_lock_irqsave(&dev_lock, flags) CPU B: writel(newval2, ring_ptr); CPU B: ... CPU B: mmiowb(); CPU B: spin_unlock_irqrestore(&dev_lock, flags) Note that this doesn't address a related case where the driver may want to actually make a given write get to the device before proceeding. This should be dealt with by immediately reading a register from the card that has no side effects. According to the PCI spec, that will guarantee that all writes have arrived before being sent to the target bus. If no such register is available (in the case of card resets perhaps), reading from config space is sufficient (though it may return all ones if the card isn't responding to read cycles). I've tried to describe how mmiowb() differs from PCI posted write flushing in the patch to deviceiobook.tmpl. Signed-off-by: Jesse Barnes <jbarnes@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Fulghum authored
Fix tty_io.c send_break() to assert break for proper duration. If driver break_ctl() changes task state, then break may end prematurely. USB serial driver break_ctl() sends a URB, changing task state to TASK_RUNNING. Signed-off-by: Paul Fulghum <paulkf@microgate.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jim Houston authored
idr_remove() should fail gracefully and warn if the id being removed is not valid. The attached patch should do the job without additional overhead. With the existing code, removing an id which was not allocated could remove a valid id which shares the same lowest layer of the radix tree. I ran a kernel with this patch but have not done any tests to force a failure. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Christoph Hellwig authored
Let's try to reduce the number of hand-crafted LFS checks Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Nick Piggin authored
Add zone->all_unreclaiable to the sysrq-M and omm-killing diagnostic output. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Christoph Lameter authored
This is needed for an mmtimer driver update that we are currently working on. The mmtimer driver provides CLOCK_SGI_CYCLE via clock_gettime and clock_settime. With this api fix one will be able to use timer_create, timer_settime and friends from userspace to schedule and receive signals via timer interrupts of mmtimer. Changelog * Clean up timer api for drivers that use register_posix_clock. Drivers will then be able to use posix timers to schedule interrupts. * Change API for posix_clocks[].timer_create to only pass one pointer to a k_itimer structure that is now allocated and managed by the posix layer in the same way as for the other posix timer functions. * Isolate a posix_timer_event(timr) function in posix-timers.c that may be called by the interrupt routine of a timer to signal that the scheduled event has taken place. Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Roman Zippel authored
This exports the hfs type/creator info via xattr. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Roman Zippel authored
Write back the information for a dirty resource inode directly and not via the main inode, as at the time the latter is written the former might already be gone. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Roman Zippel authored
Fix a small typo and read the correct time for a dir. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Roman Zippel authored
Manage the fs block count with a separate variable and keep a correct i_blocks for e.g. correct du output. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Roman Zippel authored
hfs has two dirty bits, but currently OS X uses only one of them, so match its behaviour, so that a uncleanly unmounted disk can be mounted r/w again, after it has been checked. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Roman Zippel authored
After a file has been renamed, the cached search key must be updated. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jesse Barnes authored
Small patch to add __iomem annotations to mmtimer.c. Signed-off-by: Jesse Barnes <jbarnes@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Suresh B. Siddha authored
- Remove the call to quirk_intel_irqbalance() from quirk_pciehp_msi(). - Move the x86(/x86_64)-specific quirk_intel_irqbalance() into x86 quirks.c due to its dependency on <linux/irq.h> - Mark it __init rather than __devinit, since it calls __init functions. Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Stephen D. Smalley authored
This patch against 2.6.9 adds a DAC ownership check to the existing MAC permission checks when setting the security.selinux attribute via setxattr. In the past, the MAC permission checks were viewed as sufficient for controlling relabeling operations, but experience in the Fedora SELinux integration has shown that a DAC check is also appropriate here, particularly under targeted policy. Signed-off-by: Stephen Smalley <sds@epoch.ncsc.mil> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Randy Dunlap authored
Ignore __param section references; they aren't discarded. Error: ./drivers/mtd/devices/phram.o __param refers to 0000000000000010 R_X86_64_64 .init.text+0x0000000000000013 Error: ./drivers/scsi/dc395x.o __param refers to 0000000000000020 R_X86_64_64 .init.data+0x0000000000000064 Error: ./drivers/usb/gadget/ether.o __param refers to 0000000000000048 R_X86_64_64 .init.data+0x0000000000000020 Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-