diff options
author | Sven Schnelle <svens@stackframe.org> | 2021-09-30 19:26:03 +0200 |
---|---|---|
committer | Helge Deller <deller@gmx.de> | 2021-10-30 23:11:00 +0200 |
commit | cf2ec7893f876f4c30aed8a76bb4ebacdce74dd3 (patch) | |
tree | 89d77b8af1ce9c037a54793bba0a6611f7b0ddcd /arch/parisc/kernel/unwind.c | |
parent | Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/... (diff) | |
download | linux-cf2ec7893f876f4c30aed8a76bb4ebacdce74dd3.tar.xz linux-cf2ec7893f876f4c30aed8a76bb4ebacdce74dd3.zip |
parisc/unwind: use copy_from_kernel_nofault()
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>
Diffstat (limited to '')
-rw-r--r-- | arch/parisc/kernel/unwind.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/parisc/kernel/unwind.c b/arch/parisc/kernel/unwind.c index 87ae476d1c4f..889d5889203a 100644 --- a/arch/parisc/kernel/unwind.c +++ b/arch/parisc/kernel/unwind.c @@ -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; |