{"id":"CVE-2026-89509","revision":"3f0d1923427549e2ac7e58c250ae1928","records":[{"revision":"3f0d1923427549e2ac7e58c250ae1928","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-89509","aliases":[],"title":"RDMA/ionic: Embed counter driver data in rdma_counter allocation","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA/ionic: Embed counter driver data in rdma_counter allocation\n\nCommit 7e53b31acc7f (\"RDMA/core: Create and destroy rdma_counter using\nrdma_zalloc_drv_obj()\") requires drivers implementing counter ops to\nembed struct rdma_counter in a driver-specific struct, register its size\nvia INIT_RDMA_OBJ_SIZE, and provide a counter_init callback.\n\nThe ionic driver was merged without this adaptation, causing a NULL\npointer dereference in alloc_and_bind() since rdma_zalloc_drv_obj()\nallocates zero bytes when size_rdma_counter is unset.\n\nConsolidate struct ionic_counter into a new struct ionic_rdma_counter\nthat embeds struct rdma_counter, replace the xarray with a lightweight\nida for ID allocation, and add the required counter_init and\nINIT_RDMA_OBJ_SIZE declarations.","state":0,"publishedAt":"2026-09-11T19:43:55.336+00:00","modifiedAt":"2026-10-19T08:48:00.667+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/infiniband/hw/ionic/ionic_hw_stats.c\",\n                        \"drivers/infiniband/hw/ionic/ionic_ibdev.h\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"ea4c399642b85dc30f44d90ee805c6a18fa03062\",\n                            \"lessThan\": \"c98197ee3cd28288da13dc9881bb9e74daa7cbbc\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"ea4c399642b85dc30f44d90ee805c6a18fa03062\",\n                            \"lessThan\": \"08b8630b557828aedb1d9ef0a6e2ec421f334ee2\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"ea4c399642b85dc30f44d90ee805c6a18fa03062\",\n                            \"lessThan\": \"cf3ebd89e754015625fee90aa938f6bc79a2c974\",\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/infiniband/hw/ionic/ionic_hw_stats.c\",\n                        \"drivers/infiniband/hw/ionic/ionic_ibdev.h\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"6.18\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"6.18\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.51\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.4\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/c98197ee3cd28288da13dc9881bb9e74daa7cbbc","https://git.kernel.org/stable/c/08b8630b557828aedb1d9ef0a6e2ec421f334ee2","https://git.kernel.org/stable/c/cf3ebd89e754015625fee90aa938f6bc79a2c974"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-89509","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-89509","identifiers":["CVE-2026-89509"]},"retained":false,"historicalAffected":[]}],"coverage":[]}