diff options
| -rw-r--r-- | mm/memory.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/mm/memory.c b/mm/memory.c index e009ce870859..c2d4c477e5bb 100644 --- a/mm/memory.c +++ b/mm/memory.c | |||
| @@ -3165,6 +3165,15 @@ void print_vma_addr(char *prefix, unsigned long ip) | |||
| 3165 | #ifdef CONFIG_PROVE_LOCKING | 3165 | #ifdef CONFIG_PROVE_LOCKING |
| 3166 | void might_fault(void) | 3166 | void might_fault(void) |
| 3167 | { | 3167 | { |
| 3168 | /* | ||
| 3169 | * Some code (nfs/sunrpc) uses socket ops on kernel memory while | ||
| 3170 | * holding the mmap_sem, this is safe because kernel memory doesn't | ||
| 3171 | * get paged out, therefore we'll never actually fault, and the | ||
| 3172 | * below annotations will generate false positives. | ||
| 3173 | */ | ||
| 3174 | if (segment_eq(get_fs(), KERNEL_DS)) | ||
| 3175 | return; | ||
| 3176 | |||
| 3168 | might_sleep(); | 3177 | might_sleep(); |
| 3169 | /* | 3178 | /* |
| 3170 | * it would be nicer only to annotate paths which are not under | 3179 | * it would be nicer only to annotate paths which are not under |
