{"id":"CVE-2026-31573","state":"PUBLISHED","title":"media: verisilicon: Fix kernel panic due to __initconst misuse","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: verisilicon: Fix kernel panic due to __initconst misuse\n\nFix a kernel panic when probing the driver as a module:\n\n  Unable to handle kernel paging request at virtual address\n  ffffd9c18eb05000\n  of_find_matching_node_and_match+0x5c/0x1a0\n  hantro_probe+0x2f4/0x7d0 [hantro_vpu]\n\nThe imx8mq_vpu_shared_resources array is referenced by variant\nstructures through their shared_devices field. When built as a\nmodule, __initconst causes this data to be freed after module\ninit, but it's later accessed during probe, causing a page fault.\n\nThe imx8mq_vpu_shared_resources is referenced from non-init code,\nso keeping __initconst or __initconst_or_module here is wrong.\n\nDrop the __initconst annotation and let it live in the normal .rodata\nsection.\n\nA bug of __initconst called from regular non-init probe code\nleading to bugs during probe deferrals or during unbind-bind cycles.","publishedAt":"2026-04-24T14:35:51.421Z","updatedAt":"2026-10-30T12:24:23.572Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"42a9fbccb33a38c5a9e0a84680939da8eae4f60e","status":"affected","lessThan":"53b88097bb0e0b895a691ae7da4a54b567c0d375","versionType":"git"},{"version":"f2efc1e8ab65bdb9b892af132887323e4df92f02","status":"affected","lessThan":"5d177ff5eb235de9cc0b8e877466f5a3af6f573e","versionType":"git"},{"version":"5133ef7c893c2c3aee7dd12503dc480de9dbfbb5","status":"affected","lessThan":"07861e84b766c6db8014bc34138f3be4a62aad2a","versionType":"git"},{"version":"286d629d10640bc22f3bf46aa4f356eb7975e862","status":"affected","lessThan":"1e7e9119cf9b0d8585b27653b1a6dc31397c252e","versionType":"git"},{"version":"e0203ddf9af7c8e170e1e99ce83b4dc07f0cd765","status":"affected","lessThan":"e8d97c270cb46a2a88739019d0f8547adc7d97da","versionType":"git"},{"version":"f988fbf0536b42f6a05ccc1ac709d60236ec1aa6","status":"affected","versionType":"git"},{"version":"6.6.160","status":"affected","lessThan":"6.7","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/media/platform/verisilicon/imx8m_vpu_hw.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"6.19.6","status":"affected","lessThan":"6.19.11","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/media/platform/verisilicon/imx8m_vpu_hw.c"]}],"references":["https://git.kernel.org/stable/c/53b88097bb0e0b895a691ae7da4a54b567c0d375","https://git.kernel.org/stable/c/5d177ff5eb235de9cc0b8e877466f5a3af6f573e","https://git.kernel.org/stable/c/07861e84b766c6db8014bc34138f3be4a62aad2a","https://git.kernel.org/stable/c/1e7e9119cf9b0d8585b27653b1a6dc31397c252e","https://git.kernel.org/stable/c/e8d97c270cb46a2a88739019d0f8547adc7d97da"],"weaknesses":[],"ingestedAt":"2026-10-30T12:42:04.495Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/31xxx/CVE-2026-31573.json","commit":"db8103c5921aac81d5d90efcf3745980dafabf49","baselineCommit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-31573","state":"PUBLISHED","datePublished":"2026-04-24T14:35:51.421Z","dateUpdated":"2026-10-30T12:24:23.572Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-03-09T15:48:24.119Z"},"containers":{"cna":{"title":"media: verisilicon: Fix kernel panic due to __initconst misuse","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: verisilicon: Fix kernel panic due to __initconst misuse\n\nFix a kernel panic when probing the driver as a module:\n\n  Unable to handle kernel paging request at virtual address\n  ffffd9c18eb05000\n  of_find_matching_node_and_match+0x5c/0x1a0\n  hantro_probe+0x2f4/0x7d0 [hantro_vpu]\n\nThe imx8mq_vpu_shared_resources array is referenced by variant\nstructures through their shared_devices field. When built as a\nmodule, __initconst causes this data to be freed after module\ninit, but it's later accessed during probe, causing a page fault.\n\nThe imx8mq_vpu_shared_resources is referenced from non-init code,\nso keeping __initconst or __initconst_or_module here is wrong.\n\nDrop the __initconst annotation and let it live in the normal .rodata\nsection.\n\nA bug of __initconst called from regular non-init probe code\nleading to bugs during probe deferrals or during unbind-bind cycles."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"42a9fbccb33a38c5a9e0a84680939da8eae4f60e","status":"affected","lessThan":"53b88097bb0e0b895a691ae7da4a54b567c0d375","versionType":"git"},{"version":"f2efc1e8ab65bdb9b892af132887323e4df92f02","status":"affected","lessThan":"5d177ff5eb235de9cc0b8e877466f5a3af6f573e","versionType":"git"},{"version":"5133ef7c893c2c3aee7dd12503dc480de9dbfbb5","status":"affected","lessThan":"07861e84b766c6db8014bc34138f3be4a62aad2a","versionType":"git"},{"version":"286d629d10640bc22f3bf46aa4f356eb7975e862","status":"affected","lessThan":"1e7e9119cf9b0d8585b27653b1a6dc31397c252e","versionType":"git"},{"version":"e0203ddf9af7c8e170e1e99ce83b4dc07f0cd765","status":"affected","lessThan":"e8d97c270cb46a2a88739019d0f8547adc7d97da","versionType":"git"},{"version":"f988fbf0536b42f6a05ccc1ac709d60236ec1aa6","status":"affected","versionType":"git"},{"version":"6.6.160","status":"affected","lessThan":"6.7","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/media/platform/verisilicon/imx8m_vpu_hw.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"6.19.6","status":"affected","lessThan":"6.19.11","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/media/platform/verisilicon/imx8m_vpu_hw.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/53b88097bb0e0b895a691ae7da4a54b567c0d375"},{"url":"https://git.kernel.org/stable/c/5d177ff5eb235de9cc0b8e877466f5a3af6f573e"},{"url":"https://git.kernel.org/stable/c/07861e84b766c6db8014bc34138f3be4a62aad2a"},{"url":"https://git.kernel.org/stable/c/1e7e9119cf9b0d8585b27653b1a6dc31397c252e"},{"url":"https://git.kernel.org/stable/c/e8d97c270cb46a2a88739019d0f8547adc7d97da"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-30T12:24:23.572Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.19.6","versionEndExcluding":"6.19.11"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6.160"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}