diff options
Diffstat (limited to 'mm/memory.c')
-rw-r--r-- | mm/memory.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/mm/memory.c b/mm/memory.c index 1002f473f497..b8fdf4e5e65b 100644 --- a/mm/memory.c +++ b/mm/memory.c | |||
@@ -3016,3 +3016,18 @@ void print_vma_addr(char *prefix, unsigned long ip) | |||
3016 | } | 3016 | } |
3017 | up_read(¤t->mm->mmap_sem); | 3017 | up_read(¤t->mm->mmap_sem); |
3018 | } | 3018 | } |
3019 | |||
3020 | #ifdef CONFIG_PROVE_LOCKING | ||
3021 | void might_fault(void) | ||
3022 | { | ||
3023 | might_sleep(); | ||
3024 | /* | ||
3025 | * it would be nicer only to annotate paths which are not under | ||
3026 | * pagefault_disable, however that requires a larger audit and | ||
3027 | * providing helpers like get_user_atomic. | ||
3028 | */ | ||
3029 | if (!in_atomic() && current->mm) | ||
3030 | might_lock_read(¤t->mm->mmap_sem); | ||
3031 | } | ||
3032 | EXPORT_SYMBOL(might_fault); | ||
3033 | #endif | ||