{"id":"CVE-2023-52622","revision":"be067052ada54ca983e5ee61c38c22d0","records":[{"revision":"be067052ada54ca983e5ee61c38c22d0","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2023-52622","aliases":[],"title":"ext4: avoid online resizing failures due to oversized flex bg","description":"In the Linux kernel, the following vulnerability has been resolved:\n\next4: avoid online resizing failures due to oversized flex bg\n\nWhen we online resize an ext4 filesystem with a oversized flexbg_size,\n\n     mkfs.ext4 -F -G 67108864 $dev -b 4096 100M\n     mount $dev $dir\n     resize2fs $dev 16G\n\nthe following WARN_ON is triggered:\n==================================================================\nWARNING: CPU: 0 PID: 427 at mm/page_alloc.c:4402 __alloc_pages+0x411/0x550\nModules linked in: sg(E)\nCPU: 0 PID: 427 Comm: resize2fs Tainted: G  E  6.6.0-rc5+ #314\nRIP: 0010:__alloc_pages+0x411/0x550\nCall Trace:\n <TASK>\n __kmalloc_large_node+0xa2/0x200\n __kmalloc+0x16e/0x290\n ext4_resize_fs+0x481/0xd80\n __ext4_ioctl+0x1616/0x1d90\n ext4_ioctl+0x12/0x20\n __x64_sys_ioctl+0xf0/0x150\n do_syscall_64+0x3b/0x90\n==================================================================\n\nThis is because flexbg_size is too large and the size of the new_group_data\narray to be allocated exceeds MAX_ORDER. Currently, the minimum value of\nMAX_ORDER is 8, the minimum value of PAGE_SIZE is 4096, the corresponding\nmaximum number of groups that can be allocated is:\n\n (PAGE_SIZE << MAX_ORDER) / sizeof(struct ext4_new_group_data) ≈ 21845\n\nAnd the value that is down-aligned to the power of 2 is 16384. Therefore,\nthis value is defined as MAX_RESIZE_BG, and the number of groups added\neach time does not exceed this value during resizing, and is added multiple\ntimes to complete the online resizing. The difference is that the metadata\nin a flex_bg may be more dispersed.","state":0,"publishedAt":"2024-03-26T17:19:23.838+00:00","modifiedAt":"2026-10-15T00:17:06.25+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"fs/ext4/resize.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"28c7bac0091687e6116ebd6c179e154ae4053c90\",\n                            \"lessThan\": \"cd1f93ca97a9136989f3bd2bf90696732a2ed644\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"28c7bac0091687e6116ebd6c179e154ae4053c90\",\n                            \"lessThan\": \"b183fe8702e78bba3dcef8e7193cab6898abee07\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"28c7bac0091687e6116ebd6c179e154ae4053c90\",\n                            \"lessThan\": \"cfbbb3199e71b63fc26cee0ebff327c47128a1e8\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"28c7bac0091687e6116ebd6c179e154ae4053c90\",\n                            \"lessThan\": \"d76c8d7ffe163c6bf2f1ef680b0539c2b3902b90\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"28c7bac0091687e6116ebd6c179e154ae4053c90\",\n                            \"lessThan\": \"6d2cbf517dcabc093159cf138ad5712c9c7fa954\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"28c7bac0091687e6116ebd6c179e154ae4053c90\",\n                            \"lessThan\": \"8b1413dbfe49646eda2c00c0f1144ee9d3368e0c\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"28c7bac0091687e6116ebd6c179e154ae4053c90\",\n                            \"lessThan\": \"dc3e0f55bec4410f3d74352c4a7c79f518088ee2\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"28c7bac0091687e6116ebd6c179e154ae4053c90\",\n                            \"lessThan\": \"5d1935ac02ca5aee364a449a35e2977ea84509b0\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"fs/ext4/resize.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"3.3\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"3.3\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"4.19.307\",\n                            \"lessThanOrEqual\": \"4.19.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.4.269\",\n                            \"lessThanOrEqual\": \"5.4.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.10.210\",\n                            \"lessThanOrEqual\": \"5.10.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.149\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.77\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.16\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.7.4\",\n                            \"lessThanOrEqual\": \"6.7.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.8\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/cd1f93ca97a9136989f3bd2bf90696732a2ed644","https://git.kernel.org/stable/c/b183fe8702e78bba3dcef8e7193cab6898abee07","https://git.kernel.org/stable/c/cfbbb3199e71b63fc26cee0ebff327c47128a1e8","https://git.kernel.org/stable/c/d76c8d7ffe163c6bf2f1ef680b0539c2b3902b90","https://git.kernel.org/stable/c/6d2cbf517dcabc093159cf138ad5712c9c7fa954","https://git.kernel.org/stable/c/8b1413dbfe49646eda2c00c0f1144ee9d3368e0c","https://git.kernel.org/stable/c/dc3e0f55bec4410f3d74352c4a7c79f518088ee2","https://git.kernel.org/stable/c/5d1935ac02ca5aee364a449a35e2977ea84509b0"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2023-52622","license":"CVE Program Terms of Use","key":"cve-program:CVE-2023-52622","identifiers":["CVE-2023-52622"]},"retained":false,"historicalAffected":[]}],"coverage":[]}