arm64/mm: Drop task_struct argument from __do_page_fault()
authorAnshuman Khandual <anshuman.khandual@arm.com>
Mon, 3 Jun 2019 06:41:23 +0000 (12:11 +0530)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 4 Jun 2019 14:26:47 +0000 (15:26 +0100)
The task_struct argument is not getting used in __do_page_fault(). Hence
just drop it and use current or cuurent->mm instead where ever required.
This does not change any functionality.

Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: James Morse <james.morse@arm.com>
Cc: Andrey Konovalov <andreyknvl@google.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/mm/fault.c

index 2256a1a09f1b163f62c6a62abbea7288601f3ba7..7c1c8f435f866edd73328fc3263c03f866cbec05 100644 (file)
@@ -395,8 +395,7 @@ static void do_bad_area(unsigned long addr, unsigned int esr, struct pt_regs *re
 #define VM_FAULT_BADACCESS     0x020000
 
 static vm_fault_t __do_page_fault(struct mm_struct *mm, unsigned long addr,
-                          unsigned int mm_flags, unsigned long vm_flags,
-                          struct task_struct *tsk)
+                          unsigned int mm_flags, unsigned long vm_flags)
 {
        struct vm_area_struct *vma;
        vm_fault_t fault;
@@ -440,8 +439,7 @@ static int __kprobes do_page_fault(unsigned long addr, unsigned int esr,
                                   struct pt_regs *regs)
 {
        const struct fault_info *inf;
-       struct task_struct *tsk;
-       struct mm_struct *mm;
+       struct mm_struct *mm = current->mm;
        vm_fault_t fault, major = 0;
        unsigned long vm_flags = VM_READ | VM_WRITE;
        unsigned int mm_flags = FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE;
@@ -449,9 +447,6 @@ static int __kprobes do_page_fault(unsigned long addr, unsigned int esr,
        if (notify_page_fault(regs, esr))
                return 0;
 
-       tsk = current;
-       mm  = tsk->mm;
-
        /*
         * If we're in an interrupt or have no user context, we must not take
         * the fault.
@@ -511,7 +506,7 @@ retry:
 #endif
        }
 
-       fault = __do_page_fault(mm, addr, mm_flags, vm_flags, tsk);
+       fault = __do_page_fault(mm, addr, mm_flags, vm_flags);
        major |= fault & VM_FAULT_MAJOR;
 
        if (fault & VM_FAULT_RETRY) {
@@ -551,11 +546,11 @@ retry:
                 * that point.
                 */
                if (major) {
-                       tsk->maj_flt++;
+                       current->maj_flt++;
                        perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MAJ, 1, regs,
                                      addr);
                } else {
-                       tsk->min_flt++;
+                       current->min_flt++;
                        perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MIN, 1, regs,
                                      addr);
                }