mirror of
https://github.com/adulau/aha.git
synced 2024-12-27 11:16:11 +00:00
lockdep, mm: fix might_fault() annotation
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 might_fault() annotations will generate false positives. Reported-by: "J. Bruce Fields" <bfields@fieldses.org> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
9d07933709
commit
95156f0051
1 changed files with 9 additions and 0 deletions
|
@ -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 a new issue