{
   "containers": {
      "cna": {
         "providerMetadata": {
            "orgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038"
         },
         "descriptions": [
            {
               "lang": "en",
               "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmm: use memalloc_nofs_save() in page_cache_ra_order()\n\nSee commit f2c817bed58d (\"mm: use memalloc_nofs_save in readahead path\"),\nensure that page_cache_ra_order() do not attempt to reclaim file-backed\npages too, or it leads to a deadlock, found issue when test ext4 large\nfolio.\n\n INFO: task DataXceiver for:7494 blocked for more than 120 seconds.\n \"echo 0 > /proc/sys/kernel/hung_task_timeout_secs\" disables this message.\n task:DataXceiver for state:D stack:0     pid:7494  ppid:1      flags:0x00000200\n Call trace:\n  __switch_to+0x14c/0x240\n  __schedule+0x82c/0xdd0\n  schedule+0x58/0xf0\n  io_schedule+0x24/0xa0\n  __folio_lock+0x130/0x300\n  migrate_pages_batch+0x378/0x918\n  migrate_pages+0x350/0x700\n  compact_zone+0x63c/0xb38\n  compact_zone_order+0xc0/0x118\n  try_to_compact_pages+0xb0/0x280\n  __alloc_pages_direct_compact+0x98/0x248\n  __alloc_pages+0x510/0x1110\n  alloc_pages+0x9c/0x130\n  folio_alloc+0x20/0x78\n  filemap_alloc_folio+0x8c/0x1b0\n  page_cache_ra_order+0x174/0x308\n  ondemand_readahead+0x1c8/0x2b8\n  page_cache_async_ra+0x68/0xb8\n  filemap_readahead.isra.0+0x64/0xa8\n  filemap_get_pages+0x3fc/0x5b0\n  filemap_splice_read+0xf4/0x280\n  ext4_file_splice_read+0x2c/0x48 [ext4]\n  vfs_splice_read.part.0+0xa8/0x118\n  splice_direct_to_actor+0xbc/0x288\n  do_splice_direct+0x9c/0x108\n  do_sendfile+0x328/0x468\n  __arm64_sys_sendfile64+0x8c/0x148\n  invoke_syscall+0x4c/0x118\n  el0_svc_common.constprop.0+0xc8/0xf0\n  do_el0_svc+0x24/0x38\n  el0_svc+0x4c/0x1f8\n  el0t_64_sync_handler+0xc0/0xc8\n  el0t_64_sync+0x188/0x190"
            }
         ],
         "affected": [
            {
               "product": "Linux",
               "vendor": "Linux",
               "defaultStatus": "unaffected",
               "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               "programFiles": [
                  "mm/readahead.c"
               ],
               "versions": [
                  {
                     "version": "793917d997df",
                     "lessThan": "7629ef6dda15",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "793917d997df",
                     "lessThan": "468971c3f4b8",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "793917d997df",
                     "lessThan": "cf6a1d16c6df",
                     "status": "affected",
                     "versionType": "git"
                  },
                  {
                     "version": "793917d997df",
                     "lessThan": "30153e446664",
                     "status": "affected",
                     "versionType": "git"
                  }
               ]
            },
            {
               "product": "Linux",
               "vendor": "Linux",
               "defaultStatus": "affected",
               "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               "programFiles": [
                  "mm/readahead.c"
               ],
               "versions": [
                  {
                     "version": "5.18",
                     "status": "affected"
                  },
                  {
                     "version": "0",
                     "lessThan": "5.18",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "6.1.91",
                     "lessThanOrEqual": "6.1.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "6.6.31",
                     "lessThanOrEqual": "6.6.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "6.8.10",
                     "lessThanOrEqual": "6.8.*",
                     "status": "unaffected",
                     "versionType": "custom"
                  },
                  {
                     "version": "6.9",
                     "lessThanOrEqual": "*",
                     "status": "unaffected",
                     "versionType": "original_commit_for_fix"
                  }
               ]
            }
         ],
         "references": [
            {
               "url": "https://git.kernel.org/stable/c/7629ef6dda1564098aadeef38e5fbd11ee8627c4"
            },
            {
               "url": "https://git.kernel.org/stable/c/468971c3f4b8187f25334503b68050a0e1370147"
            },
            {
               "url": "https://git.kernel.org/stable/c/cf6a1d16c6df3c30b03f0c6a92a2ba7f86dffb45"
            },
            {
               "url": "https://git.kernel.org/stable/c/30153e4466647a17eebfced13eede5cbe4290e69"
            }
         ],
         "title": "mm: use memalloc_nofs_save() in page_cache_ra_order()",
         "x_generator": {
            "engine": "bippy-a5840b7849dd"
         }
      }
   },
   "cveMetadata": {
      "assignerOrgId": "f4215fc3-5b6b-47ff-a258-f7189bd81038",
      "cveID": "CVE-2024-36882",
      "requesterUserId": "gregkh@kernel.org",
      "serial": "1",
      "state": "PUBLISHED"
   },
   "dataType": "CVE_RECORD",
   "dataVersion": "5.0"
}
