{"id":"CVE-2025-38383","state":"PUBLISHED","title":"mm/vmalloc: fix data race in show_numa_info()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nmm/vmalloc: fix data race in show_numa_info()\n\nThe following data-race was found in show_numa_info():\n\n==================================================================\nBUG: KCSAN: data-race in vmalloc_info_show / vmalloc_info_show\n\nread to 0xffff88800971fe30 of 4 bytes by task 8289 on cpu 0:\n show_numa_info mm/vmalloc.c:4936 [inline]\n vmalloc_info_show+0x5a8/0x7e0 mm/vmalloc.c:5016\n seq_read_iter+0x373/0xb40 fs/seq_file.c:230\n proc_reg_read_iter+0x11e/0x170 fs/proc/inode.c:299\n....\n\nwrite to 0xffff88800971fe30 of 4 bytes by task 8287 on cpu 1:\n show_numa_info mm/vmalloc.c:4934 [inline]\n vmalloc_info_show+0x38f/0x7e0 mm/vmalloc.c:5016\n seq_read_iter+0x373/0xb40 fs/seq_file.c:230\n proc_reg_read_iter+0x11e/0x170 fs/proc/inode.c:299\n....\n\nvalue changed: 0x0000008f -> 0x00000000\n==================================================================\n\nAccording to this report,there is a read/write data-race because\nm->private is accessible to multiple CPUs.  To fix this, instead of\nallocating the heap in proc_vmalloc_init() and passing the heap address to\nm->private, vmalloc_info_show() should allocate the heap.","publishedAt":"2025-07-25T12:53:24.578Z","updatedAt":"2026-05-11T21:26:54.489Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"8e1d743f2c2671aa54f6f91a2b33823f92512870","status":"affected","lessThan":"ead91de35d9cd5c4f80ec51e6020f342079170af","versionType":"git"},{"version":"8e1d743f2c2671aa54f6f91a2b33823f92512870","status":"affected","lessThan":"5c966f447a584ece3c70395898231aeb56256ee7","versionType":"git"},{"version":"8e1d743f2c2671aa54f6f91a2b33823f92512870","status":"affected","lessThan":"5c5f0468d172ddec2e333d738d2a1f85402cf0bc","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/vmalloc.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.9","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.9","versionType":"semver"},{"version":"6.12.37","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.15.6","status":"unaffected","lessThanOrEqual":"6.15.*","versionType":"semver"},{"version":"6.16","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/vmalloc.c"]}],"references":["https://git.kernel.org/stable/c/ead91de35d9cd5c4f80ec51e6020f342079170af","https://git.kernel.org/stable/c/5c966f447a584ece3c70395898231aeb56256ee7","https://git.kernel.org/stable/c/5c5f0468d172ddec2e333d738d2a1f85402cf0bc"],"weaknesses":[],"ingestedAt":"2026-10-29T20:09:09.358Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/38xxx/CVE-2025-38383.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-38383","state":"PUBLISHED","datePublished":"2025-07-25T12:53:24.578Z","dateUpdated":"2026-05-11T21:26:54.489Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-04-16T04:51:24.010Z"},"containers":{"cna":{"title":"mm/vmalloc: fix data race in show_numa_info()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nmm/vmalloc: fix data race in show_numa_info()\n\nThe following data-race was found in show_numa_info():\n\n==================================================================\nBUG: KCSAN: data-race in vmalloc_info_show / vmalloc_info_show\n\nread to 0xffff88800971fe30 of 4 bytes by task 8289 on cpu 0:\n show_numa_info mm/vmalloc.c:4936 [inline]\n vmalloc_info_show+0x5a8/0x7e0 mm/vmalloc.c:5016\n seq_read_iter+0x373/0xb40 fs/seq_file.c:230\n proc_reg_read_iter+0x11e/0x170 fs/proc/inode.c:299\n....\n\nwrite to 0xffff88800971fe30 of 4 bytes by task 8287 on cpu 1:\n show_numa_info mm/vmalloc.c:4934 [inline]\n vmalloc_info_show+0x38f/0x7e0 mm/vmalloc.c:5016\n seq_read_iter+0x373/0xb40 fs/seq_file.c:230\n proc_reg_read_iter+0x11e/0x170 fs/proc/inode.c:299\n....\n\nvalue changed: 0x0000008f -> 0x00000000\n==================================================================\n\nAccording to this report,there is a read/write data-race because\nm->private is accessible to multiple CPUs.  To fix this, instead of\nallocating the heap in proc_vmalloc_init() and passing the heap address to\nm->private, vmalloc_info_show() should allocate the heap."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"8e1d743f2c2671aa54f6f91a2b33823f92512870","status":"affected","lessThan":"ead91de35d9cd5c4f80ec51e6020f342079170af","versionType":"git"},{"version":"8e1d743f2c2671aa54f6f91a2b33823f92512870","status":"affected","lessThan":"5c966f447a584ece3c70395898231aeb56256ee7","versionType":"git"},{"version":"8e1d743f2c2671aa54f6f91a2b33823f92512870","status":"affected","lessThan":"5c5f0468d172ddec2e333d738d2a1f85402cf0bc","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/vmalloc.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.9","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.9","versionType":"semver"},{"version":"6.12.37","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.15.6","status":"unaffected","lessThanOrEqual":"6.15.*","versionType":"semver"},{"version":"6.16","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/vmalloc.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/ead91de35d9cd5c4f80ec51e6020f342079170af"},{"url":"https://git.kernel.org/stable/c/5c966f447a584ece3c70395898231aeb56256ee7"},{"url":"https://git.kernel.org/stable/c/5c5f0468d172ddec2e333d738d2a1f85402cf0bc"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T21:26:54.489Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.9","versionEndExcluding":"6.12.37"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.9","versionEndExcluding":"6.15.6"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.9","versionEndExcluding":"6.16"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}