CVE-2022-50770 in Linux
Riassunto
di VulDB • 16/06/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
ocfs2: correzione della memory leak in ocfs2_mount_volume()
È stata segnalata una memory leak da kmemleak:
oggetto non referenziato 0xffff88810cc65e60 (dimensione 32): comm "mount.ocfs2", pid 23753, jiffies 4302528942 (età 34735.105s) dump esadecimale (primi 32 byte): 10 00 00 00 00 00 00 00 00 01 01 01 01 01 01 01 ................ 01 01 01 01 01 01 01 01 00 00 00 00 00 00 00 00 ................ backtrace: [<ffffffff8170f73d>] __kmalloc+0x4d/0x150
[<ffffffffa0ac3f51>] ocfs2_compute_replay_slots+0x121/0x330 [ocfs2]
[<ffffffffa0b65165>] ocfs2_check_volume+0x485/0x900 [ocfs2]
[<ffffffffa0b68129>] ocfs2_mount_volume.isra.0+0x1e9/0x650 [ocfs2]
[<ffffffffa0b7160b>] ocfs2_fill_super+0xe0b/0x1740 [ocfs2]
[<ffffffff818e1fe2>] mount_bdev+0x312/0x400
[<ffffffff819a086d>] legacy_get_tree+0xed/0x1d0
[<ffffffff818de82d>] vfs_get_tree+0x7d/0x230
[<ffffffff81957f92>] path_mount+0xd62/0x1760
[<ffffffff81958a5a>] do_mount+0xca/0xe0
[<ffffffff81958d3c>] __x64_sys_mount+0x12c/0x1a0
[<ffffffff82f26f15>] do_syscall_64+0x35/0x80
[<ffffffff8300006a>] entry_SYSCALL_64_after_hwframe+0x46/0xb0
Questo call stack è correlato a due problemi. In primo luogo, il superblock di ocfs2 utilizza "replay_map" per tracciare gli slot online/offline, al fine di recuperare gli slot offline durante il recupero e il montaggio. Tuttavia, quando ocfs2_truncate_log_init() restituisce un errore in ocfs2_mount_volume(), la memoria di "replay_map" non viene liberata nel percorso di gestione degli errori. In secondo luogo, la memoria di "replay_map" non viene liberata se d_make_root() restituisce un errore in ocfs2_fill_super(). La memoria di "replay_map" viene invece liberata normalmente al termine del recupero e del montaggio in ocfs2_complete_mount_recovery().
Si risolve il primo problema aggiungendo un percorso di gestione degli errori per liberare "replay_map" quando ocfs2_truncate_log_init() fallisce. Si risolve il secondo problema chiamando ocfs2_free_replay_slots(osb) nel percorso di gestione degli errori "out_dismount". Inoltre, poiché ocfs2_free_replay_slots() è statica, è necessario rimuovere il suo attributo statico e dichiararla nel file header.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.