CVE-2021-46972

ovl: fix leaked dentry

published February 27, 2024

CVSS
—
EPSS
0%
Percentile
15.3
In the wild
Unconfirmed
What it is

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

ovl: fix leaked dentry

Since commit 6815f479ca90 ("ovl: use only uppermetacopy state in

ovl_lookup()"), overlayfs doesn't put temporary dentry when there is a

metacopy error, which leads to dentry leaks when shutting down the related

superblock:

overlayfs: refusing to follow metacopy origin for (/file0)

...

BUG: Dentry (____ptrval____){i=3f33,n=file3} still in use (1) [unmount of overlay overlay]

...

WARNING: CPU: 1 PID: 432 at umount_check.cold+0x107/0x14d

CPU: 1 PID: 432 Comm: unmount-overlay Not tainted 5.12.0-rc5 #1

...

RIP: 0010:umount_check.cold+0x107/0x14d

...

Call Trace:

d_walk+0x28c/0x950

? dentry_lru_isolate+0x2b0/0x2b0

? __kasan_slab_free+0x12/0x20

do_one_tree+0x33/0x60

shrink_dcache_for_umount+0x78/0x1d0

generic_shutdown_super+0x70/0x440

kill_anon_super+0x3e/0x70

deactivate_locked_super+0xc4/0x160

deactivate_super+0xfa/0x140

cleanup_mnt+0x22e/0x370

__cleanup_mnt+0x1a/0x30

task_work_run+0x139/0x210

do_exit+0xb0c/0x2820

? __kasan_check_read+0x1d/0x30

? find_held_lock+0x35/0x160

? lock_release+0x1b6/0x660

? mm_update_next_owner+0xa20/0xa20

? reacquire_held_locks+0x3f0/0x3f0

? __sanitizer_cov_trace_const_cmp4+0x22/0x30

do_group_exit+0x135/0x380

__do_sys_exit_group.isra.0+0x20/0x20

__x64_sys_exit_group+0x3c/0x50

do_syscall_64+0x45/0x70

entry_SYSCALL_64_after_hwframe+0x44/0xae

...

VFS: Busy inodes after unmount of overlay. Self-destruct in 5 seconds. Have a nice day...

This fix has been tested with a syzkaller reproducer.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00249 · 15.3th percentile
Published
2024-02-27T18:47Z
EPSS history
Timeline
  • 27 FEB 18:47Z
    ovl: fix leaked dentry
    cvelistv5