powerpc/watchpoint: Disable pagefaults when getting user instruction
authorBenjamin Gray <bgray@linux.ibm.com>
Tue, 29 Aug 2023 06:34:56 +0000 (16:34 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 18 Sep 2023 02:23:47 +0000 (12:23 +1000)
commit3241f260eb830d27d09cc604690ec24533fdb433
treedc6ff92495792555a61aa746cc639a68cd307f41
parentcc879ab3ce39bc39f9b1d238b283f43a5f6f957d
powerpc/watchpoint: Disable pagefaults when getting user instruction

This is called in an atomic context, so is not allowed to sleep if a
user page needs to be faulted in and has nowhere it can be deferred to.
The pagefault_disabled() function is documented as preventing user
access methods from sleeping.

In practice the page will be mapped in nearly always because we are
reading the instruction that just triggered the watchpoint trap.

Signed-off-by: Benjamin Gray <bgray@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20230829063457.54157-3-bgray@linux.ibm.com
arch/powerpc/kernel/hw_breakpoint_constraints.c