{"id":"CVE-2023-52835","state":"PUBLISHED","title":"perf/core: Bail out early if the request AUX area is out of bound","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nperf/core: Bail out early if the request AUX area is out of bound\n\nWhen perf-record with a large AUX area, e.g 4GB, it fails with:\n\n    #perf record -C 0 -m ,4G -e arm_spe_0// -- sleep 1\n    failed to mmap with 12 (Cannot allocate memory)\n\nand it reveals a WARNING with __alloc_pages():\n\n\t------------[ cut here ]------------\n\tWARNING: CPU: 44 PID: 17573 at mm/page_alloc.c:5568 __alloc_pages+0x1ec/0x248\n\tCall trace:\n\t __alloc_pages+0x1ec/0x248\n\t __kmalloc_large_node+0xc0/0x1f8\n\t __kmalloc_node+0x134/0x1e8\n\t rb_alloc_aux+0xe0/0x298\n\t perf_mmap+0x440/0x660\n\t mmap_region+0x308/0x8a8\n\t do_mmap+0x3c0/0x528\n\t vm_mmap_pgoff+0xf4/0x1b8\n\t ksys_mmap_pgoff+0x18c/0x218\n\t __arm64_sys_mmap+0x38/0x58\n\t invoke_syscall+0x50/0x128\n\t el0_svc_common.constprop.0+0x58/0x188\n\t do_el0_svc+0x34/0x50\n\t el0_svc+0x34/0x108\n\t el0t_64_sync_handler+0xb8/0xc0\n\t el0t_64_sync+0x1a4/0x1a8\n\n'rb->aux_pages' allocated by kcalloc() is a pointer array which is used to\nmaintains AUX trace pages. The allocated page for this array is physically\ncontiguous (and virtually contiguous) with an order of 0..MAX_ORDER. If the\nsize of pointer array crosses the limitation set by MAX_ORDER, it reveals a\nWARNING.\n\nSo bail out early with -ENOMEM if the request AUX area is out of bound,\ne.g.:\n\n    #perf record -C 0 -m ,4G -e arm_spe_0// -- sleep 1\n    failed to mmap with 12 (Cannot allocate memory)","publishedAt":"2024-05-21T15:31:36.239Z","updatedAt":"2026-05-11T19:33:56.192Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"45bfb2e50471abbbfd83d40d28c986078b0d24ff","status":"affected","lessThan":"8c504f615d7ed60ae035c51d0c789137ced6797f","versionType":"git"},{"version":"45bfb2e50471abbbfd83d40d28c986078b0d24ff","status":"affected","lessThan":"788c0b3442ead737008934947730a6d1ff703734","versionType":"git"},{"version":"45bfb2e50471abbbfd83d40d28c986078b0d24ff","status":"affected","lessThan":"1a2a4202c60fcdffbf04f259002ce9bff39edece","versionType":"git"},{"version":"45bfb2e50471abbbfd83d40d28c986078b0d24ff","status":"affected","lessThan":"fd0df3f8719201dbe61a4d39083d5aecd705399a","versionType":"git"},{"version":"45bfb2e50471abbbfd83d40d28c986078b0d24ff","status":"affected","lessThan":"9ce4e87a8efd37c85766ec08b15e885cab08553a","versionType":"git"},{"version":"45bfb2e50471abbbfd83d40d28c986078b0d24ff","status":"affected","lessThan":"2424410f94a94d91230ced094062d859714c984a","versionType":"git"},{"version":"45bfb2e50471abbbfd83d40d28c986078b0d24ff","status":"affected","lessThan":"2e905e608e38cf7f8dcddcf8a6036e91a78444cb","versionType":"git"},{"version":"45bfb2e50471abbbfd83d40d28c986078b0d24ff","status":"affected","lessThan":"54aee5f15b83437f23b2b2469bcf21bdd9823916","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/events/ring_buffer.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.1","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.1","versionType":"semver"},{"version":"4.19.300","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.262","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.202","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.140","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.64","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.5.13","status":"unaffected","lessThanOrEqual":"6.5.*","versionType":"semver"},{"version":"6.6.3","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.7","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/events/ring_buffer.c"]}],"references":["https://git.kernel.org/stable/c/8c504f615d7ed60ae035c51d0c789137ced6797f","https://git.kernel.org/stable/c/788c0b3442ead737008934947730a6d1ff703734","https://git.kernel.org/stable/c/1a2a4202c60fcdffbf04f259002ce9bff39edece","https://git.kernel.org/stable/c/fd0df3f8719201dbe61a4d39083d5aecd705399a","https://git.kernel.org/stable/c/9ce4e87a8efd37c85766ec08b15e885cab08553a","https://git.kernel.org/stable/c/2424410f94a94d91230ced094062d859714c984a","https://git.kernel.org/stable/c/2e905e608e38cf7f8dcddcf8a6036e91a78444cb","https://git.kernel.org/stable/c/54aee5f15b83437f23b2b2469bcf21bdd9823916"],"weaknesses":[],"ingestedAt":"2026-10-29T20:06:33.064Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2023/52xxx/CVE-2023-52835.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2023-52835","state":"PUBLISHED","datePublished":"2024-05-21T15:31:36.239Z","dateUpdated":"2026-05-11T19:33:56.192Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-05-21T15:19:24.252Z"},"containers":{"cna":{"title":"perf/core: Bail out early if the request AUX area is out of bound","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nperf/core: Bail out early if the request AUX area is out of bound\n\nWhen perf-record with a large AUX area, e.g 4GB, it fails with:\n\n    #perf record -C 0 -m ,4G -e arm_spe_0// -- sleep 1\n    failed to mmap with 12 (Cannot allocate memory)\n\nand it reveals a WARNING with __alloc_pages():\n\n\t------------[ cut here ]------------\n\tWARNING: CPU: 44 PID: 17573 at mm/page_alloc.c:5568 __alloc_pages+0x1ec/0x248\n\tCall trace:\n\t __alloc_pages+0x1ec/0x248\n\t __kmalloc_large_node+0xc0/0x1f8\n\t __kmalloc_node+0x134/0x1e8\n\t rb_alloc_aux+0xe0/0x298\n\t perf_mmap+0x440/0x660\n\t mmap_region+0x308/0x8a8\n\t do_mmap+0x3c0/0x528\n\t vm_mmap_pgoff+0xf4/0x1b8\n\t ksys_mmap_pgoff+0x18c/0x218\n\t __arm64_sys_mmap+0x38/0x58\n\t invoke_syscall+0x50/0x128\n\t el0_svc_common.constprop.0+0x58/0x188\n\t do_el0_svc+0x34/0x50\n\t el0_svc+0x34/0x108\n\t el0t_64_sync_handler+0xb8/0xc0\n\t el0t_64_sync+0x1a4/0x1a8\n\n'rb->aux_pages' allocated by kcalloc() is a pointer array which is used to\nmaintains AUX trace pages. The allocated page for this array is physically\ncontiguous (and virtually contiguous) with an order of 0..MAX_ORDER. If the\nsize of pointer array crosses the limitation set by MAX_ORDER, it reveals a\nWARNING.\n\nSo bail out early with -ENOMEM if the request AUX area is out of bound,\ne.g.:\n\n    #perf record -C 0 -m ,4G -e arm_spe_0// -- sleep 1\n    failed to mmap with 12 (Cannot allocate memory)"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"45bfb2e50471abbbfd83d40d28c986078b0d24ff","status":"affected","lessThan":"8c504f615d7ed60ae035c51d0c789137ced6797f","versionType":"git"},{"version":"45bfb2e50471abbbfd83d40d28c986078b0d24ff","status":"affected","lessThan":"788c0b3442ead737008934947730a6d1ff703734","versionType":"git"},{"version":"45bfb2e50471abbbfd83d40d28c986078b0d24ff","status":"affected","lessThan":"1a2a4202c60fcdffbf04f259002ce9bff39edece","versionType":"git"},{"version":"45bfb2e50471abbbfd83d40d28c986078b0d24ff","status":"affected","lessThan":"fd0df3f8719201dbe61a4d39083d5aecd705399a","versionType":"git"},{"version":"45bfb2e50471abbbfd83d40d28c986078b0d24ff","status":"affected","lessThan":"9ce4e87a8efd37c85766ec08b15e885cab08553a","versionType":"git"},{"version":"45bfb2e50471abbbfd83d40d28c986078b0d24ff","status":"affected","lessThan":"2424410f94a94d91230ced094062d859714c984a","versionType":"git"},{"version":"45bfb2e50471abbbfd83d40d28c986078b0d24ff","status":"affected","lessThan":"2e905e608e38cf7f8dcddcf8a6036e91a78444cb","versionType":"git"},{"version":"45bfb2e50471abbbfd83d40d28c986078b0d24ff","status":"affected","lessThan":"54aee5f15b83437f23b2b2469bcf21bdd9823916","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/events/ring_buffer.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.1","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.1","versionType":"semver"},{"version":"4.19.300","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.262","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.202","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.140","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.64","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.5.13","status":"unaffected","lessThanOrEqual":"6.5.*","versionType":"semver"},{"version":"6.6.3","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.7","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/events/ring_buffer.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/8c504f615d7ed60ae035c51d0c789137ced6797f"},{"url":"https://git.kernel.org/stable/c/788c0b3442ead737008934947730a6d1ff703734"},{"url":"https://git.kernel.org/stable/c/1a2a4202c60fcdffbf04f259002ce9bff39edece"},{"url":"https://git.kernel.org/stable/c/fd0df3f8719201dbe61a4d39083d5aecd705399a"},{"url":"https://git.kernel.org/stable/c/9ce4e87a8efd37c85766ec08b15e885cab08553a"},{"url":"https://git.kernel.org/stable/c/2424410f94a94d91230ced094062d859714c984a"},{"url":"https://git.kernel.org/stable/c/2e905e608e38cf7f8dcddcf8a6036e91a78444cb"},{"url":"https://git.kernel.org/stable/c/54aee5f15b83437f23b2b2469bcf21bdd9823916"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T19:33:56.192Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.1","versionEndExcluding":"4.19.300"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.1","versionEndExcluding":"5.4.262"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.1","versionEndExcluding":"5.10.202"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.1","versionEndExcluding":"5.15.140"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.1","versionEndExcluding":"6.1.64"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.1","versionEndExcluding":"6.5.13"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.1","versionEndExcluding":"6.6.3"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.1","versionEndExcluding":"6.7"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/8c504f615d7ed60ae035c51d0c789137ced6797f","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/788c0b3442ead737008934947730a6d1ff703734","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/1a2a4202c60fcdffbf04f259002ce9bff39edece","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/fd0df3f8719201dbe61a4d39083d5aecd705399a","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/9ce4e87a8efd37c85766ec08b15e885cab08553a","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/2424410f94a94d91230ced094062d859714c984a","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/2e905e608e38cf7f8dcddcf8a6036e91a78444cb","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/54aee5f15b83437f23b2b2469bcf21bdd9823916","tags":["x_transferred"]}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2024-08-02T23:11:36.062Z"}},{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2023-52835","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-09-10T15:36:37.546418Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-09-11T17:32:54.507Z"}}]}}}