summaryrefslogtreecommitdiff
path: root/arch/powerpc/kernel/io-workarounds.c
diff options
context:
space:
mode:
authorNaveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>2021-05-19 16:17:17 +0530
committerMichael Ellerman <mpe@ellerman.id.au>2021-05-28 21:52:42 +1000
commit82123a3d1d5a306fdf50c968a474cc60fe43a80f (patch)
tree0bc27b73514fbcbcff456603cd3148d3474ba097 /arch/powerpc/kernel/io-workarounds.c
parentd72500f992849d31ebae8f821a023660ddd0dcc2 (diff)
powerpc/kprobes: Fix validation of prefixed instructions across page boundary
When checking if the probed instruction is the suffix of a prefixed instruction, we access the instruction at the previous word. If the probed instruction is the very first word of a module, we can end up trying to access an invalid page. Fix this by skipping the check for all instructions at the beginning of a page. Prefixed instructions cannot cross a 64-byte boundary and as such, we don't expect to encounter a suffix as the very first word in a page for kernel text. Even if there are prefixed instructions crossing a page boundary (from a module, for instance), the instruction will be illegal, so preventing probing on the suffix of such prefix instructions isn't worthwhile. Fixes: b4657f7650ba ("powerpc/kprobes: Don't allow breakpoints on suffixes") Cc: stable@vger.kernel.org # v5.8+ Reported-by: Christophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/0df9a032a05576a2fa8e97d1b769af2ff0eafbd6.1621416666.git.naveen.n.rao@linux.vnet.ibm.com
Diffstat (limited to 'arch/powerpc/kernel/io-workarounds.c')
0 files changed, 0 insertions, 0 deletions