In the Linux kernel, the following vulnerability has been resolved:
RDMA/siw: Add sendpageok() check to disable MSGSPLICE_PAGES
While running ISER over SIW, the initiator machine encounters a warning from skbsplicefromiter() indicating that a slab page is being used in sendpage. To address this, it is better to add a sendpageok() check within the driver itself, and if it returns 0, then MSGSPLICE_PAGES flag should be disabled before entering the network stack.
A similar issue has been discussed for NVMe in this thread: https://lore.kernel.org/all/20240530142417.146696-1-ofir.gal@volumez.com/
WARNING: CPU: 0 PID: 5342 at net/core/skbuff.c:7140 skbsplicefromiter+0x173/0x320 Call Trace: tcpsendmsglocked+0x368/0xe40 siwtxhdt+0x695/0xa40 [siw] siwqpsqprocess+0x102/0xb00 [siw] siwsqresume+0x39/0x110 [siw] siwrunsq+0x74/0x160 [siw] kthread+0xd2/0x100 retfromfork+0x34/0x40 retfromfork_asm+0x1a/0x30
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4e1e3dd88a4cedd5ccc1a3fc3d71e03b70a7a791",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "199322790262558730613588129910960112664",
"length": 843.0
},
"id": "CVE-2024-53094-6ad3a002",
"signature_version": "v1",
"target": {
"function": "siw_tcp_sendpages",
"file": "drivers/infiniband/sw/siw/siw_qp_tx.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bb5738957d92c8603a90c9664d34236641c221b2",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "199322790262558730613588129910960112664",
"length": 843.0
},
"id": "CVE-2024-53094-8d5149ad",
"signature_version": "v1",
"target": {
"function": "siw_tcp_sendpages",
"file": "drivers/infiniband/sw/siw/siw_qp_tx.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3406bfc813a9bbd9c3055795e985f527b7852e8c",
"deprecated": false,
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"284804125911072859476317381692694468109",
"123524587401163814051796537343599277831",
"155812262490775768334526976619250526607",
"35814761062354276668539060435616092114"
]
},
"id": "CVE-2024-53094-8e9a75d7",
"signature_version": "v1",
"target": {
"file": "drivers/infiniband/sw/siw/siw_qp_tx.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4e1e3dd88a4cedd5ccc1a3fc3d71e03b70a7a791",
"deprecated": false,
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"284804125911072859476317381692694468109",
"123524587401163814051796537343599277831",
"155812262490775768334526976619250526607",
"35814761062354276668539060435616092114"
]
},
"id": "CVE-2024-53094-dc3e0dc4",
"signature_version": "v1",
"target": {
"file": "drivers/infiniband/sw/siw/siw_qp_tx.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bb5738957d92c8603a90c9664d34236641c221b2",
"deprecated": false,
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"284804125911072859476317381692694468109",
"123524587401163814051796537343599277831",
"155812262490775768334526976619250526607",
"35814761062354276668539060435616092114"
]
},
"id": "CVE-2024-53094-eb2f8039",
"signature_version": "v1",
"target": {
"file": "drivers/infiniband/sw/siw/siw_qp_tx.c"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3406bfc813a9bbd9c3055795e985f527b7852e8c",
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "199322790262558730613588129910960112664",
"length": 843.0
},
"id": "CVE-2024-53094-eb4cf0ee",
"signature_version": "v1",
"target": {
"function": "siw_tcp_sendpages",
"file": "drivers/infiniband/sw/siw/siw_qp_tx.c"
}
}
]