diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2026-10-20 10:05:40 -1000 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2026-10-20 10:14:13 -1000 |
| commit | 5dcf33085cd095010eecf42d04c9101821361d8d (patch) | |
| tree | 8bcabb180d7d7d97193575d84dcc5f76acb6444f /arch | |
| parent | 52907f0e4765cba370ef07d536cf4e4ecea8c0ba (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.c | 2 |
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; |
