{"id":"CVE-2026-23463","revision":"3c20ed44c6654e25914e82d7c5e571e9","records":[{"revision":"3c20ed44c6654e25914e82d7c5e571e9","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-23463","aliases":[],"title":"soc: fsl: qbman: fix race condition in qman_destroy_fq","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nsoc: fsl: qbman: fix race condition in qman_destroy_fq\n\nWhen QMAN_FQ_FLAG_DYNAMIC_FQID is set, there's a race condition between\nfq_table[fq->idx] state and freeing/allocating from the pool and\nWARN_ON(fq_table[fq->idx]) in qman_create_fq() gets triggered.\n\nIndeed, we can have:\n         Thread A                             Thread B\n    qman_destroy_fq()                    qman_create_fq()\n      qman_release_fqid()\n        qman_shutdown_fq()\n        gen_pool_free()\n           -- At this point, the fqid is available again --\n                                           qman_alloc_fqid()\n           -- so, we can get the just-freed fqid in thread B --\n                                           fq->fqid = fqid;\n                                           fq->idx = fqid * 2;\n                                           WARN_ON(fq_table[fq->idx]);\n                                           fq_table[fq->idx] = fq;\n     fq_table[fq->idx] = NULL;\n\nAnd adding some logs between qman_release_fqid() and\nfq_table[fq->idx] = NULL makes the WARN_ON() trigger a lot more.\n\nTo prevent that, ensure that fq_table[fq->idx] is set to NULL before\ngen_pool_free() is called by using smp_wmb().","state":0,"publishedAt":"2026-04-03T15:15:42.411+00:00","modifiedAt":"2026-10-15T01:15:23.918+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/soc/fsl/qbman/qman.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"c535e923bb97a4b361e89a6383693482057f8b0c\",\n                            \"lessThan\": \"66442cf9989bd4489fa80d9f37637d58ab016835\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"c535e923bb97a4b361e89a6383693482057f8b0c\",\n                            \"lessThan\": \"d288fbe652ef43b7128e4bc0c0c2ef6bd03a2210\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"c535e923bb97a4b361e89a6383693482057f8b0c\",\n                            \"lessThan\": \"9e3d47904b8153c8c3ad2f9b66d5008aad677aa8\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"c535e923bb97a4b361e89a6383693482057f8b0c\",\n                            \"lessThan\": \"d21923a8059fa896bfef016f55dd769299335cb4\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"c535e923bb97a4b361e89a6383693482057f8b0c\",\n                            \"lessThan\": \"751f60bd48edaf03f9d84ab09e5ce6705757d50f\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"c535e923bb97a4b361e89a6383693482057f8b0c\",\n                            \"lessThan\": \"85dbbf7dc88b0a54f2e334daedf6f3f31fd004fa\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"c535e923bb97a4b361e89a6383693482057f8b0c\",\n                            \"lessThan\": \"265e56714635c5dd1e5964bfd97fa6e73f62cde5\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"c535e923bb97a4b361e89a6383693482057f8b0c\",\n                            \"lessThan\": \"014077044e874e270ec480515edbc1cadb976cf2\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/soc/fsl/qbman/qman.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"4.9\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"4.9\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.10.253\",\n                            \"lessThanOrEqual\": \"5.10.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.203\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.167\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.130\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.78\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.20\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.19.10\",\n                            \"lessThanOrEqual\": \"6.19.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.0\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/66442cf9989bd4489fa80d9f37637d58ab016835","https://git.kernel.org/stable/c/d288fbe652ef43b7128e4bc0c0c2ef6bd03a2210","https://git.kernel.org/stable/c/9e3d47904b8153c8c3ad2f9b66d5008aad677aa8","https://git.kernel.org/stable/c/d21923a8059fa896bfef016f55dd769299335cb4","https://git.kernel.org/stable/c/751f60bd48edaf03f9d84ab09e5ce6705757d50f","https://git.kernel.org/stable/c/85dbbf7dc88b0a54f2e334daedf6f3f31fd004fa","https://git.kernel.org/stable/c/265e56714635c5dd1e5964bfd97fa6e73f62cde5","https://git.kernel.org/stable/c/014077044e874e270ec480515edbc1cadb976cf2"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-23463","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-23463","identifiers":["CVE-2026-23463"]},"retained":false,"historicalAffected":[]}],"coverage":[]}