aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2013-01-21 01:47:39 -0500
committerRusty Russell <rusty@rustcorp.com.au>2013-01-21 01:47:57 -0500
commit373d4d099761cb1f637bed488ab3871945882273 (patch)
tree954bef7bc724aee105dd246d5f2b1ea04ed38b20 /mm
parent64748a2c9062da0c32b59c1b368a86fc4613b1e1 (diff)
taint: add explicit flag to show whether lock dep is still OK.
Fix up all callers as they were before, with make one change: an unsigned module taints the kernel, but doesn't turn off lockdep. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'mm')
-rw-r--r--mm/memory.c2
-rw-r--r--mm/page_alloc.c2
-rw-r--r--mm/slab.c2
-rw-r--r--mm/slub.c2
4 files changed, 4 insertions, 4 deletions
diff --git a/mm/memory.c b/mm/memory.c
index bb1369f7b9b4..bc8bec762db7 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -716,7 +716,7 @@ static void print_bad_pte(struct vm_area_struct *vma, unsigned long addr,
716 print_symbol(KERN_ALERT "vma->vm_file->f_op->mmap: %s\n", 716 print_symbol(KERN_ALERT "vma->vm_file->f_op->mmap: %s\n",
717 (unsigned long)vma->vm_file->f_op->mmap); 717 (unsigned long)vma->vm_file->f_op->mmap);
718 dump_stack(); 718 dump_stack();
719 add_taint(TAINT_BAD_PAGE); 719 add_taint(TAINT_BAD_PAGE, LOCKDEP_NOW_UNRELIABLE);
720} 720}
721 721
722static inline bool is_cow_mapping(vm_flags_t flags) 722static inline bool is_cow_mapping(vm_flags_t flags)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index df2022ff0c8a..4c99cb7e276a 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -320,7 +320,7 @@ static void bad_page(struct page *page)
320out: 320out:
321 /* Leave bad fields for debug, except PageBuddy could make trouble */ 321 /* Leave bad fields for debug, except PageBuddy could make trouble */
322 reset_page_mapcount(page); /* remove PageBuddy */ 322 reset_page_mapcount(page); /* remove PageBuddy */
323 add_taint(TAINT_BAD_PAGE); 323 add_taint(TAINT_BAD_PAGE, LOCKDEP_NOW_UNRELIABLE);
324} 324}
325 325
326/* 326/*
diff --git a/mm/slab.c b/mm/slab.c
index e7667a3584bc..856e4a192d25 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -812,7 +812,7 @@ static void __slab_error(const char *function, struct kmem_cache *cachep,
812 printk(KERN_ERR "slab error in %s(): cache `%s': %s\n", 812 printk(KERN_ERR "slab error in %s(): cache `%s': %s\n",
813 function, cachep->name, msg); 813 function, cachep->name, msg);
814 dump_stack(); 814 dump_stack();
815 add_taint(TAINT_BAD_PAGE); 815 add_taint(TAINT_BAD_PAGE, LOCKDEP_NOW_UNRELIABLE);
816} 816}
817#endif 817#endif
818 818
diff --git a/mm/slub.c b/mm/slub.c
index ba2ca53f6c3a..7ec3041bdd0d 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -562,7 +562,7 @@ static void slab_bug(struct kmem_cache *s, char *fmt, ...)
562 printk(KERN_ERR "----------------------------------------" 562 printk(KERN_ERR "----------------------------------------"
563 "-------------------------------------\n\n"); 563 "-------------------------------------\n\n");
564 564
565 add_taint(TAINT_BAD_PAGE); 565 add_taint(TAINT_BAD_PAGE, LOCKDEP_NOW_UNRELIABLE);
566} 566}
567 567
568static void slab_fix(struct kmem_cache *s, char *fmt, ...) 568static void slab_fix(struct kmem_cache *s, char *fmt, ...)