aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-02-25 18:41:43 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-02-25 18:41:43 -0500
commit9043a2650cd21f96f831a97f516c2c302e21fb70 (patch)
tree926720afb0acc7bad8cfcae537dc58de552f9249 /arch
parentab7826595e9ec51a51f622c5fc91e2f59440481a (diff)
parentd9d8d7ed498ec65bea72dd24be7b9cd35af0c200 (diff)
Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux
Pull module update from Rusty Russell: "The sweeping change is to make add_taint() explicitly indicate whether to disable lockdep, but it's a mechanical change." * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: MODSIGN: Add option to not sign modules during modules_install MODSIGN: Add -s <signature> option to sign-file MODSIGN: Specify the hash algorithm on sign-file command line MODSIGN: Simplify Makefile with a Kconfig helper module: clean up load_module a little more. modpost: Ignore ARC specific non-alloc sections module: constify within_module_* taint: add explicit flag to show whether lock dep is still OK. module: printk message when module signature fail taints kernel.
Diffstat (limited to 'arch')
-rw-r--r--arch/alpha/kernel/traps.c2
-rw-r--r--arch/arm/kernel/traps.c2
-rw-r--r--arch/arm64/kernel/traps.c2
-rw-r--r--arch/avr32/kernel/traps.c2
-rw-r--r--arch/hexagon/kernel/traps.c2
-rw-r--r--arch/ia64/kernel/traps.c2
-rw-r--r--arch/m68k/kernel/traps.c2
-rw-r--r--arch/mips/kernel/traps.c2
-rw-r--r--arch/parisc/kernel/traps.c2
-rw-r--r--arch/powerpc/kernel/traps.c2
-rw-r--r--arch/s390/kernel/traps.c2
-rw-r--r--arch/sh/kernel/traps.c2
-rw-r--r--arch/sparc/kernel/setup_64.c2
-rw-r--r--arch/sparc/kernel/traps_32.c2
-rw-r--r--arch/sparc/kernel/traps_64.c2
-rw-r--r--arch/unicore32/kernel/traps.c2
-rw-r--r--arch/x86/kernel/cpu/amd.c3
-rw-r--r--arch/x86/kernel/cpu/mcheck/mce.c2
-rw-r--r--arch/x86/kernel/cpu/mcheck/p5.c2
-rw-r--r--arch/x86/kernel/cpu/mcheck/winchip.c2
-rw-r--r--arch/x86/kernel/cpu/mtrr/generic.c2
-rw-r--r--arch/x86/kernel/dumpstack.c2
-rw-r--r--arch/xtensa/kernel/traps.c2
23 files changed, 23 insertions, 24 deletions
diff --git a/arch/alpha/kernel/traps.c b/arch/alpha/kernel/traps.c
index 272666d006df..4037461a6493 100644
--- a/arch/alpha/kernel/traps.c
+++ b/arch/alpha/kernel/traps.c
@@ -186,7 +186,7 @@ die_if_kernel(char * str, struct pt_regs *regs, long err, unsigned long *r9_15)
186#endif 186#endif
187 printk("%s(%d): %s %ld\n", current->comm, task_pid_nr(current), str, err); 187 printk("%s(%d): %s %ld\n", current->comm, task_pid_nr(current), str, err);
188 dik_show_regs(regs, r9_15); 188 dik_show_regs(regs, r9_15);
189 add_taint(TAINT_DIE); 189 add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
190 dik_show_trace((unsigned long *)(regs+1)); 190 dik_show_trace((unsigned long *)(regs+1));
191 dik_show_code((unsigned int *)regs->pc); 191 dik_show_code((unsigned int *)regs->pc);
192 192
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
index b0179b89a04c..1c089119b2d7 100644
--- a/arch/arm/kernel/traps.c
+++ b/arch/arm/kernel/traps.c
@@ -296,7 +296,7 @@ static void oops_end(unsigned long flags, struct pt_regs *regs, int signr)
296 296
297 bust_spinlocks(0); 297 bust_spinlocks(0);
298 die_owner = -1; 298 die_owner = -1;
299 add_taint(TAINT_DIE); 299 add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
300 die_nest_count--; 300 die_nest_count--;
301 if (!die_nest_count) 301 if (!die_nest_count)
302 /* Nest count reaches zero, release the lock. */ 302 /* Nest count reaches zero, release the lock. */
diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c
index 3883f842434f..b3c5f628bdb4 100644
--- a/arch/arm64/kernel/traps.c
+++ b/arch/arm64/kernel/traps.c
@@ -242,7 +242,7 @@ void die(const char *str, struct pt_regs *regs, int err)
242 crash_kexec(regs); 242 crash_kexec(regs);
243 243
244 bust_spinlocks(0); 244 bust_spinlocks(0);
245 add_taint(TAINT_DIE); 245 add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
246 raw_spin_unlock_irq(&die_lock); 246 raw_spin_unlock_irq(&die_lock);
247 oops_exit(); 247 oops_exit();
248 248
diff --git a/arch/avr32/kernel/traps.c b/arch/avr32/kernel/traps.c
index 3d760c06f024..682b2478691a 100644
--- a/arch/avr32/kernel/traps.c
+++ b/arch/avr32/kernel/traps.c
@@ -61,7 +61,7 @@ void die(const char *str, struct pt_regs *regs, long err)
61 show_regs_log_lvl(regs, KERN_EMERG); 61 show_regs_log_lvl(regs, KERN_EMERG);
62 show_stack_log_lvl(current, regs->sp, regs, KERN_EMERG); 62 show_stack_log_lvl(current, regs->sp, regs, KERN_EMERG);
63 bust_spinlocks(0); 63 bust_spinlocks(0);
64 add_taint(TAINT_DIE); 64 add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
65 spin_unlock_irq(&die_lock); 65 spin_unlock_irq(&die_lock);
66 66
67 if (in_interrupt()) 67 if (in_interrupt())
diff --git a/arch/hexagon/kernel/traps.c b/arch/hexagon/kernel/traps.c
index a41eeb8eeaa1..be5e2dd9c9d3 100644
--- a/arch/hexagon/kernel/traps.c
+++ b/arch/hexagon/kernel/traps.c
@@ -225,7 +225,7 @@ int die(const char *str, struct pt_regs *regs, long err)
225 do_show_stack(current, &regs->r30, pt_elr(regs)); 225 do_show_stack(current, &regs->r30, pt_elr(regs));
226 226
227 bust_spinlocks(0); 227 bust_spinlocks(0);
228 add_taint(TAINT_DIE); 228 add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
229 229
230 spin_unlock_irq(&die.lock); 230 spin_unlock_irq(&die.lock);
231 231
diff --git a/arch/ia64/kernel/traps.c b/arch/ia64/kernel/traps.c
index bd42b76000d1..f7f9f9c6caf0 100644
--- a/arch/ia64/kernel/traps.c
+++ b/arch/ia64/kernel/traps.c
@@ -72,7 +72,7 @@ die (const char *str, struct pt_regs *regs, long err)
72 72
73 bust_spinlocks(0); 73 bust_spinlocks(0);
74 die.lock_owner = -1; 74 die.lock_owner = -1;
75 add_taint(TAINT_DIE); 75 add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
76 spin_unlock_irq(&die.lock); 76 spin_unlock_irq(&die.lock);
77 77
78 if (!regs) 78 if (!regs)
diff --git a/arch/m68k/kernel/traps.c b/arch/m68k/kernel/traps.c
index cbc624af4494..f32ab22e7ed3 100644
--- a/arch/m68k/kernel/traps.c
+++ b/arch/m68k/kernel/traps.c
@@ -1176,7 +1176,7 @@ void die_if_kernel (char *str, struct pt_regs *fp, int nr)
1176 console_verbose(); 1176 console_verbose();
1177 printk("%s: %08x\n",str,nr); 1177 printk("%s: %08x\n",str,nr);
1178 show_registers(fp); 1178 show_registers(fp);
1179 add_taint(TAINT_DIE); 1179 add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
1180 do_exit(SIGSEGV); 1180 do_exit(SIGSEGV);
1181} 1181}
1182 1182
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
index cf7ac5483f53..9007966d56d4 100644
--- a/arch/mips/kernel/traps.c
+++ b/arch/mips/kernel/traps.c
@@ -396,7 +396,7 @@ void __noreturn die(const char *str, struct pt_regs *regs)
396 396
397 printk("%s[#%d]:\n", str, ++die_counter); 397 printk("%s[#%d]:\n", str, ++die_counter);
398 show_registers(regs); 398 show_registers(regs);
399 add_taint(TAINT_DIE); 399 add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
400 raw_spin_unlock_irq(&die_lock); 400 raw_spin_unlock_irq(&die_lock);
401 401
402 oops_exit(); 402 oops_exit();
diff --git a/arch/parisc/kernel/traps.c b/arch/parisc/kernel/traps.c
index 45ba99f5080b..aeb8f8f2c07a 100644
--- a/arch/parisc/kernel/traps.c
+++ b/arch/parisc/kernel/traps.c
@@ -282,7 +282,7 @@ void die_if_kernel(char *str, struct pt_regs *regs, long err)
282 282
283 show_regs(regs); 283 show_regs(regs);
284 dump_stack(); 284 dump_stack();
285 add_taint(TAINT_DIE); 285 add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
286 286
287 if (in_interrupt()) 287 if (in_interrupt())
288 panic("Fatal exception in interrupt"); 288 panic("Fatal exception in interrupt");
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index f9b751b29558..37cc40ef5043 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -146,7 +146,7 @@ static void __kprobes oops_end(unsigned long flags, struct pt_regs *regs,
146{ 146{
147 bust_spinlocks(0); 147 bust_spinlocks(0);
148 die_owner = -1; 148 die_owner = -1;
149 add_taint(TAINT_DIE); 149 add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
150 die_nest_count--; 150 die_nest_count--;
151 oops_exit(); 151 oops_exit();
152 printk("\n"); 152 printk("\n");
diff --git a/arch/s390/kernel/traps.c b/arch/s390/kernel/traps.c
index 70ecfc5fe8f0..13dd63fba367 100644
--- a/arch/s390/kernel/traps.c
+++ b/arch/s390/kernel/traps.c
@@ -271,7 +271,7 @@ void die(struct pt_regs *regs, const char *str)
271 print_modules(); 271 print_modules();
272 show_regs(regs); 272 show_regs(regs);
273 bust_spinlocks(0); 273 bust_spinlocks(0);
274 add_taint(TAINT_DIE); 274 add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
275 spin_unlock_irq(&die_lock); 275 spin_unlock_irq(&die_lock);
276 if (in_interrupt()) 276 if (in_interrupt())
277 panic("Fatal exception in interrupt"); 277 panic("Fatal exception in interrupt");
diff --git a/arch/sh/kernel/traps.c b/arch/sh/kernel/traps.c
index 72246bc06884..dfdad72c61ca 100644
--- a/arch/sh/kernel/traps.c
+++ b/arch/sh/kernel/traps.c
@@ -38,7 +38,7 @@ void die(const char *str, struct pt_regs *regs, long err)
38 notify_die(DIE_OOPS, str, regs, err, 255, SIGSEGV); 38 notify_die(DIE_OOPS, str, regs, err, 255, SIGSEGV);
39 39
40 bust_spinlocks(0); 40 bust_spinlocks(0);
41 add_taint(TAINT_DIE); 41 add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
42 spin_unlock_irq(&die_lock); 42 spin_unlock_irq(&die_lock);
43 oops_exit(); 43 oops_exit();
44 44
diff --git a/arch/sparc/kernel/setup_64.c b/arch/sparc/kernel/setup_64.c
index 0eaf0059aaef..88a127b9c69e 100644
--- a/arch/sparc/kernel/setup_64.c
+++ b/arch/sparc/kernel/setup_64.c
@@ -115,7 +115,7 @@ static void __init process_switch(char c)
115 break; 115 break;
116 } 116 }
117 cheetah_pcache_forced_on = 1; 117 cheetah_pcache_forced_on = 1;
118 add_taint(TAINT_MACHINE_CHECK); 118 add_taint(TAINT_MACHINE_CHECK, LOCKDEP_NOW_UNRELIABLE);
119 cheetah_enable_pcache(); 119 cheetah_enable_pcache();
120 break; 120 break;
121 121
diff --git a/arch/sparc/kernel/traps_32.c b/arch/sparc/kernel/traps_32.c
index a5785ea2a85d..662982946a89 100644
--- a/arch/sparc/kernel/traps_32.c
+++ b/arch/sparc/kernel/traps_32.c
@@ -58,7 +58,7 @@ void die_if_kernel(char *str, struct pt_regs *regs)
58 58
59 printk("%s(%d): %s [#%d]\n", current->comm, task_pid_nr(current), str, ++die_counter); 59 printk("%s(%d): %s [#%d]\n", current->comm, task_pid_nr(current), str, ++die_counter);
60 show_regs(regs); 60 show_regs(regs);
61 add_taint(TAINT_DIE); 61 add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
62 62
63 __SAVE; __SAVE; __SAVE; __SAVE; 63 __SAVE; __SAVE; __SAVE; __SAVE;
64 __SAVE; __SAVE; __SAVE; __SAVE; 64 __SAVE; __SAVE; __SAVE; __SAVE;
diff --git a/arch/sparc/kernel/traps_64.c b/arch/sparc/kernel/traps_64.c
index e7ecf1507d90..8d38ca97aa23 100644
--- a/arch/sparc/kernel/traps_64.c
+++ b/arch/sparc/kernel/traps_64.c
@@ -2383,7 +2383,7 @@ void die_if_kernel(char *str, struct pt_regs *regs)
2383 notify_die(DIE_OOPS, str, regs, 0, 255, SIGSEGV); 2383 notify_die(DIE_OOPS, str, regs, 0, 255, SIGSEGV);
2384 __asm__ __volatile__("flushw"); 2384 __asm__ __volatile__("flushw");
2385 show_regs(regs); 2385 show_regs(regs);
2386 add_taint(TAINT_DIE); 2386 add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
2387 if (regs->tstate & TSTATE_PRIV) { 2387 if (regs->tstate & TSTATE_PRIV) {
2388 struct thread_info *tp = current_thread_info(); 2388 struct thread_info *tp = current_thread_info();
2389 struct reg_window *rw = (struct reg_window *) 2389 struct reg_window *rw = (struct reg_window *)
diff --git a/arch/unicore32/kernel/traps.c b/arch/unicore32/kernel/traps.c
index 2054f0d4db13..0870b68d2ad9 100644
--- a/arch/unicore32/kernel/traps.c
+++ b/arch/unicore32/kernel/traps.c
@@ -231,7 +231,7 @@ void die(const char *str, struct pt_regs *regs, int err)
231 ret = __die(str, err, thread, regs); 231 ret = __die(str, err, thread, regs);
232 232
233 bust_spinlocks(0); 233 bust_spinlocks(0);
234 add_taint(TAINT_DIE); 234 add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
235 spin_unlock_irq(&die_lock); 235 spin_unlock_irq(&die_lock);
236 oops_exit(); 236 oops_exit();
237 237
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index edd77e7508b3..fa96eb0d02fb 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -219,8 +219,7 @@ static void __cpuinit amd_k7_smp_check(struct cpuinfo_x86 *c)
219 */ 219 */
220 WARN_ONCE(1, "WARNING: This combination of AMD" 220 WARN_ONCE(1, "WARNING: This combination of AMD"
221 " processors is not suitable for SMP.\n"); 221 " processors is not suitable for SMP.\n");
222 if (!test_taint(TAINT_UNSAFE_SMP)) 222 add_taint(TAINT_UNSAFE_SMP, LOCKDEP_NOW_UNRELIABLE);
223 add_taint(TAINT_UNSAFE_SMP);
224 223
225valid_k7: 224valid_k7:
226 ; 225 ;
diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
index fc7608a89d93..7bc126346ace 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -1082,7 +1082,7 @@ void do_machine_check(struct pt_regs *regs, long error_code)
1082 /* 1082 /*
1083 * Set taint even when machine check was not enabled. 1083 * Set taint even when machine check was not enabled.
1084 */ 1084 */
1085 add_taint(TAINT_MACHINE_CHECK); 1085 add_taint(TAINT_MACHINE_CHECK, LOCKDEP_NOW_UNRELIABLE);
1086 1086
1087 severity = mce_severity(&m, cfg->tolerant, NULL); 1087 severity = mce_severity(&m, cfg->tolerant, NULL);
1088 1088
diff --git a/arch/x86/kernel/cpu/mcheck/p5.c b/arch/x86/kernel/cpu/mcheck/p5.c
index 2d5454cd2c4f..1c044b1ccc59 100644
--- a/arch/x86/kernel/cpu/mcheck/p5.c
+++ b/arch/x86/kernel/cpu/mcheck/p5.c
@@ -33,7 +33,7 @@ static void pentium_machine_check(struct pt_regs *regs, long error_code)
33 smp_processor_id()); 33 smp_processor_id());
34 } 34 }
35 35
36 add_taint(TAINT_MACHINE_CHECK); 36 add_taint(TAINT_MACHINE_CHECK, LOCKDEP_NOW_UNRELIABLE);
37} 37}
38 38
39/* Set up machine check reporting for processors with Intel style MCE: */ 39/* Set up machine check reporting for processors with Intel style MCE: */
diff --git a/arch/x86/kernel/cpu/mcheck/winchip.c b/arch/x86/kernel/cpu/mcheck/winchip.c
index 2d7998fb628c..e9a701aecaa1 100644
--- a/arch/x86/kernel/cpu/mcheck/winchip.c
+++ b/arch/x86/kernel/cpu/mcheck/winchip.c
@@ -15,7 +15,7 @@
15static void winchip_machine_check(struct pt_regs *regs, long error_code) 15static void winchip_machine_check(struct pt_regs *regs, long error_code)
16{ 16{
17 printk(KERN_EMERG "CPU0: Machine Check Exception.\n"); 17 printk(KERN_EMERG "CPU0: Machine Check Exception.\n");
18 add_taint(TAINT_MACHINE_CHECK); 18 add_taint(TAINT_MACHINE_CHECK, LOCKDEP_NOW_UNRELIABLE);
19} 19}
20 20
21/* Set up machine check reporting on the Winchip C6 series */ 21/* Set up machine check reporting on the Winchip C6 series */
diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c
index e9fe907cd249..fa72a39e5d46 100644
--- a/arch/x86/kernel/cpu/mtrr/generic.c
+++ b/arch/x86/kernel/cpu/mtrr/generic.c
@@ -542,7 +542,7 @@ static void generic_get_mtrr(unsigned int reg, unsigned long *base,
542 542
543 if (tmp != mask_lo) { 543 if (tmp != mask_lo) {
544 printk(KERN_WARNING "mtrr: your BIOS has configured an incorrect mask, fixing it.\n"); 544 printk(KERN_WARNING "mtrr: your BIOS has configured an incorrect mask, fixing it.\n");
545 add_taint(TAINT_FIRMWARE_WORKAROUND); 545 add_taint(TAINT_FIRMWARE_WORKAROUND, LOCKDEP_STILL_OK);
546 mask_lo = tmp; 546 mask_lo = tmp;
547 } 547 }
548 } 548 }
diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c
index ae42418bc50f..c8797d55b245 100644
--- a/arch/x86/kernel/dumpstack.c
+++ b/arch/x86/kernel/dumpstack.c
@@ -232,7 +232,7 @@ void __kprobes oops_end(unsigned long flags, struct pt_regs *regs, int signr)
232 232
233 bust_spinlocks(0); 233 bust_spinlocks(0);
234 die_owner = -1; 234 die_owner = -1;
235 add_taint(TAINT_DIE); 235 add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
236 die_nest_count--; 236 die_nest_count--;
237 if (!die_nest_count) 237 if (!die_nest_count)
238 /* Nest count reaches zero, release the lock. */ 238 /* Nest count reaches zero, release the lock. */
diff --git a/arch/xtensa/kernel/traps.c b/arch/xtensa/kernel/traps.c
index 01e0111bf787..ded955d45155 100644
--- a/arch/xtensa/kernel/traps.c
+++ b/arch/xtensa/kernel/traps.c
@@ -524,7 +524,7 @@ void die(const char * str, struct pt_regs * regs, long err)
524 if (!user_mode(regs)) 524 if (!user_mode(regs))
525 show_stack(NULL, (unsigned long*)regs->areg[1]); 525 show_stack(NULL, (unsigned long*)regs->areg[1]);
526 526
527 add_taint(TAINT_DIE); 527 add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
528 spin_unlock_irq(&die_lock); 528 spin_unlock_irq(&die_lock);
529 529
530 if (in_interrupt()) 530 if (in_interrupt())