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.
[
{
"id": "CVE-2023-53030-082bc3c5",
"target": {
"function": "otx2_sq_aura_pool_init",
"file": "drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c"
},
"signature_version": "v1",
"digest": {
"length": 1357.0,
"function_hash": "88736293553117078823597429035093890570"
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@87b93b678e95c7d93fe6a55b0e0fbda26d8c7760",
"signature_type": "Function"
},
{
"id": "CVE-2023-53030-0fe434c5",
"target": {
"function": "otx2_sq_aura_pool_init",
"file": "drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c"
},
"signature_version": "v1",
"digest": {
"length": 1349.0,
"function_hash": "141051172302333199090897358179494260214"
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2827c4eb429db64befdca11362e2b1c5f524f6ba",
"signature_type": "Function"
},
{
"id": "CVE-2023-53030-9e02f49b",
"target": {
"file": "drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c"
},
"signature_version": "v1",
"digest": {
"line_hashes": [
"98135601722605301404944427420983074532",
"68037871031799498690704217522010981577",
"101596111753364021773489251589798659329",
"121284253179382737514464995584996314472",
"48268121461968723731624936746376290560",
"144485566278533881702700060368142127674",
"91621423971026937024173476573145528562",
"171463017380406023547241428343453767183",
"275475872952119608250515252233031320574",
"88327439942688420381087388993243794487",
"305835127996705234460526506324522499667",
"52622931572608389616961811712972720066",
"315745102206753280539892084044488588933",
"292441242241910570033993983003257403373"
],
"threshold": 0.9
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2827c4eb429db64befdca11362e2b1c5f524f6ba",
"signature_type": "Line"
},
{
"id": "CVE-2023-53030-e780075d",
"target": {
"file": "drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c"
},
"signature_version": "v1",
"digest": {
"line_hashes": [
"98135601722605301404944427420983074532",
"181003884459414443496997533246481321782",
"203334230411183676508662923881252296525",
"269803453091366722185626168546178071100",
"48268121461968723731624936746376290560",
"144485566278533881702700060368142127674",
"91621423971026937024173476573145528562",
"171463017380406023547241428343453767183",
"275475872952119608250515252233031320574",
"88327439942688420381087388993243794487",
"305835127996705234460526506324522499667",
"52622931572608389616961811712972720066",
"315745102206753280539892084044488588933",
"292441242241910570033993983003257403373"
],
"threshold": 0.9
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1eb57b87f106c90cee6b2a56a10f2e29c7a25f3e",
"signature_type": "Line"
},
{
"id": "CVE-2023-53030-ed8e09ee",
"target": {
"file": "drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c"
},
"signature_version": "v1",
"digest": {
"line_hashes": [
"98135601722605301404944427420983074532",
"181003884459414443496997533246481321782",
"203334230411183676508662923881252296525",
"269803453091366722185626168546178071100",
"48268121461968723731624936746376290560",
"144485566278533881702700060368142127674",
"91621423971026937024173476573145528562",
"171463017380406023547241428343453767183",
"275475872952119608250515252233031320574",
"88327439942688420381087388993243794487",
"305835127996705234460526506324522499667",
"52622931572608389616961811712972720066",
"315745102206753280539892084044488588933",
"292441242241910570033993983003257403373"
],
"threshold": 0.9
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@87b93b678e95c7d93fe6a55b0e0fbda26d8c7760",
"signature_type": "Line"
},
{
"id": "CVE-2023-53030-f38287be",
"target": {
"function": "otx2_sq_aura_pool_init",
"file": "drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c"
},
"signature_version": "v1",
"digest": {
"length": 1357.0,
"function_hash": "88736293553117078823597429035093890570"
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1eb57b87f106c90cee6b2a56a10f2e29c7a25f3e",
"signature_type": "Function"
}
]