]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
powerpc/procfs: Propagate error of remap_pfn_range()
authorThomas Weißschuh <thomas.weissschuh@linutronix.de>
Thu, 10 Oct 2024 07:01:24 +0000 (09:01 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Sat, 2 Nov 2024 11:37:35 +0000 (12:37 +0100)
If the operation fails and userspace is unaware it will access unmapped
memory, crashing the process.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20241010-vdso-generic-base-v1-22-b64f0842d512@linutronix.de
arch/powerpc/kernel/proc_powerpc.c

index b109cd7b5d01fbe6870b60e60965effa86ecf3b6..910d2082e05fd86bd1146815d4b67633a6f2b459 100644 (file)
@@ -33,10 +33,9 @@ static int page_map_mmap( struct file *file, struct vm_area_struct *vma )
        if ((vma->vm_end - vma->vm_start) > PAGE_SIZE)
                return -EINVAL;
 
-       remap_pfn_range(vma, vma->vm_start,
-                       __pa(pde_data(file_inode(file))) >> PAGE_SHIFT,
-                       PAGE_SIZE, vma->vm_page_prot);
-       return 0;
+       return remap_pfn_range(vma, vma->vm_start,
+                              __pa(pde_data(file_inode(file))) >> PAGE_SHIFT,
+                              PAGE_SIZE, vma->vm_page_prot);
 }
 
 static const struct proc_ops page_map_proc_ops = {