Subject: CVE-2022-48659: mm/slub: fix to return errno if kmalloc() fails

From: Greg Kroah-Hartman <[email-masked]>

Description
===========

In the Linux kernel, the following vulnerability has been resolved:

mm/slub: fix to return errno if kmalloc() fails

In create_unique_id(), kmalloc(, GFP_KERNEL) can fail due to
out-of-memory, if it fails, return errno correctly rather than
triggering panic via BUG_ON();

kernel BUG at mm/slub.c:5893!
Internal error: Oops - BUG: 0 [#1] PREEMPT SMP

Call trace:
 sysfs_slab_add+0x258/0x260 mm/slub.c:5973
 __kmem_cache_create+0x60/0x118 mm/slub.c:4899
 create_cache mm/slab_common.c:229 [inline]
 kmem_cache_create_usercopy+0x19c/0x31c mm/slab_common.c:335
 kmem_cache_create+0x1c/0x28 mm/slab_common.c:390
 f2fs_kmem_cache_create fs/f2fs/f2fs.h:2766 [inline]
 f2fs_init_xattr_caches+0x78/0xb4 fs/f2fs/xattr.c:808
 f2fs_fill_super+0x1050/0x1e0c fs/f2fs/super.c:4149
 mount_bdev+0x1b8/0x210 fs/super.c:1400
 f2fs_mount+0x44/0x58 fs/f2fs/super.c:4512
 legacy_get_tree+0x30/0x74 fs/fs_context.c:610
 vfs_get_tree+0x40/0x140 fs/super.c:1530
 do_new_mount+0x1dc/0x4e4 fs/namespace.c:3040
 path_mount+0x358/0x914 fs/namespace.c:3370
 do_mount fs/namespace.c:3383 [inline]
 __do_sys_mount fs/namespace.c:3591 [inline]
 __se_sys_mount fs/namespace.c:3568 [inline]
 __arm64_sys_mount+0x2f8/0x408 fs/namespace.c:3568

The Linux kernel CVE team has assigned CVE-2022-48659 to this issue.

Affected and fixed versions
===========================

	Issue introduced in 2.6.22 with commit 81819f0fc828 and fixed in 4.9.330 with commit e9219fa63c5c
	Issue introduced in 2.6.22 with commit 81819f0fc828 and fixed in 4.14.295 with commit a1d83a19cec3
	Issue introduced in 2.6.22 with commit 81819f0fc828 and fixed in 4.19.260 with commit e996821717c5
	Issue introduced in 2.6.22 with commit 81819f0fc828 and fixed in 5.4.215 with commit 016b150992ee
	Issue introduced in 2.6.22 with commit 81819f0fc828 and fixed in 5.10.146 with commit 379ac7905ff3
	Issue introduced in 2.6.22 with commit 81819f0fc828 and fixed in 5.15.71 with commit 2d6e55e0c038
	Issue introduced in 2.6.22 with commit 81819f0fc828 and fixed in 5.19.12 with commit 02bcd951aa3c
	Issue introduced in 2.6.22 with commit 81819f0fc828 and fixed in 6.0 with commit 7e9c323c52b3

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2022-48659
will be updated if fixes are backported, please check that for the most
up to date information about this issue.

Affected files
==============

The file(s) affected by this issue are:
	mm/slub.c

Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/e9219fa63c5c25804af82c7aa54d1ec770ebe457
	https://git.kernel.org/stable/c/a1d83a19cec3bfeb2b3547a1f7631e432a766d1c
	https://git.kernel.org/stable/c/e996821717c5cf8aa1e1abdb6b3d900a231e3755
	https://git.kernel.org/stable/c/016b150992eebc32c4a18f783cf2bb6e2545a3d9
	https://git.kernel.org/stable/c/379ac7905ff3f0a6a4e507d3e9f710ec4fab9124
	https://git.kernel.org/stable/c/2d6e55e0c03804e1e227b80a5746e086d6c6696c
	https://git.kernel.org/stable/c/02bcd951aa3c2cea95fb241c20802e9501940296
	https://git.kernel.org/stable/c/7e9c323c52b379d261a72dc7bd38120a761a93cd