| { |
| "containers": { |
| "cna": { |
| "providerMetadata": { |
| "orgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038" |
| }, |
| "descriptions": [ |
| { |
| "lang": "en", |
| "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: core: Move scsi_host_busy() out of host lock for waking up EH handler\n\nInside scsi_eh_wakeup(), scsi_host_busy() is called & checked with host\nlock every time for deciding if error handler kthread needs to be waken up.\n\nThis can be too heavy in case of recovery, such as:\n\n - N hardware queues\n\n - queue depth is M for each hardware queue\n\n - each scsi_host_busy() iterates over (N * M) tag/requests\n\nIf recovery is triggered in case that all requests are in-flight, each\nscsi_eh_wakeup() is strictly serialized, when scsi_eh_wakeup() is called\nfor the last in-flight request, scsi_host_busy() has been run for (N * M -\n1) times, and request has been iterated for (N*M - 1) * (N * M) times.\n\nIf both N and M are big enough, hard lockup can be triggered on acquiring\nhost lock, and it is observed on mpi3mr(128 hw queues, queue depth 8169).\n\nFix the issue by calling scsi_host_busy() outside the host lock. We don't\nneed the host lock for getting busy count because host the lock never\ncovers that.\n\n[mkp: Drop unnecessary 'busy' variables pointed out by Bart]" |
| } |
| ], |
| "affected": [ |
| { |
| "product": "Linux", |
| "vendor": "Linux", |
| "defaultStatus": "unaffected", |
| "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", |
| "programFiles": [ |
| "drivers/scsi/scsi_error.c", |
| "drivers/scsi/scsi_lib.c", |
| "drivers/scsi/scsi_priv.h" |
| ], |
| "versions": [ |
| { |
| "version": "6eb045e092efefafc6687409a6fa6d1dabf0fb69", |
| "lessThan": "f5944853f7a961fedc1227dc8f60393f8936d37c", |
| "status": "affected", |
| "versionType": "git" |
| }, |
| { |
| "version": "6eb045e092efefafc6687409a6fa6d1dabf0fb69", |
| "lessThan": "d37c1c81419fdef66ebd0747cf76fb8b7d979059", |
| "status": "affected", |
| "versionType": "git" |
| }, |
| { |
| "version": "6eb045e092efefafc6687409a6fa6d1dabf0fb69", |
| "lessThan": "db6338f45971b4285ea368432a84033690eaf53c", |
| "status": "affected", |
| "versionType": "git" |
| }, |
| { |
| "version": "6eb045e092efefafc6687409a6fa6d1dabf0fb69", |
| "lessThan": "65ead8468c21c2676d4d06f50b46beffdea69df1", |
| "status": "affected", |
| "versionType": "git" |
| }, |
| { |
| "version": "6eb045e092efefafc6687409a6fa6d1dabf0fb69", |
| "lessThan": "07e3ca0f17f579491b5f54e9ed05173d6c1d6fcb", |
| "status": "affected", |
| "versionType": "git" |
| }, |
| { |
| "version": "6eb045e092efefafc6687409a6fa6d1dabf0fb69", |
| "lessThan": "4373534a9850627a2695317944898eb1283a2db0", |
| "status": "affected", |
| "versionType": "git" |
| } |
| ] |
| }, |
| { |
| "product": "Linux", |
| "vendor": "Linux", |
| "defaultStatus": "affected", |
| "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", |
| "programFiles": [ |
| "drivers/scsi/scsi_error.c", |
| "drivers/scsi/scsi_lib.c", |
| "drivers/scsi/scsi_priv.h" |
| ], |
| "versions": [ |
| { |
| "version": "5.5", |
| "status": "affected" |
| }, |
| { |
| "version": "0", |
| "lessThan": "5.5", |
| "status": "unaffected", |
| "versionType": "semver" |
| }, |
| { |
| "version": "5.10.210", |
| "lessThanOrEqual": "5.10.*", |
| "status": "unaffected", |
| "versionType": "semver" |
| }, |
| { |
| "version": "5.15.149", |
| "lessThanOrEqual": "5.15.*", |
| "status": "unaffected", |
| "versionType": "semver" |
| }, |
| { |
| "version": "6.1.77", |
| "lessThanOrEqual": "6.1.*", |
| "status": "unaffected", |
| "versionType": "semver" |
| }, |
| { |
| "version": "6.6.16", |
| "lessThanOrEqual": "6.6.*", |
| "status": "unaffected", |
| "versionType": "semver" |
| }, |
| { |
| "version": "6.7.4", |
| "lessThanOrEqual": "6.7.*", |
| "status": "unaffected", |
| "versionType": "semver" |
| }, |
| { |
| "version": "6.8", |
| "lessThanOrEqual": "*", |
| "status": "unaffected", |
| "versionType": "original_commit_for_fix" |
| } |
| ] |
| } |
| ], |
| "cpeApplicability": [ |
| { |
| "nodes": [ |
| { |
| "operator": "OR", |
| "negate": false, |
| "cpeMatch": [ |
| { |
| "vulnerable": true, |
| "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", |
| "versionStartIncluding": "5.5", |
| "versionEndExcluding": "5.10.210" |
| }, |
| { |
| "vulnerable": true, |
| "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", |
| "versionStartIncluding": "5.5", |
| "versionEndExcluding": "5.15.149" |
| }, |
| { |
| "vulnerable": true, |
| "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", |
| "versionStartIncluding": "5.5", |
| "versionEndExcluding": "6.1.77" |
| }, |
| { |
| "vulnerable": true, |
| "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", |
| "versionStartIncluding": "5.5", |
| "versionEndExcluding": "6.6.16" |
| }, |
| { |
| "vulnerable": true, |
| "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", |
| "versionStartIncluding": "5.5", |
| "versionEndExcluding": "6.7.4" |
| }, |
| { |
| "vulnerable": true, |
| "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", |
| "versionStartIncluding": "5.5", |
| "versionEndExcluding": "6.8" |
| } |
| ] |
| } |
| ] |
| } |
| ], |
| "references": [ |
| { |
| "url": "https://git.kernel.org/stable/c/f5944853f7a961fedc1227dc8f60393f8936d37c" |
| }, |
| { |
| "url": "https://git.kernel.org/stable/c/d37c1c81419fdef66ebd0747cf76fb8b7d979059" |
| }, |
| { |
| "url": "https://git.kernel.org/stable/c/db6338f45971b4285ea368432a84033690eaf53c" |
| }, |
| { |
| "url": "https://git.kernel.org/stable/c/65ead8468c21c2676d4d06f50b46beffdea69df1" |
| }, |
| { |
| "url": "https://git.kernel.org/stable/c/07e3ca0f17f579491b5f54e9ed05173d6c1d6fcb" |
| }, |
| { |
| "url": "https://git.kernel.org/stable/c/4373534a9850627a2695317944898eb1283a2db0" |
| } |
| ], |
| "title": "scsi: core: Move scsi_host_busy() out of host lock for waking up EH handler", |
| "x_generator": { |
| "engine": "bippy-1.2.0" |
| } |
| } |
| }, |
| "cveMetadata": { |
| "assignerOrgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038", |
| "cveID": "CVE-2024-26627", |
| "requesterUserId": "gregkh@kernel.org", |
| "serial": "1", |
| "state": "PUBLISHED" |
| }, |
| "dataType": "CVE_RECORD", |
| "dataVersion": "5.0" |
| } |