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