Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: smp_call_function_single(): be slightly less stupid, fix #2 lockdep, mm: fix might_fault() annotation
This commit is contained in:
commit
28839855bf
@ -2,6 +2,7 @@
|
|||||||
* Uniprocessor-only support functions. The counterpart to kernel/smp.c
|
* Uniprocessor-only support functions. The counterpart to kernel/smp.c
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/interrupt.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/smp.h>
|
#include <linux/smp.h>
|
||||||
|
@ -3165,6 +3165,15 @@ void print_vma_addr(char *prefix, unsigned long ip)
|
|||||||
#ifdef CONFIG_PROVE_LOCKING
|
#ifdef CONFIG_PROVE_LOCKING
|
||||||
void might_fault(void)
|
void might_fault(void)
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
* Some code (nfs/sunrpc) uses socket ops on kernel memory while
|
||||||
|
* holding the mmap_sem, this is safe because kernel memory doesn't
|
||||||
|
* get paged out, therefore we'll never actually fault, and the
|
||||||
|
* below annotations will generate false positives.
|
||||||
|
*/
|
||||||
|
if (segment_eq(get_fs(), KERNEL_DS))
|
||||||
|
return;
|
||||||
|
|
||||||
might_sleep();
|
might_sleep();
|
||||||
/*
|
/*
|
||||||
* it would be nicer only to annotate paths which are not under
|
* it would be nicer only to annotate paths which are not under
|
||||||
|
Loading…
Reference in New Issue
Block a user