In the Linux kernel, the following vulnerability has been resolved: gpio: rcar: Use rawspinlock to protect register access Use rawspinlock in order to fix spurious messages about invalid context when spinlock debugging is enabled. The lock is only used to serialize register access. [ 4.239592] ============================= [ 4.239595] [ BUG: Invalid wait context ] [ 4.239599] 6.13.0-rc7-arm64-renesas-05496-gd088502a519f #35 Not tainted [ 4.239603] ----------------------------- [ 4.239606] kworker/u8:5/76 is trying to lock: [ 4.239609] ffff0000091898a0 (&p->lock){....}-{3:3}, at: gpiorcarconfiginterruptinputmode+0x34/0x164 [ 4.239641] other info that might help us debug this: [ 4.239643] context-{5:5} [ 4.239646] 5 locks held by kworker/u8:5/76: [ 4.239651] #0: ffff0000080fb148 ((wqcompletion)async){+.+.}-{0:0}, at: processonework+0x190/0x62c [ 4.250180] OF: /soc/sound@ec500000/ports/port@0/endpoint: Read of boolean property 'frame-master' with a value. [ 4.254094] #1: ffff80008299bd80 ((workcompletion)(&entry->work)){+.+.}-{0:0}, at: processonework+0x1b8/0x62c [ 4.254109] #2: ffff00000920c8f8 [ 4.258345] OF: /soc/sound@ec500000/ports/port@1/endpoint: Read of boolean property 'bitclock-master' with a value. [ 4.264803] (&dev->mutex){....}-{4:4}, at: _deviceattachasynchelper+0x3c/0xdc [ 4.264820] #3: ffff00000a50ca40 (requestclass#2){+.+.}-{4:4}, at: _setupirq+0xa0/0x690 [ 4.264840] #4: [ 4.268872] OF: /soc/sound@ec500000/ports/port@1/endpoint: Read of boolean property 'frame-master' with a value. [ 4.273275] ffff00000a50c8c8 (lockclass){....}-{2:2}, at: _setupirq+0xc4/0x690 [ 4.296130] renesassdhiinternaldmac ee100000.mmc: mmc1 base at 0x00000000ee100000, max clock rate 200 MHz [ 4.304082] stack backtrace: [ 4.304086] CPU: 1 UID: 0 PID: 76 Comm: kworker/u8:5 Not tainted 6.13.0-rc7-arm64-renesas-05496-gd088502a519f #35 [ 4.304092] Hardware name: Renesas Salvator-X 2nd version board based on r8a77965 (DT) [ 4.304097] Workqueue: async asyncrunentryfn [ 4.304106] Call trace: [ 4.304110] showstack+0x14/0x20 (C) [ 4.304122] dumpstacklvl+0x6c/0x90 [ 4.304131] dumpstack+0x14/0x1c [ 4.304138] _lockacquire+0xdfc/0x1584 [ 4.426274] lockacquire+0x1c4/0x33c [ 4.429942] rawspinlockirqsave+0x5c/0x80 [ 4.434307] gpiorcarconfiginterruptinputmode+0x34/0x164 [ 4.440061] gpiorcarirqsettype+0xd4/0xd8 [ 4.444422] _irqsettrigger+0x5c/0x178 [ 4.448435] _setupirq+0x2e4/0x690 [ 4.452012] requestthreadedirq+0xc4/0x190 [ 4.456285] devmrequestthreadedirq+0x7c/0xf4 [ 4.459398] ata1: link resume succeeded after 1 retries [ 4.460902] mmcgpiodrequestcdirq+0x68/0xe0 [ 4.470660] mmcstarthost+0x50/0xac [ 4.474327] mmcaddhost+0x80/0xe4 [ 4.477817] tmiommchostprobe+0x2b0/0x440 [ 4.482094] renesassdhiprobe+0x488/0x6f4 [ 4.486281] renesassdhiinternaldmacprobe+0x60/0x78 [ 4.491509] platformprobe+0x64/0xd8 [ 4.495178] reallyprobe+0xb8/0x2a8 [ 4.498756] _driverprobedevice+0x74/0x118 [ 4.503116] driverprobedevice+0x3c/0x154 [ 4.507303] _deviceattachdriver+0xd4/0x160 [ 4.511750] busforeachdrv+0x84/0xe0 [ 4.515588] _deviceattachasynchelper+0xb0/0xdc [ 4.520470] asyncrunentryfn+0x30/0xd8 [ 4.524481] processonework+0x210/0x62c [ 4.528494] workerthread+0x1ac/0x340 [ 4.532245] kthread+0x10c/0x110 [ 4.535476] retfrom_fork+0x10/0x20