{"id":"CVE-2022-49828","state":"PUBLISHED","title":"hugetlbfs: don't delete error page from pagecache","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nhugetlbfs: don't delete error page from pagecache\n\nThis change is very similar to the change that was made for shmem [1], and\nit solves the same problem but for HugeTLBFS instead.\n\nCurrently, when poison is found in a HugeTLB page, the page is removed\nfrom the page cache.  That means that attempting to map or read that\nhugepage in the future will result in a new hugepage being allocated\ninstead of notifying the user that the page was poisoned.  As [1] states,\nthis is effectively memory corruption.\n\nThe fix is to leave the page in the page cache.  If the user attempts to\nuse a poisoned HugeTLB page with a syscall, the syscall will fail with\nEIO, the same error code that shmem uses.  For attempts to map the page,\nthe thread will get a BUS_MCEERR_AR SIGBUS.\n\n[1]: commit a76054266661 (\"mm: shmem: don't truncate page if memory failure happens\")","publishedAt":"2025-05-01T14:09:47.443Z","updatedAt":"2026-05-11T19:07:33.531Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"78bb920344b8a6f04b79a7c254041723b931c94f","status":"affected","lessThan":"30571f28bb35c826219971c63bcf60d2517112ed","versionType":"git"},{"version":"78bb920344b8a6f04b79a7c254041723b931c94f","status":"affected","lessThan":"ec667443b2dbc6cdbbac4073e51a17733158ec6a","versionType":"git"},{"version":"78bb920344b8a6f04b79a7c254041723b931c94f","status":"affected","lessThan":"8625147cafaa9ba74713d682f5185eb62cb2aedb","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/hugetlbfs/inode.c","mm/hugetlb.c","mm/memory-failure.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.13","versionType":"semver"},{"version":"5.15.80","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.0.10","status":"unaffected","lessThanOrEqual":"6.0.*","versionType":"semver"},{"version":"6.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/hugetlbfs/inode.c","mm/hugetlb.c","mm/memory-failure.c"]}],"references":["https://git.kernel.org/stable/c/30571f28bb35c826219971c63bcf60d2517112ed","https://git.kernel.org/stable/c/ec667443b2dbc6cdbbac4073e51a17733158ec6a","https://git.kernel.org/stable/c/8625147cafaa9ba74713d682f5185eb62cb2aedb"],"weaknesses":[],"ingestedAt":"2026-10-29T20:05:26.763Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2022/49xxx/CVE-2022-49828.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-49828","state":"PUBLISHED","datePublished":"2025-05-01T14:09:47.443Z","dateUpdated":"2026-05-11T19:07:33.531Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-05-01T14:05:17.228Z"},"containers":{"cna":{"title":"hugetlbfs: don't delete error page from pagecache","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nhugetlbfs: don't delete error page from pagecache\n\nThis change is very similar to the change that was made for shmem [1], and\nit solves the same problem but for HugeTLBFS instead.\n\nCurrently, when poison is found in a HugeTLB page, the page is removed\nfrom the page cache.  That means that attempting to map or read that\nhugepage in the future will result in a new hugepage being allocated\ninstead of notifying the user that the page was poisoned.  As [1] states,\nthis is effectively memory corruption.\n\nThe fix is to leave the page in the page cache.  If the user attempts to\nuse a poisoned HugeTLB page with a syscall, the syscall will fail with\nEIO, the same error code that shmem uses.  For attempts to map the page,\nthe thread will get a BUS_MCEERR_AR SIGBUS.\n\n[1]: commit a76054266661 (\"mm: shmem: don't truncate page if memory failure happens\")"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"78bb920344b8a6f04b79a7c254041723b931c94f","status":"affected","lessThan":"30571f28bb35c826219971c63bcf60d2517112ed","versionType":"git"},{"version":"78bb920344b8a6f04b79a7c254041723b931c94f","status":"affected","lessThan":"ec667443b2dbc6cdbbac4073e51a17733158ec6a","versionType":"git"},{"version":"78bb920344b8a6f04b79a7c254041723b931c94f","status":"affected","lessThan":"8625147cafaa9ba74713d682f5185eb62cb2aedb","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/hugetlbfs/inode.c","mm/hugetlb.c","mm/memory-failure.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.13","versionType":"semver"},{"version":"5.15.80","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.0.10","status":"unaffected","lessThanOrEqual":"6.0.*","versionType":"semver"},{"version":"6.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/hugetlbfs/inode.c","mm/hugetlb.c","mm/memory-failure.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/30571f28bb35c826219971c63bcf60d2517112ed"},{"url":"https://git.kernel.org/stable/c/ec667443b2dbc6cdbbac4073e51a17733158ec6a"},{"url":"https://git.kernel.org/stable/c/8625147cafaa9ba74713d682f5185eb62cb2aedb"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T19:07:33.531Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.13","versionEndExcluding":"5.15.80"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.13","versionEndExcluding":"6.0.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.13","versionEndExcluding":"6.1"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}