#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;
                                   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;
        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.
 #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) {
                 * 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);
                }