{"id":"CVE-2022-50770","summary":"ocfs2: fix memory leak in ocfs2_mount_volume()","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nocfs2: fix memory leak in ocfs2_mount_volume()\n\nThere is a memory leak reported by kmemleak:\n\n  unreferenced object 0xffff88810cc65e60 (size 32):\n    comm \"mount.ocfs2\", pid 23753, jiffies 4302528942 (age 34735.105s)\n    hex dump (first 32 bytes):\n      10 00 00 00 00 00 00 00 00 01 01 01 01 01 01 01  ................\n      01 01 01 01 01 01 01 01 00 00 00 00 00 00 00 00  ................\n    backtrace:\n      [\u003cffffffff8170f73d\u003e] __kmalloc+0x4d/0x150\n      [\u003cffffffffa0ac3f51\u003e] ocfs2_compute_replay_slots+0x121/0x330 [ocfs2]\n      [\u003cffffffffa0b65165\u003e] ocfs2_check_volume+0x485/0x900 [ocfs2]\n      [\u003cffffffffa0b68129\u003e] ocfs2_mount_volume.isra.0+0x1e9/0x650 [ocfs2]\n      [\u003cffffffffa0b7160b\u003e] ocfs2_fill_super+0xe0b/0x1740 [ocfs2]\n      [\u003cffffffff818e1fe2\u003e] mount_bdev+0x312/0x400\n      [\u003cffffffff819a086d\u003e] legacy_get_tree+0xed/0x1d0\n      [\u003cffffffff818de82d\u003e] vfs_get_tree+0x7d/0x230\n      [\u003cffffffff81957f92\u003e] path_mount+0xd62/0x1760\n      [\u003cffffffff81958a5a\u003e] do_mount+0xca/0xe0\n      [\u003cffffffff81958d3c\u003e] __x64_sys_mount+0x12c/0x1a0\n      [\u003cffffffff82f26f15\u003e] do_syscall_64+0x35/0x80\n      [\u003cffffffff8300006a\u003e] entry_SYSCALL_64_after_hwframe+0x46/0xb0\n\nThis call stack is related to two problems.  Firstly, the ocfs2 super uses\n\"replay_map\" to trace online/offline slots, in order to recover offline\nslots during recovery and mount.  But when ocfs2_truncate_log_init()\nreturns an error in ocfs2_mount_volume(), the memory of \"replay_map\" will\nnot be freed in error handling path.  Secondly, the memory of \"replay_map\"\nwill not be freed if d_make_root() returns an error in ocfs2_fill_super().\nBut the memory of \"replay_map\" will be freed normally when completing\nrecovery and mount in ocfs2_complete_mount_recovery().\n\nFix the first problem by adding error handling path to free \"replay_map\"\nwhen ocfs2_truncate_log_init() fails.  And fix the second problem by\ncalling ocfs2_free_replay_slots(osb) in the error handling path\n\"out_dismount\".  In addition, since ocfs2_free_replay_slots() is static,\nit is necessary to remove its static attribute and declare it in header\nfile.","modified":"2026-04-02T08:28:45.227062Z","published":"2025-12-24T13:05:59.700Z","related":["SUSE-SU-2026:0263-1","SUSE-SU-2026:0317-1","SUSE-SU-2026:0411-1","SUSE-SU-2026:0473-1","SUSE-SU-2026:0617-1"],"database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50770.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/2b7e59ed2e77136e9360274f8f0fc208a003e95c"},{"type":"WEB","url":"https://git.kernel.org/stable/c/4efe1d2db731bad19891e2fb9b338724b1f598cc"},{"type":"WEB","url":"https://git.kernel.org/stable/c/50ab0ca3aff4da26037113d69f5a756d8c1a92cd"},{"type":"WEB","url":"https://git.kernel.org/stable/c/7ef516888c4d30ae41bfcd79e7077d86d92794c5"},{"type":"WEB","url":"https://git.kernel.org/stable/c/8059e200259e9c483d715fc2df6340c227c3e196"},{"type":"WEB","url":"https://git.kernel.org/stable/c/ce2fcf1516d674a174d9b34d1e1024d64de9fba3"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50770.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2022-50770"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"9140db04ef185f934acf2b1b15b3dd5e6a6bfc22"},{"fixed":"7ef516888c4d30ae41bfcd79e7077d86d92794c5"},{"fixed":"2b7e59ed2e77136e9360274f8f0fc208a003e95c"},{"fixed":"8059e200259e9c483d715fc2df6340c227c3e196"},{"fixed":"4efe1d2db731bad19891e2fb9b338724b1f598cc"},{"fixed":"50ab0ca3aff4da26037113d69f5a756d8c1a92cd"},{"fixed":"ce2fcf1516d674a174d9b34d1e1024d64de9fba3"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-50770.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.6.30"},{"fixed":"5.4.229"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.5.0"},{"fixed":"5.10.163"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.11.0"},{"fixed":"5.15.107"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.16.0"},{"fixed":"6.0.16"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.1.0"},{"fixed":"6.1.2"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-50770.json"}}],"schema_version":"1.7.5"}