- 20 Jan, 2005 40 commits
-
-
Andi Kleen authored
Fix SMP race in NMI watchdog on i386/x86-64 Fix a long standing SMP Setup race in the NMI watchdog. The watchdog would tick from very early and check if all CPUs increase their timer interrupts. For that it would check the cpu_online_map. Now if a CPU took too long to boot the watchdog would trigger prematurely because the CPU didn't increase its timer count yet. Fix is to check cpu_callin_map instead of cpu_online_map because the first is only set when a CPU started its timer interrupt. I fixed it on i386 and x86-64. Description of the problem from Manpreet Singh. Thanks. Cc: <manpreet@fabric7.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andi Kleen authored
Fix a long standing race in x86-64 SMP TLB handling. When a mm is freed and another thread exits to a lazy TLB thread (like idle) the freed user page tables would be still kept loaded in the idle thread. When an interrupt does a prefetch on NULL the CPU would try to follow it and read random data. This could lead to machine checks on Opterons in some cases. Credit goes to some unnamed debugging wizards at AMD who described the problem. All blame to me. I did the fix based on their description. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andi Kleen authored
Check if node exists during CMP setup and fall back to other node if needed. This avoids a crash when the NUMA node discovery fails (e.g. due to node interleaving in the BIOS or numa=off) Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Matthew Dobson authored
More missing nodemask.h inclusions. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Vincent Hanquez authored
Hi, the following patch: - correct the err variable tested twice when _NSIG_WORDS == 1 (unlikely to happen, but ..) - remove some |= in favor of = because we don't need to 'pack' err Signed-off-by: Vincent Hanquez <tab@snarc.org> Acked-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
Correct .text references to .init.data; init_intel_cacheinfo() can be __init. Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Suresh B. Siddha authored
Current code can lead to corruption. Use cpumask_t instead of unsigned long. 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>
-
Rik van Riel authored
In unprivileged Xen domains, all that __ioremap() does is a "return NULL", which causes dmi_iterate() to crash the kernel at boot time. This trivial check bails dmi_iterate() out of the loop when it finds that the ioremap() returned a NULL pointer. (akpm: this fix goes beyond xen - ioremap can return NULL) Signed-off-by: Rik van Riel <riel@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Stephen Rothwell authored
This patch removes some unused stuff from PPC64 iSeries: - asm-ppc64/iSeries/iSeries_VpdInfo.h - iSeries_GetLocationData() - LocationData structure - device_Location() Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Milton D. Miller II authored
We werent enforcing the minimum hardware MMU hashtable size. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Benjamin Herrenschmidt authored
The g5 code has special hooks to "hide" some PCI devices when they are off. Currently, this code involves some calls to match a pci_dev from the open firmware node and such things that are causing some problems with the latest version of my sungem driver who wants to do some of this in atomic contexts. This patch moves that to a list of struct device_node instead, which also ends up simplifying the code. Later, I'll go back to manipulating PCI devices in a clean way when Brian King's PCI blocking patch gets in, but only after I change sungem again to never call these in atomic context. This is a 3 step transition basically Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Linas Vepstas authored
This describes the PCI bus EEH "Extended Error Handling" concepts and operation. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Anton Blanchard authored
Replace CONFIG_IRQ_ALL_CPUS with a boot option (noirqdistrib). Compile options arent much use on a distro kernel. This also removes the ppc64 use of smp_threads_ready. I considered removing the option completely but we have had problems in the past with firmware bugs. In those cases the boot option would have helped. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Tom Rini authored
When the update_process_times call was moved out of do_timer for the UP case, the replicator didn't track down the hiding and just added ifndef SMP. This removes the ifdefs and the indirection of calling another file for one function in a third file. I also removed the per-cpu multipler and counter. On some architectures (x86 and sparc64) these are set via /proc/profile setup_profiling_timer to increase the timer interrupt by a factor over HZ. However, this was not not implemented for ppc (like several other architectures), so it was just decrementing, testing, and setting per-cpu variables back to 1. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Tom Rini <trini@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Tom Rini authored
There is a problem in the TLB Miss (and Error, as they jump to the Miss handler) handlers. The problem is that when an app spans more than one L1 entry, we don't have all of the correct information, and do_page_fault() things a protection fault happened, when it didn't really. The fix for this is to modify the handlers slightly to force a TLB Error in this case. Lots of suggestions from: Joakim Tjernlund <joakim.tjernlund@lumentis.se> Signed-off-by: Tom Rini <trini@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Tom Rini authored
Replace save_flags()/resore_flags() with spin_lock_irqsave() / spin_unlock_irqrestore() and document reasons for locking in the Qspan PCI code. Signed-off-by: James Nelson <james4765@gmail.com> Signed-off-by: Tom Rini <trini@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Tom Rini authored
Replace cli() function call with local_irq_disable() in shutdown code for MPC8xx platforms. Signed-off-by: James Nelson <james4765@gmail.com> Signed-off-by: Tom Rini <trini@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Tom Rini authored
Replace cli() function calls with local_irq_disable() in shutdown / restart code for pal4. Signed-off-by: James Nelson <james4765@gmail.com> Signed-off-by: Tom Rini <trini@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Tom Rini authored
Replace cli() function call with local_irq_disable() in restart code on APUS. Signed-off-by: James Nelson <james4765@gmail.com> Signed-off-by: Tom Rini <trini@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Tom Rini authored
Replace save_flags()/resore_flags() with spin_lock_irqsave()/spin_unlock_irqrestore() and document reasons for locking. Signed-off-by: James Nelson <james4765@gmail.com> Signed-off-by: Tom Rini <trini@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Tom Rini authored
Replace save_flags()/resore_flags() with spin_lock_irqsave()/spin_unlock_irqrestore() and document reasons for locking. Signed-off-by: James Nelson <james4765@gmail.com> Signed-off-by: Tom Rini <trini@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Tom Rini authored
Replace save_flags()/restore_flags() with spin_lock_irqsave()/spin_unlock_irqrestore() and document reasons for using spinlocks. Signed-off-by: James Nelson <james4765@gmail.com> Signed-off-by: Tom Rini <trini@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Kumar Gala authored
Convert gianfar ethernet driver from using an OCP to platform_device. Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Kumar Gala authored
Convert MPC8540 ADS, MPC8560 ADS, MPC8555 CDS and SBC8560 reference boards from using OCP to platform_device. Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Kumar Gala authored
- Described all devices available on current MPC85xx CPUs (mem & irq) - Added cpu descriptions for the MPC8540, MPC8541, MPC8541, MPC8555, MPC8555E, and MPC8560. * Removed OCP usage from MPC85xx sub-arch Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Kumar Gala authored
On most embedded PPC systems we either have a core CPU and chipset (MPC10x, TSI10x, Marvell, etc.) or a system-on-chip device (4xx, 8xx, 82xx, 85xx, etc.). Some of these sub-archs have been using the On Chip Peripheral (OCP) driver model. The functionality that OCP provide has been replaced by the generic driver model and platform_device. Also, some of these device may exist across a number of architectures (PPC, MIPS, ARM) such that some information that is shared between the architecture and driver needs to exist outside of either. The ppc_sys changes add a standard way for PowerPC systems to describe the devices and systems that exist in the sub-arch. Additionally, we are able to discover which system we are and manage which devices are actually registered and any platform specific fixups that may be needed. Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Benjamin Herrenschmidt authored
This patch fixes a warning by adding a missing function prototype for enable_kernel_altivec(). Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Benjamin Herrenschmidt authored
This patch updates the ppc32 cpu state save/restore code to deal with the Motorola/Freescale MPC7447A, used, among others, on recent Apple laptops. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
James Morris authored
This patch adds Netlink message types related to the TC action code, allowing finer grained SELinux control of this. Author: jamal <hadi@cyberus.ca> Signed-off-by: James Morris <jmorris@redhat.com> 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>
-
Serge Hallyn authored
The audit control messages are sent over netlink. Permission checks are done on the process receiving the message, which may not be the same as the process sending the message. This patch switches the netlink_send security hooks to calculate the effective capabilities based on the sender. Then audit_receive_msg performs capability checks based on that. It also introduces the CAP_AUDIT_WRITE and CAP_AUDIT_CONTROL capabilities, and replaces the previous CAP_SYS_ADMIN checks in audit code with the appropriate checks. - Simplified dummy_netlink_send given that dummy now keeps track of capabilities. - Many fixes based on feedback from <linux-audit@redhat.com> list. - Removed the netlink_msg_type helper function. - Switch to using CAP_AUDIT_WRITE and CAP_AUDIT_CONTROL. Signed-off-by: Serge Hallyn <serue@us.ibm.com> Signed-off-by: Stephen Smalley <sds@epoch.ncsc.mil> Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Oleg Nesterov authored
Introduces a __mod_page_state(offset, delta) function and converts mod_page_state() to use it. Unexports and staticizes page_states per cpu variable. text data bss dec hex filename 1818704 615884 0 2434588 25261c vmlinux-old 1817632 615884 0 2433516 2521ec vmlinux-new 1072 bytes. (Adds 64 bytes without CONFIG_SMP). Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mackerras authored
This patch lets us use TIOCMIWAIT and TIOCGICOUNT from a 32-bit process on a 64-bit processor. TIOCMIWAIT uses the argument as a bitmap of things to wait for. The argument for TIOCGICOUNT points to a struct serial_icounter_struct, which only contains ints and arrays of int. Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Benjamin Herrenschmidt authored
The recent oprofile changes for Motorola e500 broke oprofile for other CPUs. This patch fixes the build. Proper support for the G3/G4 PMCs would be interesting, and making sure the basic interrupt PC sampling still works on CPUs that don't have supported PMCs too... Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Daniel McNeil authored
This is a patch to generic_file_buffered_write() to correctly handle partial O_DIRECT writes (because of unallocated blocks) when there is more than 1 iovec. Without this patch, the code is writing the wrong iovec (it writes the first iovec a 2nd time). Included is a test program dio_bug.c that shows the problem by: writing 4k to offset 4k writing 4k to offset 12k writing 8k to offset 4k The result is that 8k write writes the 1st 4k of the buffer twice. $ rm f; ./dio_bug f wrong value offset 8k expected 0x33 got 0x11 wrong value offset 10k expected 0x44 got 0x22 with patch $ rm f; ./dio_bug f #define _GNU_SOURCE #include <sys/types.h> #include <unistd.h> #include <stdlib.h> #include <fcntl.h> #include <sys/uio.h> main(int argc, char **argv) { int fd; char *buf; int i; struct iovec v[2]; fd = open(argv[1], O_DIRECT|O_RDWR|O_CREAT, 0666); if (fd < 0) { perror("open"); exit(1); } buf = valloc(8192); lseek(fd, 0x1000, SEEK_SET); memset(buf, 0x11, 2048); memset(buf+2048, 0x22, 2048); i = write(fd, buf, 4096); /* 4k write of 0x11 and 0x22 at 4k */ lseek(fd, 0x3000, SEEK_SET); memset(buf, 0x55, 2048); memset(buf+2048, 0x66, 2048); i = write(fd, buf, 4096); /* 4k write of 0x55 and 0x66 at 12k */ lseek(fd, 0x1000, SEEK_SET); i = read(fd, buf, 4096); memset(buf+4096, 0x33 , 2048); memset(buf+4096+2048, 0x44 , 2048); v[0].iov_base = buf; v[0].iov_len = 4096; v[1].iov_base = buf + 4096; v[1].iov_len = 4096; lseek(fd, 0x1000, SEEK_SET); i = writev(fd, v, 2); /* 8k write of 0x11, 0x22, 0x33, 0x44 at 4k */ lseek(fd, 0x2000, SEEK_SET); i = read(fd, buf, 4096); if (buf[0] != 0x33) printf("wrong value offset 8k expected 0x33 got 0x%x\n", buf[0]); if (buf[2048] != 0x44) printf("wrong value offset 10k expected 0x44 got 0x%x\n", buf[2048]); } Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Steve Longerbeam authored
It appears that this statement got lost during patch merging. We don't want to free the node which we just added. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Chris Wright authored
Mips RLIMIT_MEMLOCK incorrectly defaults to unlimited, it was confused with RLIMIT_NPROC. Found while consolidating resource.h headers. Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
drivers/acpi/debug.c:22: parse error before string constant drivers/acpi/debug.c:22: warning: type defaults to `int' in declaration of `__MODULE_INFO' drivers/acpi/debug.c:22: warning: function declaration isn't a prototype drivers/acpi/debug.c:22: warning: data definition has no type or storage class drivers/acpi/debug.c:23: parse error before string constant drivers/acpi/debug.c:23: warning: type defaults to `int' in declaration of `__MODULE_INFO' drivers/acpi/debug.c:23: warning: function declaration isn't a prototype drivers/acpi/debug.c:23: warning: data definition has no type or storage class Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
bk://linux-dj.bkbits.net/agpgartLinus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
Dave Jones authored
Spotted by Marco Cipullo Signed-off-by: Dave Jones <davej@redhat.com>
-
bk://linux-dj.bkbits.net/cpufreqLinus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-