In the Linux kernel, the following vulnerability has been resolved:
octeontx2-pf: Avoid use of GFP_KERNEL in atomic context
Using GFPKERNEL in preemption disable context, causing below warning when CONFIGDEBUGATOMICSLEEP is enabled.
[ 32.542271] BUG: sleeping function called from invalid context at include/linux/sched/mm.h:274 [ 32.550883] inatomic(): 1, irqsdisabled(): 0, nonblock: 0, pid: 1, name: swapper/0 [ 32.558707] preemptcount: 1, expected: 0 [ 32.562710] RCU nest depth: 0, expected: 0 [ 32.566800] CPU: 3 PID: 1 Comm: swapper/0 Tainted: G W 6.2.0-rc2-00269-gae9dcb91c606 #7 [ 32.576188] Hardware name: Marvell CN106XX board (DT) [ 32.581232] Call trace: [ 32.583670] dumpbacktrace.part.0+0xe0/0xf0 [ 32.587937] showstack+0x18/0x30 [ 32.591245] dumpstacklvl+0x68/0x84 [ 32.594900] dumpstack+0x18/0x34 [ 32.598206] _mightresched+0x12c/0x160 [ 32.602122] _mightsleep+0x48/0xa0 [ 32.605689] _kmemcacheallocnode+0x2b8/0x2e0 [ 32.610301] _kmalloc+0x58/0x190 [ 32.613610] otx2sqaurapoolinit+0x1a8/0x314 [ 32.618134] otx2_open+0x1d4/0x9d0
To avoid use of GFP_ATOMIC for memory allocation, disable preemption after all memory allocation is done.