aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2026-10-20 10:05:40 -1000
committerLinus Torvalds <torvalds@linux-foundation.org>2026-10-20 10:14:13 -1000
commit5dcf33085cd095010eecf42d04c9101821361d8d (patch)
tree8bcabb180d7d7d97193575d84dcc5f76acb6444f /arch
parent52907f0e4765cba370ef07d536cf4e4ecea8c0ba (diff)
powerpc/align: use get_user_instr() for a user-mode instructionuaccess-cleanups
fix_alignment() already reads the instruction with copy_inst_from_kernel_nofault() when the PC is a kernel address, and only uses __get_user_instr() when it is not. That pointer is an ordinary user address, so read it with get_user_instr(). On powerpc __get_user() already does might_fault() and opens user access for the read itself, so the only difference is the address check. This is part of getting rid of __get_user() and __put_user() entirely. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/kernel/align.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/align.c b/arch/powerpc/kernel/align.c
index 61409431138f..c66642cb211c 100644
--- a/arch/powerpc/kernel/align.c
+++ b/arch/powerpc/kernel/align.c
@@ -298,7 +298,7 @@ int fix_alignment(struct pt_regs *regs)
if (is_kernel_addr(regs->nip))
r = copy_inst_from_kernel_nofault(&instr, (void *)regs->nip);
else
- r = __get_user_instr(instr, (void __user *)regs->nip);
+ r = get_user_instr(instr, (void __user *)regs->nip);
if (unlikely(r))
return -EFAULT;