]> www.infradead.org Git - users/jedix/linux-maple.git/commit
efivarfs: Fix memory leak of efivarfs_fs_info in fs_context error paths
authorBreno Leitao <leitao@debian.org>
Wed, 16 Jul 2025 15:23:12 +0000 (08:23 -0700)
committerArd Biesheuvel <ardb@kernel.org>
Fri, 18 Jul 2025 10:00:20 +0000 (12:00 +0200)
commit64e135f1eaba0bbb0cdee859af3328c68d5b9789
tree5d997f15426572c1c0db6fceda3d1f38a272b73d
parentf8b53cc9174c5980549f60c972faad82b660b62d
efivarfs: Fix memory leak of efivarfs_fs_info in fs_context error paths

When processing mount options, efivarfs allocates efivarfs_fs_info (sfi)
early in fs_context initialization. However, sfi is associated with the
superblock and typically freed when the superblock is destroyed. If the
fs_context is released (final put) before fill_super is called—such as
on error paths or during reconfiguration—the sfi structure would leak,
as ownership never transfers to the superblock.

Implement the .free callback in efivarfs_context_ops to ensure any
allocated sfi is properly freed if the fs_context is torn down before
fill_super, preventing this memory leak.

Suggested-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Fixes: 5329aa5101f73c ("efivarfs: Add uid/gid mount options")
Signed-off-by: Breno Leitao <leitao@debian.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
fs/efivarfs/super.c