Message ID | 20210930172603.5763-1-svens@stackframe.org (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Series | parisc/unwind: use copy_from_kernel_nofault() | expand |
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;
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> --- arch/parisc/kernel/unwind.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)