In the Linux kernel, the following vulnerability has been resolved:
scsi: qla2xxx: During vport delete send async logout explicitly
During vport delete, it is observed that during unload we hit a crash because of stale entries in outstanding command array. For all these stale I/O entries, ehabort was issued and aborted (fastfail_io = 2009h) but I/Os could not complete while vport delete is in process of deleting.
BUG: kernel NULL pointer dereference, address: 000000000000001c #PF: supervisor read access in kernel mode #PF: errorcode(0x0000) - not-present page PGD 0 P4D 0 Oops: 0000 [#1] PREEMPT SMP NOPTI Workqueue: qla2xxxwq qladowork [qla2xxx] RIP: 0010:dmadirectunmapsg+0x51/0x1e0 RSP: 0018:ffffa1e1e150fc68 EFLAGS: 00010046 RAX: 0000000000000000 RBX: 0000000000000021 RCX: 0000000000000001 RDX: 0000000000000021 RSI: 0000000000000000 RDI: ffff8ce208a7a0d0 RBP: ffff8ce208a7a0d0 R08: 0000000000000000 R09: ffff8ce378aac9c8 R10: ffff8ce378aac8a0 R11: ffffa1e1e150f9d8 R12: 0000000000000000 R13: 0000000000000000 R14: ffff8ce378aac9c8 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff8d217f000000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000000000001c CR3: 0000002089acc000 CR4: 0000000000350ee0 Call Trace: <TASK> qla2xxxqpairspfreedma+0x417/0x4e0 ? qla2xxxqpairspcompl+0x10d/0x1a0 ? qla2x00statusentry+0x768/0x2830 ? newidlebalance+0x2f0/0x430 ? dequeueentity+0x100/0x3c0 ? qla24xxprocessresponsequeue+0x6a1/0x19e0 ? _schedule+0x2d5/0x1140 ? qladowork+0x47/0x60 ? processonework+0x267/0x440 ? processonework+0x440/0x440 ? workerthread+0x2d/0x3d0 ? processonework+0x440/0x440 ? kthread+0x156/0x180 ? setkthreadstruct+0x50/0x50 ? retfrom_fork+0x22/0x30 </TASK>
Send out async logout explicitly for all the ports during vport delete.
[
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 843.0,
"function_hash": "200597131617607559425275741807312602649"
},
"signature_type": "Function",
"id": "CVE-2024-42289-15051e61",
"target": {
"file": "drivers/scsi/qla2xxx/qla_mid.c",
"function": "qla24xx_disable_vp"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@086489256696eb774654a5410e86381c346356fe"
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"167912546023267956501730797347801476647",
"100371352668034956505431448091661838003",
"235457754300543709073731452404670007031",
"301559240499903365093458995037374472014"
]
},
"signature_type": "Line",
"id": "CVE-2024-42289-1ccd70e6",
"target": {
"file": "drivers/scsi/qla2xxx/qla_mid.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@87c25fcb95aafabb6a4914239f4ab41b07a4f9b7"
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"167912546023267956501730797347801476647",
"100371352668034956505431448091661838003",
"235457754300543709073731452404670007031",
"301559240499903365093458995037374472014"
]
},
"signature_type": "Line",
"id": "CVE-2024-42289-2c10451e",
"target": {
"file": "drivers/scsi/qla2xxx/qla_mid.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b35d6d5a2f38605cddea7d5c64cded894fbe8ede"
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 839.0,
"function_hash": "315415787450079970831349665924488885994"
},
"signature_type": "Function",
"id": "CVE-2024-42289-554e757e",
"target": {
"file": "drivers/scsi/qla2xxx/qla_mid.c",
"function": "qla24xx_disable_vp"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e5ed6a26ffdec0c91cf0b6138afbd675c00ad5fc"
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1054.0,
"function_hash": "87825296498128370874706976762155037127"
},
"signature_type": "Function",
"id": "CVE-2024-42289-556dbfe3",
"target": {
"file": "drivers/scsi/qla2xxx/qla_mid.c",
"function": "qla24xx_disable_vp"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b35d6d5a2f38605cddea7d5c64cded894fbe8ede"
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"167912546023267956501730797347801476647",
"30796938839772487542569897257782644664",
"184995912466795264795713849720247544047",
"271784278857668880748583459201249508072"
]
},
"signature_type": "Line",
"id": "CVE-2024-42289-765990ff",
"target": {
"file": "drivers/scsi/qla2xxx/qla_mid.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e5ed6a26ffdec0c91cf0b6138afbd675c00ad5fc"
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1054.0,
"function_hash": "87825296498128370874706976762155037127"
},
"signature_type": "Function",
"id": "CVE-2024-42289-98dbd779",
"target": {
"file": "drivers/scsi/qla2xxx/qla_mid.c",
"function": "qla24xx_disable_vp"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@76f480d7c717368f29a3870f7d64471ce0ff8fb2"
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1054.0,
"function_hash": "87825296498128370874706976762155037127"
},
"signature_type": "Function",
"id": "CVE-2024-42289-a702e1e9",
"target": {
"file": "drivers/scsi/qla2xxx/qla_mid.c",
"function": "qla24xx_disable_vp"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b12c54e51ba83c1fbc619d35083d7872e42ecdef"
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"167912546023267956501730797347801476647",
"100371352668034956505431448091661838003",
"235457754300543709073731452404670007031",
"301559240499903365093458995037374472014"
]
},
"signature_type": "Line",
"id": "CVE-2024-42289-a8af3579",
"target": {
"file": "drivers/scsi/qla2xxx/qla_mid.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@76f480d7c717368f29a3870f7d64471ce0ff8fb2"
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1054.0,
"function_hash": "87825296498128370874706976762155037127"
},
"signature_type": "Function",
"id": "CVE-2024-42289-b499c62b",
"target": {
"file": "drivers/scsi/qla2xxx/qla_mid.c",
"function": "qla24xx_disable_vp"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d28a2075bb530489715a3b011e1dd8765ba20313"
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1054.0,
"function_hash": "87825296498128370874706976762155037127"
},
"signature_type": "Function",
"id": "CVE-2024-42289-b4f495ff",
"target": {
"file": "drivers/scsi/qla2xxx/qla_mid.c",
"function": "qla24xx_disable_vp"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@87c25fcb95aafabb6a4914239f4ab41b07a4f9b7"
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"167912546023267956501730797347801476647",
"100371352668034956505431448091661838003",
"235457754300543709073731452404670007031",
"301559240499903365093458995037374472014"
]
},
"signature_type": "Line",
"id": "CVE-2024-42289-ba3adefa",
"target": {
"file": "drivers/scsi/qla2xxx/qla_mid.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b12c54e51ba83c1fbc619d35083d7872e42ecdef"
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"167912546023267956501730797347801476647",
"289746030703059724398741687555852683318",
"317795957405729156995639116954422389733",
"305569538484543220723327100869331746176"
]
},
"signature_type": "Line",
"id": "CVE-2024-42289-ba64d36a",
"target": {
"file": "drivers/scsi/qla2xxx/qla_mid.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@086489256696eb774654a5410e86381c346356fe"
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 843.0,
"function_hash": "200597131617607559425275741807312602649"
},
"signature_type": "Function",
"id": "CVE-2024-42289-bb437b75",
"target": {
"file": "drivers/scsi/qla2xxx/qla_mid.c",
"function": "qla24xx_disable_vp"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@171ac4b495f9473bc134356a00095b47e6409e52"
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"167912546023267956501730797347801476647",
"289746030703059724398741687555852683318",
"317795957405729156995639116954422389733",
"305569538484543220723327100869331746176"
]
},
"signature_type": "Line",
"id": "CVE-2024-42289-c1bcf72c",
"target": {
"file": "drivers/scsi/qla2xxx/qla_mid.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@171ac4b495f9473bc134356a00095b47e6409e52"
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"167912546023267956501730797347801476647",
"100371352668034956505431448091661838003",
"235457754300543709073731452404670007031",
"301559240499903365093458995037374472014"
]
},
"signature_type": "Line",
"id": "CVE-2024-42289-cc8a0251",
"target": {
"file": "drivers/scsi/qla2xxx/qla_mid.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d28a2075bb530489715a3b011e1dd8765ba20313"
}
]