parisc/unwind: use copy_from_kernel_nofault()
authorSven Schnelle <svens@stackframe.org>
Thu, 30 Sep 2021 17:26:03 +0000 (19:26 +0200)
committerHelge Deller <deller@gmx.de>
Sat, 30 Oct 2021 21:11:00 +0000 (23:11 +0200)
I have no idea why get_user() is used there, but we're unwinding the
kernel stack, so we should use copy_from_kernel_nofault().

Signed-off-by: Sven Schnelle <svens@stackframe.org>
Signed-off-by: Helge Deller <deller@gmx.de>
arch/parisc/kernel/unwind.c

index 87ae476..889d588 100644 (file)
@@ -302,7 +302,8 @@ static void unwind_frame_regs(struct unwind_frame_info *info)
                                break;
                        }
 
-                       if (get_user(tmp, (unsigned long *)(info->prev_sp - RP_OFFSET))) 
+                       if (copy_from_kernel_nofault(&tmp,
+                           (void *)info->prev_sp - RP_OFFSET, sizeof(tmp)))
                                break;
                        info->prev_ip = tmp;
                        sp = info->prev_sp;