In the Linux kernel, the following vulnerability has been resolved:
RDMA/irdma: Fix drain SQ hang with no completion
SW generated completions for outstanding WRs posted on SQ after QP is in error target the wrong CQ. This causes the ibdrainsq to hang with no completion.
Fix this to generate completions on the right CQ.
[ 863.969340] INFO: task kworker/u52:2:671 blocked for more than 122 seconds. [ 863.979224] Not tainted 5.14.0-130.el9.x8664 #1 [ 863.986588] "echo 0 > /proc/sys/kernel/hungtasktimeoutsecs" disables this message. [ 863.996997] task:kworker/u52:2 state:D stack: 0 pid: 671 ppid: 2 flags:0x00004000 [ 864.007272] Workqueue: xprtiod xprtautoclose [sunrpc] [ 864.014056] Call Trace: [ 864.017575] _schedule+0x206/0x580 [ 864.022296] schedule+0x43/0xa0 [ 864.026736] scheduletimeout+0x115/0x150 [ 864.032185] _waitforcommon+0x93/0x1d0 [ 864.037717] ? usleeprangestate+0x90/0x90 [ 864.043368] _ibdrainsq+0xf6/0x170 [ibcore] [ 864.049371] ? _rdmablockiternext+0x80/0x80 [ibcore] [ 864.056240] ibdrainsq+0x66/0x70 [ibcore] [ 864.062003] rpcrdmaxprtdisconnect+0x82/0x3b0 [rpcrdma] [ 864.069365] ? xprtpreparetransmit+0x5d/0xc0 [sunrpc] [ 864.076386] xprtrdmaclose+0xe/0x30 [rpcrdma] [ 864.082593] xprtautoclose+0x52/0x100 [sunrpc] [ 864.088718] processonework+0x1e8/0x3c0 [ 864.094170] workerthread+0x50/0x3b0 [ 864.099109] ? rescuerthread+0x370/0x370 [ 864.104473] kthread+0x149/0x170 [ 864.109022] ? setkthreadstruct+0x40/0x40 [ 864.114713] retfrom_fork+0x22/0x30
{ "vanir_signatures": [ { "id": "CVE-2022-48694-2154d868", "deprecated": false, "digest": { "threshold": 0.9, "line_hashes": [ "93692876375623207965895532440282096578", "64873467788158620963722306546184744814", "72929760219807031609585792402037277402", "324011046290450932168736396305362548007" ] }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@14d148401c5202fec3a071e24785481d540b22c3", "target": { "file": "drivers/infiniband/hw/irdma/utils.c" }, "signature_version": "v1", "signature_type": "Line" }, { "id": "CVE-2022-48694-51999ab2", "deprecated": false, "digest": { "threshold": 0.9, "line_hashes": [ "93692876375623207965895532440282096578", "64873467788158620963722306546184744814", "72929760219807031609585792402037277402", "324011046290450932168736396305362548007" ] }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ead54ced6321099978d30d62dc49c282a6e70574", "target": { "file": "drivers/infiniband/hw/irdma/utils.c" }, "signature_version": "v1", "signature_type": "Line" }, { "id": "CVE-2022-48694-6afc3975", "deprecated": false, "digest": { "threshold": 0.9, "line_hashes": [ "93692876375623207965895532440282096578", "64873467788158620963722306546184744814", "72929760219807031609585792402037277402", "324011046290450932168736396305362548007" ] }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5becc531a3fa8da75158a8993f56cc3e0717716e", "target": { "file": "drivers/infiniband/hw/irdma/utils.c" }, "signature_version": "v1", "signature_type": "Line" }, { "id": "CVE-2022-48694-6d34ceae", "deprecated": false, "digest": { "function_hash": "202967127849747691641436093582933808184", "length": 2538.0 }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@14d148401c5202fec3a071e24785481d540b22c3", "target": { "file": "drivers/infiniband/hw/irdma/utils.c", "function": "irdma_generate_flush_completions" }, "signature_version": "v1", "signature_type": "Function" }, { "id": "CVE-2022-48694-aa5db499", "deprecated": false, "digest": { "function_hash": "202967127849747691641436093582933808184", "length": 2538.0 }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5becc531a3fa8da75158a8993f56cc3e0717716e", "target": { "file": "drivers/infiniband/hw/irdma/utils.c", "function": "irdma_generate_flush_completions" }, "signature_version": "v1", "signature_type": "Function" }, { "id": "CVE-2022-48694-fcac9e7d", "deprecated": false, "digest": { "function_hash": "202967127849747691641436093582933808184", "length": 2538.0 }, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ead54ced6321099978d30d62dc49c282a6e70574", "target": { "file": "drivers/infiniband/hw/irdma/utils.c", "function": "irdma_generate_flush_completions" }, "signature_version": "v1", "signature_type": "Function" } ] }