ARM: 9129/1: mm: Kill task_struct argument for __do_page_fault() 58/281558/1
authorWang Kefeng <wangkefeng.wang@huawei.com>
Wed, 22 Sep 2021 13:56:28 +0000 (14:56 +0100)
committerSeung-Woo Kim <sw0312.kim@samsung.com>
Tue, 20 Sep 2022 02:47:17 +0000 (11:47 +0900)
The __do_page_fault() won't use task_struct argument, kill it
and also use current->mm directly in do_page_fault().

No functional change.

Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
[backport of mainline commit 488cab12c37169687015fbdfa8be7b0da42f3146]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I754182937867caad76e7fd5179eb35f697082cec

arch/arm/mm/fault.c

index fcfc0b8..cc6b430 100644 (file)
@@ -202,8 +202,7 @@ static inline bool access_error(unsigned int fsr, struct vm_area_struct *vma)
 
 static vm_fault_t __kprobes
 __do_page_fault(struct mm_struct *mm, unsigned long addr, unsigned int fsr,
-               unsigned int flags, struct task_struct *tsk,
-               struct pt_regs *regs)
+               unsigned int flags, struct pt_regs *regs)
 {
        struct vm_area_struct *vma = find_vma(mm, addr);
        if (unlikely(!vma))
@@ -231,8 +230,7 @@ __do_page_fault(struct mm_struct *mm, unsigned long addr, unsigned int fsr,
 static int __kprobes
 do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
 {
-       struct task_struct *tsk;
-       struct mm_struct *mm;
+       struct mm_struct *mm = current->mm;
        int sig, code;
        vm_fault_t fault;
        unsigned int flags = FAULT_FLAG_DEFAULT;
@@ -240,8 +238,6 @@ do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
        if (kprobe_page_fault(regs, fsr))
                return 0;
 
-       tsk = current;
-       mm  = tsk->mm;
 
        /* Enable interrupts if they were enabled in the parent context. */
        if (interrupts_enabled(regs))
@@ -285,7 +281,7 @@ retry:
 #endif
        }
 
-       fault = __do_page_fault(mm, addr, fsr, flags, tsk, regs);
+       fault = __do_page_fault(mm, addr, fsr, flags, regs);
 
        /* If we need to retry but a fatal signal is pending, handle the
         * signal first. We do not need to release the mmap_lock because