diff options
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/baget/irq.c | 2 | ||||
-rw-r--r-- | arch/mips/baget/vacserial.c | 2 | ||||
-rw-r--r-- | arch/mips/dec/irq.c | 2 | ||||
-rw-r--r-- | arch/mips/defconfig | 1 | ||||
-rw-r--r-- | arch/mips/defconfig-decstation | 1 | ||||
-rw-r--r-- | arch/mips/defconfig-ip22 | 1 | ||||
-rw-r--r-- | arch/mips/defconfig-rm200 | 1 | ||||
-rw-r--r-- | arch/mips/galileo-boards/ev64120/irq.c | 2 | ||||
-rw-r--r-- | arch/mips/galileo-boards/ev64120/pci_bios.c | 2 | ||||
-rw-r--r-- | arch/mips/galileo-boards/ev96100/irq.c | 2 | ||||
-rw-r--r-- | arch/mips/gt64120/common/irq.c | 2 | ||||
-rw-r--r-- | arch/mips/gt64120/common/pci.c | 2 | ||||
-rw-r--r-- | arch/mips/gt64120/momenco_ocelot/irq.c | 2 | ||||
-rw-r--r-- | arch/mips/kernel/irixelf.c | 2 | ||||
-rw-r--r-- | arch/mips/kernel/irq.c | 2 | ||||
-rw-r--r-- | arch/mips/kernel/old-irq.c | 2 | ||||
-rw-r--r-- | arch/mips/kernel/process.c | 2 | ||||
-rw-r--r-- | arch/mips/kernel/setup.c | 2 | ||||
-rw-r--r-- | arch/mips/kernel/sysirix.c | 2 | ||||
-rw-r--r-- | arch/mips/mm/extable.c | 19 | ||||
-rw-r--r-- | arch/mips/sgi/kernel/indy_int.c | 2 |
21 files changed, 33 insertions, 22 deletions
diff --git a/arch/mips/baget/irq.c b/arch/mips/baget/irq.c index 2fd91c9c9..3a7e9b177 100644 --- a/arch/mips/baget/irq.c +++ b/arch/mips/baget/irq.c @@ -14,7 +14,7 @@ #include <linux/interrupt.h> #include <linux/ioport.h> #include <linux/timex.h> -#include <linux/malloc.h> +#include <linux/slab.h> #include <linux/random.h> #include <linux/delay.h> diff --git a/arch/mips/baget/vacserial.c b/arch/mips/baget/vacserial.c index 12021daf4..61e459dfe 100644 --- a/arch/mips/baget/vacserial.c +++ b/arch/mips/baget/vacserial.c @@ -56,7 +56,7 @@ #include <linux/ptrace.h> #include <linux/ioport.h> #include <linux/mm.h> -#include <linux/malloc.h> +#include <linux/slab.h> #include <linux/init.h> #include <linux/delay.h> #ifdef CONFIG_SERIAL_CONSOLE diff --git a/arch/mips/dec/irq.c b/arch/mips/dec/irq.c index e57485d25..95bdc9ca2 100644 --- a/arch/mips/dec/irq.c +++ b/arch/mips/dec/irq.c @@ -13,7 +13,7 @@ #include <linux/interrupt.h> #include <linux/ioport.h> #include <linux/timex.h> -#include <linux/malloc.h> +#include <linux/slab.h> #include <linux/random.h> #include <asm/bitops.h> diff --git a/arch/mips/defconfig b/arch/mips/defconfig index 9cea1dad3..1f78df82e 100644 --- a/arch/mips/defconfig +++ b/arch/mips/defconfig @@ -323,6 +323,7 @@ CONFIG_PARTITION_ADVANCED=y # CONFIG_MAC_PARTITION is not set CONFIG_MSDOS_PARTITION=y # CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set # CONFIG_SOLARIS_X86_PARTITION is not set # CONFIG_UNIXWARE_DISKLABEL is not set CONFIG_SGI_PARTITION=y diff --git a/arch/mips/defconfig-decstation b/arch/mips/defconfig-decstation index 872744d32..6da63e12a 100644 --- a/arch/mips/defconfig-decstation +++ b/arch/mips/defconfig-decstation @@ -317,6 +317,7 @@ CONFIG_OSF_PARTITION=y # CONFIG_MAC_PARTITION is not set CONFIG_MSDOS_PARTITION=y # CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set # CONFIG_SOLARIS_X86_PARTITION is not set # CONFIG_UNIXWARE_DISKLABEL is not set # CONFIG_SGI_PARTITION is not set diff --git a/arch/mips/defconfig-ip22 b/arch/mips/defconfig-ip22 index 9cea1dad3..1f78df82e 100644 --- a/arch/mips/defconfig-ip22 +++ b/arch/mips/defconfig-ip22 @@ -323,6 +323,7 @@ CONFIG_PARTITION_ADVANCED=y # CONFIG_MAC_PARTITION is not set CONFIG_MSDOS_PARTITION=y # CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set # CONFIG_SOLARIS_X86_PARTITION is not set # CONFIG_UNIXWARE_DISKLABEL is not set CONFIG_SGI_PARTITION=y diff --git a/arch/mips/defconfig-rm200 b/arch/mips/defconfig-rm200 index a9c2aee2f..d5196eb35 100644 --- a/arch/mips/defconfig-rm200 +++ b/arch/mips/defconfig-rm200 @@ -340,6 +340,7 @@ CONFIG_PARTITION_ADVANCED=y # CONFIG_MAC_PARTITION is not set CONFIG_MSDOS_PARTITION=y # CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set # CONFIG_SOLARIS_X86_PARTITION is not set # CONFIG_UNIXWARE_DISKLABEL is not set CONFIG_SGI_PARTITION=y diff --git a/arch/mips/galileo-boards/ev64120/irq.c b/arch/mips/galileo-boards/ev64120/irq.c index 44b0bf092..ff2d0c25f 100644 --- a/arch/mips/galileo-boards/ev64120/irq.c +++ b/arch/mips/galileo-boards/ev64120/irq.c @@ -41,7 +41,7 @@ #include <linux/interrupt.h> #include <linux/ioport.h> #include <linux/timex.h> -#include <linux/malloc.h> +#include <linux/slab.h> #include <linux/random.h> #include <linux/irq.h> #include <asm/bitops.h> diff --git a/arch/mips/galileo-boards/ev64120/pci_bios.c b/arch/mips/galileo-boards/ev64120/pci_bios.c index 75d2b4c8b..8500c4c0a 100644 --- a/arch/mips/galileo-boards/ev64120/pci_bios.c +++ b/arch/mips/galileo-boards/ev64120/pci_bios.c @@ -36,7 +36,7 @@ #include <linux/types.h> #include <linux/pci.h> #include <linux/kernel.h> -#include <linux/malloc.h> +#include <linux/slab.h> #include <linux/version.h> #include <asm/pci.h> #include <asm/io.h> diff --git a/arch/mips/galileo-boards/ev96100/irq.c b/arch/mips/galileo-boards/ev96100/irq.c index 3cff158fa..7a7b7d9de 100644 --- a/arch/mips/galileo-boards/ev96100/irq.c +++ b/arch/mips/galileo-boards/ev96100/irq.c @@ -43,7 +43,7 @@ #include <linux/interrupt.h> #include <linux/ioport.h> #include <linux/timex.h> -#include <linux/malloc.h> +#include <linux/slab.h> #include <linux/random.h> #include <asm/bitops.h> diff --git a/arch/mips/gt64120/common/irq.c b/arch/mips/gt64120/common/irq.c index c0fdcc44a..5192dfa1e 100644 --- a/arch/mips/gt64120/common/irq.c +++ b/arch/mips/gt64120/common/irq.c @@ -41,7 +41,7 @@ #include <linux/interrupt.h> #include <linux/ioport.h> #include <linux/timex.h> -#include <linux/malloc.h> +#include <linux/slab.h> #include <linux/random.h> #include <linux/irq.h> #include <asm/bitops.h> diff --git a/arch/mips/gt64120/common/pci.c b/arch/mips/gt64120/common/pci.c index d6b647e11..e74b86bd6 100644 --- a/arch/mips/gt64120/common/pci.c +++ b/arch/mips/gt64120/common/pci.c @@ -39,7 +39,7 @@ #include <linux/types.h> #include <linux/pci.h> #include <linux/kernel.h> -#include <linux/malloc.h> +#include <linux/slab.h> #include <linux/version.h> #include <asm/pci.h> #include <asm/io.h> diff --git a/arch/mips/gt64120/momenco_ocelot/irq.c b/arch/mips/gt64120/momenco_ocelot/irq.c index 8d832aadb..407031e6a 100644 --- a/arch/mips/gt64120/momenco_ocelot/irq.c +++ b/arch/mips/gt64120/momenco_ocelot/irq.c @@ -37,7 +37,7 @@ #include <linux/interrupt.h> #include <linux/ioport.h> #include <linux/timex.h> -#include <linux/malloc.h> +#include <linux/slab.h> #include <linux/random.h> #include <linux/irq.h> #include <asm/bitops.h> diff --git a/arch/mips/kernel/irixelf.c b/arch/mips/kernel/irixelf.c index 5f63b0910..8daf876c1 100644 --- a/arch/mips/kernel/irixelf.c +++ b/arch/mips/kernel/irixelf.c @@ -24,7 +24,7 @@ #include <linux/file.h> #include <linux/fcntl.h> #include <linux/ptrace.h> -#include <linux/malloc.h> +#include <linux/slab.h> #include <linux/shm.h> #include <linux/personality.h> #include <linux/elfcore.h> diff --git a/arch/mips/kernel/irq.c b/arch/mips/kernel/irq.c index 39b3b8ce2..1b8da2b85 100644 --- a/arch/mips/kernel/irq.c +++ b/arch/mips/kernel/irq.c @@ -13,7 +13,7 @@ #include <linux/init.h> #include <linux/interrupt.h> #include <linux/kernel_stat.h> -#include <linux/malloc.h> +#include <linux/slab.h> #include <linux/mm.h> #include <linux/random.h> #include <linux/sched.h> diff --git a/arch/mips/kernel/old-irq.c b/arch/mips/kernel/old-irq.c index 090da659a..a13948d32 100644 --- a/arch/mips/kernel/old-irq.c +++ b/arch/mips/kernel/old-irq.c @@ -22,7 +22,7 @@ #include <linux/interrupt.h> #include <linux/ioport.h> #include <linux/timex.h> -#include <linux/malloc.h> +#include <linux/slab.h> #include <linux/random.h> #include <asm/bitops.h> diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c index d3ef5124f..dd2810109 100644 --- a/arch/mips/kernel/process.c +++ b/arch/mips/kernel/process.c @@ -14,7 +14,7 @@ #include <linux/stddef.h> #include <linux/unistd.h> #include <linux/ptrace.h> -#include <linux/malloc.h> +#include <linux/slab.h> #include <linux/mman.h> #include <linux/sys.h> #include <linux/user.h> diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c index 34b1691eb..8815cbb20 100644 --- a/arch/mips/kernel/setup.c +++ b/arch/mips/kernel/setup.c @@ -20,7 +20,7 @@ #include <linux/string.h> #include <linux/unistd.h> #include <linux/ptrace.h> -#include <linux/malloc.h> +#include <linux/slab.h> #include <linux/user.h> #include <linux/utsname.h> #include <linux/a.out.h> diff --git a/arch/mips/kernel/sysirix.c b/arch/mips/kernel/sysirix.c index 3577d89e9..ab051858e 100644 --- a/arch/mips/kernel/sysirix.c +++ b/arch/mips/kernel/sysirix.c @@ -10,7 +10,7 @@ #include <linux/pagemap.h> #include <linux/mm.h> #include <linux/mman.h> -#include <linux/malloc.h> +#include <linux/slab.h> #include <linux/swap.h> #include <linux/errno.h> #include <linux/timex.h> diff --git a/arch/mips/mm/extable.c b/arch/mips/mm/extable.c index bc7cb7ab9..72d4c9040 100644 --- a/arch/mips/mm/extable.c +++ b/arch/mips/mm/extable.c @@ -3,6 +3,7 @@ */ #include <linux/config.h> #include <linux/module.h> +#include <linux/spinlock.h> #include <asm/uaccess.h> extern const struct exception_table_entry __start___ex_table[]; @@ -29,26 +30,32 @@ search_one_table(const struct exception_table_entry *first, return 0; } +extern spinlock_t modlist_lock; + unsigned long search_exception_table(unsigned long addr) { - unsigned long ret; - + unsigned long ret = 0; + unsigned long flags; + #ifndef CONFIG_MODULES /* There is only the kernel to search. */ ret = search_one_table(__start___ex_table, __stop___ex_table-1, addr); - if (ret) return ret; + return ret; #else /* The kernel is the last "module" -- no need to treat it special. */ struct module *mp; + + spin_lock_irqsave(&modlist_lock, flags); for (mp = module_list; mp != NULL; mp = mp->next) { if (mp->ex_table_start == NULL) continue; ret = search_one_table(mp->ex_table_start, mp->ex_table_end - 1, addr); - if (ret) return ret; + if (ret) + break; } + spin_unlock_irqrestore(&modlist_lock, flags); + return ret; #endif - - return 0; } diff --git a/arch/mips/sgi/kernel/indy_int.c b/arch/mips/sgi/kernel/indy_int.c index ab9168cb6..dca960944 100644 --- a/arch/mips/sgi/kernel/indy_int.c +++ b/arch/mips/sgi/kernel/indy_int.c @@ -18,7 +18,7 @@ #include <linux/interrupt.h> #include <linux/ioport.h> #include <linux/timex.h> -#include <linux/malloc.h> +#include <linux/slab.h> #include <linux/random.h> #include <linux/smp.h> #include <linux/smp_lock.h> |