In the Linux kernel, the following vulnerability has been resolved:
scsi: qla2xxx: Use rawsmpprocessorid() instead of smpprocessor_id()
The following call trace was observed:
localhost kernel: nvme nvme0: NVME-FC{0}: controller connect complete localhost kernel: BUG: using smpprocessorid() in preemptible [00000000] code: kworker/u129:4/75092 localhost kernel: nvme nvme0: NVME-FC{0}: new ctrl: NQN "nqn.1992-08.com.netapp:sn.b42d198afb4d11ecad6d00a098d6abfa:subsystem.PRChannel2022RH84subsystem291" localhost kernel: caller is qlanvmepostcmd+0x216/0x1380 [qla2xxx] localhost kernel: CPU: 6 PID: 75092 Comm: kworker/u129:4 Kdump: loaded Tainted: G B W OE --------- --- 5.14.0-70.22.1.el90.x8664+debug #1 localhost kernel: Hardware name: HPE ProLiant XL420 Gen10/ProLiant XL420 Gen10, BIOS U39 01/13/2022 localhost kernel: Workqueue: nvme-wq nvmeasynceventwork [nvmecore] localhost kernel: Call Trace: localhost kernel: dumpstacklvl+0x57/0x7d localhost kernel: checkpreemptiondisabled+0xc8/0xd0 localhost kernel: qlanvmepostcmd+0x216/0x1380 [qla2xxx]
Use rawsmpprocessorid() instead of smpprocessor_id().
Also use queuework() across the driver instead of queueworkon() thus avoiding usage of smpprocessorid() when CONFIGDEBUG_PREEMPT is enabled.
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a541999f31fcb10ea50eba2a563e6c451fd5c7d",
"target": {
"function": "tcm_qla2xxx_free_cmd",
"file": "drivers/scsi/qla2xxx/tcm_qla2xxx.c"
},
"digest": {
"function_hash": "106823184216774471115654631270817658653",
"length": 337.0
},
"deprecated": false,
"id": "CVE-2023-53530-051d4be0",
"signature_type": "Function",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a541999f31fcb10ea50eba2a563e6c451fd5c7d",
"target": {
"file": "drivers/scsi/qla2xxx/tcm_qla2xxx.c"
},
"digest": {
"line_hashes": [
"329619812153440358923474733928280969261",
"211578806781836222154977891308868408192",
"281497507151128736781020385507112129338",
"337894585561681999747893722296384010522",
"10989601718040809540887105903653208359",
"193389193363898741017403847710830817393",
"120051078911637639111711394390379047880",
"263243456029852471389874660408544490012"
],
"threshold": 0.9
},
"deprecated": false,
"id": "CVE-2023-53530-0a406dfb",
"signature_type": "Line",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@25bd0c7def04a272f8e89b36971712fe29c6e438",
"target": {
"function": "qla2xxx_msix_rsp_q",
"file": "drivers/scsi/qla2xxx/qla_isr.c"
},
"digest": {
"function_hash": "229358645805678899641026120986047205254",
"length": 317.0
},
"deprecated": false,
"id": "CVE-2023-53530-1b974079",
"signature_type": "Function",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@59f10a05b5c7b675256a66e3161741239889ff80",
"target": {
"function": "qla2xxx_msix_rsp_q_hs",
"file": "drivers/scsi/qla2xxx/qla_isr.c"
},
"digest": {
"function_hash": "69053791741998136525710234446353418199",
"length": 523.0
},
"deprecated": false,
"id": "CVE-2023-53530-2b1ec7f7",
"signature_type": "Function",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@25bd0c7def04a272f8e89b36971712fe29c6e438",
"target": {
"function": "qlt_handle_cmd_for_atio",
"file": "drivers/scsi/qla2xxx/qla_target.c"
},
"digest": {
"function_hash": "135634730655686945266029080973205520217",
"length": 1834.0
},
"deprecated": false,
"id": "CVE-2023-53530-2c1a35d1",
"signature_type": "Function",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a541999f31fcb10ea50eba2a563e6c451fd5c7d",
"target": {
"function": "qlt_handle_cmd_for_atio",
"file": "drivers/scsi/qla2xxx/qla_target.c"
},
"digest": {
"function_hash": "135634730655686945266029080973205520217",
"length": 1834.0
},
"deprecated": false,
"id": "CVE-2023-53530-2cf8b4e5",
"signature_type": "Function",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a541999f31fcb10ea50eba2a563e6c451fd5c7d",
"target": {
"function": "tcm_qla2xxx_handle_data",
"file": "drivers/scsi/qla2xxx/tcm_qla2xxx.c"
},
"digest": {
"function_hash": "326297431874817788271195500604354121176",
"length": 234.0
},
"deprecated": false,
"id": "CVE-2023-53530-335bbfb7",
"signature_type": "Function",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@59f10a05b5c7b675256a66e3161741239889ff80",
"target": {
"function": "tcm_qla2xxx_handle_data",
"file": "drivers/scsi/qla2xxx/tcm_qla2xxx.c"
},
"digest": {
"function_hash": "326297431874817788271195500604354121176",
"length": 234.0
},
"deprecated": false,
"id": "CVE-2023-53530-348bc7f4",
"signature_type": "Function",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@59f10a05b5c7b675256a66e3161741239889ff80",
"target": {
"file": "drivers/scsi/qla2xxx/qla_inline.h"
},
"digest": {
"line_hashes": [
"33797622450265834612269757161088611186",
"212844756492798082055463013774588947102",
"134824881726828753428613131205821883884",
"80850871020996347394503197824226165229"
],
"threshold": 0.9
},
"deprecated": false,
"id": "CVE-2023-53530-454a6009",
"signature_type": "Line",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a541999f31fcb10ea50eba2a563e6c451fd5c7d",
"target": {
"file": "drivers/scsi/qla2xxx/qla_target.c"
},
"digest": {
"line_hashes": [
"66326119614816063319532085228822666711",
"159550432658628402102273558834966693948",
"205133946126430838704789116116343549265",
"248376108926219312151041384600588144208",
"65173281510255630884625834818406859652"
],
"threshold": 0.9
},
"deprecated": false,
"id": "CVE-2023-53530-47b72c4d",
"signature_type": "Line",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@25bd0c7def04a272f8e89b36971712fe29c6e438",
"target": {
"function": "tcm_qla2xxx_free_cmd",
"file": "drivers/scsi/qla2xxx/tcm_qla2xxx.c"
},
"digest": {
"function_hash": "106823184216774471115654631270817658653",
"length": 337.0
},
"deprecated": false,
"id": "CVE-2023-53530-4fa564ed",
"signature_type": "Function",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@25bd0c7def04a272f8e89b36971712fe29c6e438",
"target": {
"file": "drivers/scsi/qla2xxx/tcm_qla2xxx.c"
},
"digest": {
"line_hashes": [
"329619812153440358923474733928280969261",
"211578806781836222154977891308868408192",
"281497507151128736781020385507112129338",
"337894585561681999747893722296384010522",
"10989601718040809540887105903653208359",
"193389193363898741017403847710830817393",
"120051078911637639111711394390379047880",
"263243456029852471389874660408544490012"
],
"threshold": 0.9
},
"deprecated": false,
"id": "CVE-2023-53530-5b7c9f8f",
"signature_type": "Line",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a541999f31fcb10ea50eba2a563e6c451fd5c7d",
"target": {
"function": "qla2xxx_msix_rsp_q",
"file": "drivers/scsi/qla2xxx/qla_isr.c"
},
"digest": {
"function_hash": "229358645805678899641026120986047205254",
"length": 317.0
},
"deprecated": false,
"id": "CVE-2023-53530-606665ab",
"signature_type": "Function",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@59f10a05b5c7b675256a66e3161741239889ff80",
"target": {
"function": "qlt_handle_cmd_for_atio",
"file": "drivers/scsi/qla2xxx/qla_target.c"
},
"digest": {
"function_hash": "135634730655686945266029080973205520217",
"length": 1834.0
},
"deprecated": false,
"id": "CVE-2023-53530-6fe8510d",
"signature_type": "Function",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a541999f31fcb10ea50eba2a563e6c451fd5c7d",
"target": {
"file": "drivers/scsi/qla2xxx/qla_isr.c"
},
"digest": {
"line_hashes": [
"75001484107653496066675221646711511908",
"14378870751564534083981206417167048838",
"284102656948189061864625151417559290166",
"33592180993144482805087124073362561607",
"339031340303178947500145838212033922273",
"202812968428830400517243972853204608777",
"132121081368950150978292922823548117100",
"52148013478286814591479097843230385957",
"73473284806715843076487998083537221341",
"319084033333736855667335947474734173990",
"44673800908868046311359510193748143431",
"203594879992098246721178031487733703980"
],
"threshold": 0.9
},
"deprecated": false,
"id": "CVE-2023-53530-7f60f50b",
"signature_type": "Line",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a541999f31fcb10ea50eba2a563e6c451fd5c7d",
"target": {
"function": "qla2xxx_msix_rsp_q_hs",
"file": "drivers/scsi/qla2xxx/qla_isr.c"
},
"digest": {
"function_hash": "69053791741998136525710234446353418199",
"length": 523.0
},
"deprecated": false,
"id": "CVE-2023-53530-8966d7c6",
"signature_type": "Function",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@25bd0c7def04a272f8e89b36971712fe29c6e438",
"target": {
"file": "drivers/scsi/qla2xxx/qla_inline.h"
},
"digest": {
"line_hashes": [
"33797622450265834612269757161088611186",
"212844756492798082055463013774588947102",
"134824881726828753428613131205821883884",
"80850871020996347394503197824226165229"
],
"threshold": 0.9
},
"deprecated": false,
"id": "CVE-2023-53530-8ced8cf6",
"signature_type": "Line",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@25bd0c7def04a272f8e89b36971712fe29c6e438",
"target": {
"function": "qla2xxx_msix_rsp_q_hs",
"file": "drivers/scsi/qla2xxx/qla_isr.c"
},
"digest": {
"function_hash": "69053791741998136525710234446353418199",
"length": 523.0
},
"deprecated": false,
"id": "CVE-2023-53530-91b8bc53",
"signature_type": "Function",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@59f10a05b5c7b675256a66e3161741239889ff80",
"target": {
"file": "drivers/scsi/qla2xxx/tcm_qla2xxx.c"
},
"digest": {
"line_hashes": [
"329619812153440358923474733928280969261",
"211578806781836222154977891308868408192",
"281497507151128736781020385507112129338",
"337894585561681999747893722296384010522",
"10989601718040809540887105903653208359",
"193389193363898741017403847710830817393",
"120051078911637639111711394390379047880",
"263243456029852471389874660408544490012"
],
"threshold": 0.9
},
"deprecated": false,
"id": "CVE-2023-53530-97b6a17f",
"signature_type": "Line",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@59f10a05b5c7b675256a66e3161741239889ff80",
"target": {
"function": "tcm_qla2xxx_free_cmd",
"file": "drivers/scsi/qla2xxx/tcm_qla2xxx.c"
},
"digest": {
"function_hash": "106823184216774471115654631270817658653",
"length": 337.0
},
"deprecated": false,
"id": "CVE-2023-53530-ad33ad2c",
"signature_type": "Function",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@59f10a05b5c7b675256a66e3161741239889ff80",
"target": {
"function": "qla2xxx_msix_rsp_q",
"file": "drivers/scsi/qla2xxx/qla_isr.c"
},
"digest": {
"function_hash": "229358645805678899641026120986047205254",
"length": 317.0
},
"deprecated": false,
"id": "CVE-2023-53530-ba4de011",
"signature_type": "Function",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a541999f31fcb10ea50eba2a563e6c451fd5c7d",
"target": {
"file": "drivers/scsi/qla2xxx/qla_inline.h"
},
"digest": {
"line_hashes": [
"33797622450265834612269757161088611186",
"212844756492798082055463013774588947102",
"134824881726828753428613131205821883884",
"80850871020996347394503197824226165229"
],
"threshold": 0.9
},
"deprecated": false,
"id": "CVE-2023-53530-c090736d",
"signature_type": "Line",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@25bd0c7def04a272f8e89b36971712fe29c6e438",
"target": {
"function": "tcm_qla2xxx_handle_data",
"file": "drivers/scsi/qla2xxx/tcm_qla2xxx.c"
},
"digest": {
"function_hash": "326297431874817788271195500604354121176",
"length": 234.0
},
"deprecated": false,
"id": "CVE-2023-53530-cf6e8bc9",
"signature_type": "Function",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@59f10a05b5c7b675256a66e3161741239889ff80",
"target": {
"file": "drivers/scsi/qla2xxx/qla_target.c"
},
"digest": {
"line_hashes": [
"66326119614816063319532085228822666711",
"159550432658628402102273558834966693948",
"205133946126430838704789116116343549265",
"248376108926219312151041384600588144208",
"65173281510255630884625834818406859652"
],
"threshold": 0.9
},
"deprecated": false,
"id": "CVE-2023-53530-e18ea811",
"signature_type": "Line",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@25bd0c7def04a272f8e89b36971712fe29c6e438",
"target": {
"file": "drivers/scsi/qla2xxx/qla_isr.c"
},
"digest": {
"line_hashes": [
"180109238428925168832943474267199887868",
"14378870751564534083981206417167048838",
"297487529632577671936146430091686904097",
"282324120148343622068950505213707659180",
"339031340303178947500145838212033922273",
"202812968428830400517243972853204608777",
"132121081368950150978292922823548117100",
"52148013478286814591479097843230385957",
"73473284806715843076487998083537221341",
"319084033333736855667335947474734173990",
"44673800908868046311359510193748143431",
"203594879992098246721178031487733703980"
],
"threshold": 0.9
},
"deprecated": false,
"id": "CVE-2023-53530-f7f12eb2",
"signature_type": "Line",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@25bd0c7def04a272f8e89b36971712fe29c6e438",
"target": {
"file": "drivers/scsi/qla2xxx/qla_target.c"
},
"digest": {
"line_hashes": [
"66326119614816063319532085228822666711",
"159550432658628402102273558834966693948",
"205133946126430838704789116116343549265",
"248376108926219312151041384600588144208",
"65173281510255630884625834818406859652"
],
"threshold": 0.9
},
"deprecated": false,
"id": "CVE-2023-53530-fce89b6d",
"signature_type": "Line",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@59f10a05b5c7b675256a66e3161741239889ff80",
"target": {
"file": "drivers/scsi/qla2xxx/qla_isr.c"
},
"digest": {
"line_hashes": [
"180109238428925168832943474267199887868",
"14378870751564534083981206417167048838",
"297487529632577671936146430091686904097",
"282324120148343622068950505213707659180",
"339031340303178947500145838212033922273",
"202812968428830400517243972853204608777",
"132121081368950150978292922823548117100",
"52148013478286814591479097843230385957",
"73473284806715843076487998083537221341",
"319084033333736855667335947474734173990",
"44673800908868046311359510193748143431",
"203594879992098246721178031487733703980"
],
"threshold": 0.9
},
"deprecated": false,
"id": "CVE-2023-53530-ff37e111",
"signature_type": "Line",
"signature_version": "v1"
}
]