Bug: Write fault blocked by KUAP! in do_notify_resume()
Christophe Leroy
christophe.leroy at csgroup.eu
Fri May 26 20:20:50 AEST 2023
Can't find how that can happen.
I have:
CONFIG_PREEMPT_BUILD=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
CONFIG_PREEMPTION=y
CONFIG_PREEMPT_RCU=y
We are inside an access_begin / access_end block.
[ 380.407589] ------------[ cut here ]------------
[ 380.408019] Bug: Write fault blocked by KUAP!
[ 380.408497] WARNING: CPU: 0 PID: 422 at arch/powerpc/mm/fault.c:228
do_page_fault+0x510/0x78c
[ 380.409353] CPU: 0 PID: 422 Comm: CORSurv Tainted: G W
6.4.0-rc2-s3k-dev-02274-gca69d28ba73c #328
[ 380.409879] Hardware name: MCR3000_2G 8xx 0x500000 CMPC885
[ 380.410346] NIP: c00135cc LR: c00135cc CTR: c0065b08
[ 380.410834] REGS: cae53ce0 TRAP: 0700 Tainted: G W
(6.4.0-rc2-s3k-dev-02274-gca69d28ba73c)
[ 380.411335] MSR: 00021032 <ME,IR,DR,RI> CR: 22e822d2 XER: 2000f701
[ 380.414300]
[ 380.414300] GPR00: c00135cc cae53da0 c26439c0 00000021 c0a75d78
00000001 c0a75e88 00001032
[ 380.414300] GPR08: 00000027 00000000 00000001 921a5f00 22e822d2
1002c9f4 00000001 00000005
[ 380.414300] GPR16: 10025760 ffffffff 00000000 100254bc 10024eec
00000000 00000000 00000004
[ 380.414300] GPR24: 00000006 10025770 100100cc c26c8d80 7fab7b50
02000000 00000300 cae53de0
[ 380.428316] NIP [c00135cc] do_page_fault+0x510/0x78c
[ 380.429005] LR [c00135cc] do_page_fault+0x510/0x78c
[ 380.429673] Call Trace:
[ 380.430115] [cae53da0] [c00135cc] do_page_fault+0x510/0x78c (unreliable)
[ 380.431513] [cae53dd0] [c0003ac4] DataTLBError_virt+0x114/0x118
[ 380.432546] --- interrupt: 300 at
__unsafe_save_user_regs.constprop.0+0x24/0x88
[ 380.433231] NIP: c000656c LR: c0006980 CTR: 00000006
[ 380.433714] REGS: cae53de0 TRAP: 0300 Tainted: G W
(6.4.0-rc2-s3k-dev-02274-gca69d28ba73c)
[ 380.434216] MSR: 00009032 <EE,ME,IR,DR,RI> CR: 22084442 XER: 2000f701
[ 380.437561] DAR: 7fab7b50 DSISR: 8a000000
[ 380.437561] GPR00: c0006980 cae53ea0 c26439c0 cae53f40 7fab7b50
7fab7b30 0000001d 7fab8010
[ 380.437561] GPR08: cae53f38 7fab7b50 cae53f40 918ffc00 22084442
1002c9f4 00000001 00000005
[ 380.437561] GPR16: 10025760 ffffffff 00000000 100254bc 10024eec
00000000 00000000 00000004
[ 380.437561] GPR24: 00000006 10025770 100100cc cae53f40 cae53f40
cae53ec8 c26439c0 7fab7b50
[ 380.451991] NIP [c000656c] __unsafe_save_user_regs.constprop.0+0x24/0x88
[ 380.452678] LR [c0006980] handle_signal32+0x9c/0x1a0
[ 380.453329] --- interrupt: 300
[ 380.453803] [cae53ea0] [10025770] 0x10025770 (unreliable)
[ 380.455086] [cae53ec0] [c0008844] do_notify_resume+0x128/0x2cc
[ 380.456149] [cae53f20] [c000df70]
interrupt_exit_user_prepare_main+0x7c/0xd8
[ 380.457205] [cae53f30] [c00120b4] ret_from_syscall+0xc/0x28
[ 380.458249] --- interrupt: c00 at 0xff42e98
[ 380.458809] NIP: 0ff42e98 LR: 0ff42e8c CTR: 0fdff244
[ 380.459298] REGS: cae53f40 TRAP: 0c00 Tainted: G W
(6.4.0-rc2-s3k-dev-02274-gca69d28ba73c)
[ 380.459796] MSR: 0000d032 <EE,PR,ME,IR,DR,RI> CR: 38084448 XER:
2000f701
[ 380.463473]
[ 380.463473] GPR00: 0000001d 7fab8010 77fc34d0 00000004 00000000
00000000 00000000 00000000
[ 380.463473] GPR08: 00000000 00002009 00000000 7fab7ef0 28084842
1002c9f4 00000001 00000005
[ 380.463473] GPR16: 10025760 ffffffff 00000000 100254bc 10024eec
00000000 00000000 00000004
[ 380.463473] GPR24: 00000006 10025770 100100cc 0fc425ec 1001048c
7fab8048 10025558 10024ee8
[ 380.477466] NIP [0ff42e98] 0xff42e98
[ 380.478015] LR [0ff42e8c] 0xff42e8c
[ 380.478546] --- interrupt: c00
[ 380.479026] Code: 408201f8 807f0080 48033361 2c030000 41a2ffc8
2c1d0000 41820138 3c80c096 3884d5d0 3c60c096 3863d6bc 4800fa79
<0fe00000> 93410018 814203c8 714a0100
[ 380.486263] ---[ end trace 0000000000000000 ]---
[ 380.492813]
[ 380.547950] CORSurv[422]: bad frame in handle_signal32: 3e6b61e5 nip
0ff42e98 lr 0ff42e8c
Any idea ?
Christophe
More information about the Linuxppc-dev
mailing list