|
@@ -17,7 +17,7 @@
|
|
|
#include <asm/pgalloc.h>
|
|
|
#include <asm/mmu.h>
|
|
|
|
|
|
-static int handle_vmalloc_fault(struct mm_struct *mm, unsigned long address)
|
|
|
+static int handle_vmalloc_fault(unsigned long address)
|
|
|
{
|
|
|
/*
|
|
|
* Synchronize this task's top level page-table
|
|
@@ -27,7 +27,7 @@ static int handle_vmalloc_fault(struct mm_struct *mm, unsigned long address)
|
|
|
pud_t *pud, *pud_k;
|
|
|
pmd_t *pmd, *pmd_k;
|
|
|
|
|
|
- pgd = pgd_offset_fast(mm, address);
|
|
|
+ pgd = pgd_offset_fast(current->active_mm, address);
|
|
|
pgd_k = pgd_offset_k(address);
|
|
|
|
|
|
if (!pgd_present(*pgd_k))
|
|
@@ -72,7 +72,7 @@ void do_page_fault(struct pt_regs *regs, unsigned long address)
|
|
|
* nothing more.
|
|
|
*/
|
|
|
if (address >= VMALLOC_START && address <= VMALLOC_END) {
|
|
|
- ret = handle_vmalloc_fault(mm, address);
|
|
|
+ ret = handle_vmalloc_fault(address);
|
|
|
if (unlikely(ret))
|
|
|
goto bad_area_nosemaphore;
|
|
|
else
|