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>
このコミットが含まれているのは:
@@ -716,7 +716,7 @@ static void print_bad_pte(struct vm_area_struct *vma, unsigned long addr,
|
||||
print_symbol(KERN_ALERT "vma->vm_file->f_op->mmap: %s\n",
|
||||
(unsigned long)vma->vm_file->f_op->mmap);
|
||||
dump_stack();
|
||||
add_taint(TAINT_BAD_PAGE);
|
||||
add_taint(TAINT_BAD_PAGE, LOCKDEP_NOW_UNRELIABLE);
|
||||
}
|
||||
|
||||
static inline bool is_cow_mapping(vm_flags_t flags)
|
||||
|
@@ -320,7 +320,7 @@ static void bad_page(struct page *page)
|
||||
out:
|
||||
/* Leave bad fields for debug, except PageBuddy could make trouble */
|
||||
reset_page_mapcount(page); /* remove PageBuddy */
|
||||
add_taint(TAINT_BAD_PAGE);
|
||||
add_taint(TAINT_BAD_PAGE, LOCKDEP_NOW_UNRELIABLE);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@@ -812,7 +812,7 @@ static void __slab_error(const char *function, struct kmem_cache *cachep,
|
||||
printk(KERN_ERR "slab error in %s(): cache `%s': %s\n",
|
||||
function, cachep->name, msg);
|
||||
dump_stack();
|
||||
add_taint(TAINT_BAD_PAGE);
|
||||
add_taint(TAINT_BAD_PAGE, LOCKDEP_NOW_UNRELIABLE);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@@ -562,7 +562,7 @@ static void slab_bug(struct kmem_cache *s, char *fmt, ...)
|
||||
printk(KERN_ERR "----------------------------------------"
|
||||
"-------------------------------------\n\n");
|
||||
|
||||
add_taint(TAINT_BAD_PAGE);
|
||||
add_taint(TAINT_BAD_PAGE, LOCKDEP_NOW_UNRELIABLE);
|
||||
}
|
||||
|
||||
static void slab_fix(struct kmem_cache *s, char *fmt, ...)
|
||||
|
新しいイシューから参照
ユーザーをブロックする