diff options
-rw-r--r-- | Documentation/kernel-parameters.txt | 3 | ||||
-rw-r--r-- | arch/x86/Makefile | 2 | ||||
-rw-r--r-- | arch/x86/ia32/ia32_aout.c | 2 | ||||
-rw-r--r-- | arch/x86/include/asm/fb.h | 4 | ||||
-rw-r--r-- | arch/x86/kernel/dumpstack_64.c | 1 | ||||
-rw-r--r-- | arch/x86/mm/mmap.c | 4 | ||||
-rw-r--r-- | include/linux/plist.h | 4 | ||||
-rw-r--r-- | kernel/kprobes.c | 1 | ||||
-rw-r--r-- | kernel/smp.c | 8 |
9 files changed, 14 insertions, 15 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 3e69c1c4f508..db611e195ebb 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -1738,6 +1738,9 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1738 | nomfgpt [X86-32] Disable Multi-Function General Purpose | 1738 | nomfgpt [X86-32] Disable Multi-Function General Purpose |
1739 | Timer usage (for AMD Geode machines). | 1739 | Timer usage (for AMD Geode machines). |
1740 | 1740 | ||
1741 | nopat [X86] Disable PAT (page attribute table extension of | ||
1742 | pagetables) support. | ||
1743 | |||
1741 | norandmaps Don't use address space randomization. Equivalent to | 1744 | norandmaps Don't use address space randomization. Equivalent to |
1742 | echo 0 > /proc/sys/kernel/randomize_va_space | 1745 | echo 0 > /proc/sys/kernel/randomize_va_space |
1743 | 1746 | ||
diff --git a/arch/x86/Makefile b/arch/x86/Makefile index 78b32be55e9e..0a43dc515e4c 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile | |||
@@ -135,9 +135,7 @@ drivers-$(CONFIG_OPROFILE) += arch/x86/oprofile/ | |||
135 | # suspend and hibernation support | 135 | # suspend and hibernation support |
136 | drivers-$(CONFIG_PM) += arch/x86/power/ | 136 | drivers-$(CONFIG_PM) += arch/x86/power/ |
137 | 137 | ||
138 | ifeq ($(CONFIG_X86_32),y) | ||
139 | drivers-$(CONFIG_FB) += arch/x86/video/ | 138 | drivers-$(CONFIG_FB) += arch/x86/video/ |
140 | endif | ||
141 | 139 | ||
142 | #### | 140 | #### |
143 | # boot loader support. Several targets are kept for legacy purposes | 141 | # boot loader support. Several targets are kept for legacy purposes |
diff --git a/arch/x86/ia32/ia32_aout.c b/arch/x86/ia32/ia32_aout.c index f9f472462753..9046e4af66ce 100644 --- a/arch/x86/ia32/ia32_aout.c +++ b/arch/x86/ia32/ia32_aout.c | |||
@@ -297,7 +297,7 @@ static int load_aout_binary(struct linux_binprm *bprm, struct pt_regs *regs) | |||
297 | * size limits imposed on them by creating programs with large | 297 | * size limits imposed on them by creating programs with large |
298 | * arrays in the data or bss. | 298 | * arrays in the data or bss. |
299 | */ | 299 | */ |
300 | rlim = current->signal->rlim[RLIMIT_DATA].rlim_cur; | 300 | rlim = rlimit(RLIMIT_DATA); |
301 | if (rlim >= RLIM_INFINITY) | 301 | if (rlim >= RLIM_INFINITY) |
302 | rlim = ~0; | 302 | rlim = ~0; |
303 | if (ex.a_data + ex.a_bss > rlim) | 303 | if (ex.a_data + ex.a_bss > rlim) |
diff --git a/arch/x86/include/asm/fb.h b/arch/x86/include/asm/fb.h index 53018464aea6..2519d0679d99 100644 --- a/arch/x86/include/asm/fb.h +++ b/arch/x86/include/asm/fb.h | |||
@@ -12,10 +12,6 @@ static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma, | |||
12 | pgprot_val(vma->vm_page_prot) |= _PAGE_PCD; | 12 | pgprot_val(vma->vm_page_prot) |= _PAGE_PCD; |
13 | } | 13 | } |
14 | 14 | ||
15 | #ifdef CONFIG_X86_32 | ||
16 | extern int fb_is_primary_device(struct fb_info *info); | 15 | extern int fb_is_primary_device(struct fb_info *info); |
17 | #else | ||
18 | static inline int fb_is_primary_device(struct fb_info *info) { return 0; } | ||
19 | #endif | ||
20 | 16 | ||
21 | #endif /* _ASM_X86_FB_H */ | 17 | #endif /* _ASM_X86_FB_H */ |
diff --git a/arch/x86/kernel/dumpstack_64.c b/arch/x86/kernel/dumpstack_64.c index 0ad9597073f5..907a90e2901c 100644 --- a/arch/x86/kernel/dumpstack_64.c +++ b/arch/x86/kernel/dumpstack_64.c | |||
@@ -291,6 +291,7 @@ void show_registers(struct pt_regs *regs) | |||
291 | 291 | ||
292 | sp = regs->sp; | 292 | sp = regs->sp; |
293 | printk("CPU %d ", cpu); | 293 | printk("CPU %d ", cpu); |
294 | print_modules(); | ||
294 | __show_regs(regs, 1); | 295 | __show_regs(regs, 1); |
295 | printk("Process %s (pid: %d, threadinfo %p, task %p)\n", | 296 | printk("Process %s (pid: %d, threadinfo %p, task %p)\n", |
296 | cur->comm, cur->pid, task_thread_info(cur), cur); | 297 | cur->comm, cur->pid, task_thread_info(cur), cur); |
diff --git a/arch/x86/mm/mmap.c b/arch/x86/mm/mmap.c index c8191defc38a..1dab5194fd9d 100644 --- a/arch/x86/mm/mmap.c +++ b/arch/x86/mm/mmap.c | |||
@@ -71,7 +71,7 @@ static int mmap_is_legacy(void) | |||
71 | if (current->personality & ADDR_COMPAT_LAYOUT) | 71 | if (current->personality & ADDR_COMPAT_LAYOUT) |
72 | return 1; | 72 | return 1; |
73 | 73 | ||
74 | if (current->signal->rlim[RLIMIT_STACK].rlim_cur == RLIM_INFINITY) | 74 | if (rlimit(RLIMIT_STACK) == RLIM_INFINITY) |
75 | return 1; | 75 | return 1; |
76 | 76 | ||
77 | return sysctl_legacy_va_layout; | 77 | return sysctl_legacy_va_layout; |
@@ -96,7 +96,7 @@ static unsigned long mmap_rnd(void) | |||
96 | 96 | ||
97 | static unsigned long mmap_base(void) | 97 | static unsigned long mmap_base(void) |
98 | { | 98 | { |
99 | unsigned long gap = current->signal->rlim[RLIMIT_STACK].rlim_cur; | 99 | unsigned long gap = rlimit(RLIMIT_STACK); |
100 | 100 | ||
101 | if (gap < MIN_GAP) | 101 | if (gap < MIN_GAP) |
102 | gap = MIN_GAP; | 102 | gap = MIN_GAP; |
diff --git a/include/linux/plist.h b/include/linux/plist.h index 8227f717c70f..6898985e7b38 100644 --- a/include/linux/plist.h +++ b/include/linux/plist.h | |||
@@ -45,7 +45,7 @@ | |||
45 | * the insertion of new nodes. There are no nodes with duplicate | 45 | * the insertion of new nodes. There are no nodes with duplicate |
46 | * priorites on the list. | 46 | * priorites on the list. |
47 | * | 47 | * |
48 | * The nodes on the node_list is ordered by priority and can contain | 48 | * The nodes on the node_list are ordered by priority and can contain |
49 | * entries which have the same priority. Those entries are ordered | 49 | * entries which have the same priority. Those entries are ordered |
50 | * FIFO | 50 | * FIFO |
51 | * | 51 | * |
@@ -265,7 +265,7 @@ static inline int plist_node_empty(const struct plist_node *node) | |||
265 | * | 265 | * |
266 | * Assumes the plist is _not_ empty. | 266 | * Assumes the plist is _not_ empty. |
267 | */ | 267 | */ |
268 | static inline struct plist_node* plist_first(const struct plist_head *head) | 268 | static inline struct plist_node *plist_first(const struct plist_head *head) |
269 | { | 269 | { |
270 | return list_entry(head->node_list.next, | 270 | return list_entry(head->node_list.next, |
271 | struct plist_node, plist.node_list); | 271 | struct plist_node, plist.node_list); |
diff --git a/kernel/kprobes.c b/kernel/kprobes.c index b7df302a0204..c4b43430d393 100644 --- a/kernel/kprobes.c +++ b/kernel/kprobes.c | |||
@@ -93,6 +93,7 @@ static struct kprobe_blackpoint kprobe_blacklist[] = { | |||
93 | {"native_get_debugreg",}, | 93 | {"native_get_debugreg",}, |
94 | {"irq_entries_start",}, | 94 | {"irq_entries_start",}, |
95 | {"common_interrupt",}, | 95 | {"common_interrupt",}, |
96 | {"mcount",}, /* mcount can be called from everywhere */ | ||
96 | {NULL} /* Terminator */ | 97 | {NULL} /* Terminator */ |
97 | }; | 98 | }; |
98 | 99 | ||
diff --git a/kernel/smp.c b/kernel/smp.c index f10408422444..9867b6bfefce 100644 --- a/kernel/smp.c +++ b/kernel/smp.c | |||
@@ -12,8 +12,6 @@ | |||
12 | #include <linux/smp.h> | 12 | #include <linux/smp.h> |
13 | #include <linux/cpu.h> | 13 | #include <linux/cpu.h> |
14 | 14 | ||
15 | static DEFINE_PER_CPU(struct call_single_queue, call_single_queue); | ||
16 | |||
17 | static struct { | 15 | static struct { |
18 | struct list_head queue; | 16 | struct list_head queue; |
19 | raw_spinlock_t lock; | 17 | raw_spinlock_t lock; |
@@ -33,12 +31,14 @@ struct call_function_data { | |||
33 | cpumask_var_t cpumask; | 31 | cpumask_var_t cpumask; |
34 | }; | 32 | }; |
35 | 33 | ||
34 | static DEFINE_PER_CPU_SHARED_ALIGNED(struct call_function_data, cfd_data); | ||
35 | |||
36 | struct call_single_queue { | 36 | struct call_single_queue { |
37 | struct list_head list; | 37 | struct list_head list; |
38 | raw_spinlock_t lock; | 38 | raw_spinlock_t lock; |
39 | }; | 39 | }; |
40 | 40 | ||
41 | static DEFINE_PER_CPU(struct call_function_data, cfd_data); | 41 | static DEFINE_PER_CPU_SHARED_ALIGNED(struct call_single_queue, call_single_queue); |
42 | 42 | ||
43 | static int | 43 | static int |
44 | hotplug_cfd(struct notifier_block *nfb, unsigned long action, void *hcpu) | 44 | hotplug_cfd(struct notifier_block *nfb, unsigned long action, void *hcpu) |
@@ -256,7 +256,7 @@ void generic_smp_call_function_single_interrupt(void) | |||
256 | } | 256 | } |
257 | } | 257 | } |
258 | 258 | ||
259 | static DEFINE_PER_CPU(struct call_single_data, csd_data); | 259 | static DEFINE_PER_CPU_SHARED_ALIGNED(struct call_single_data, csd_data); |
260 | 260 | ||
261 | /* | 261 | /* |
262 | * smp_call_function_single - Run a function on a specific CPU | 262 | * smp_call_function_single - Run a function on a specific CPU |