|
@@ -251,6 +251,8 @@ static noinline __kprobes int vmalloc_fault(unsigned long address)
|
|
if (!(address >= VMALLOC_START && address < VMALLOC_END))
|
|
if (!(address >= VMALLOC_START && address < VMALLOC_END))
|
|
return -1;
|
|
return -1;
|
|
|
|
|
|
|
|
+ WARN_ON_ONCE(in_nmi());
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* Synchronize this task's top level page-table
|
|
* Synchronize this task's top level page-table
|
|
* with the 'reference' page table.
|
|
* with the 'reference' page table.
|
|
@@ -369,6 +371,8 @@ static noinline __kprobes int vmalloc_fault(unsigned long address)
|
|
if (!(address >= VMALLOC_START && address < VMALLOC_END))
|
|
if (!(address >= VMALLOC_START && address < VMALLOC_END))
|
|
return -1;
|
|
return -1;
|
|
|
|
|
|
|
|
+ WARN_ON_ONCE(in_nmi());
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* Copy kernel mappings over when needed. This can also
|
|
* Copy kernel mappings over when needed. This can also
|
|
* happen within a race in page table update. In the later
|
|
* happen within a race in page table update. In the later
|