[PATCH V2] fs: export anon_inode_make_secure_inode() and fix secretmem LSM bypass
David Hildenbrand
david at redhat.com
Mon Jun 23 13:51:28 UTC 2025
On 20.06.25 09:03, Shivank Garg wrote:
> Export anon_inode_make_secure_inode() to allow KVM guest_memfd to create
> anonymous inodes with proper security context. This replaces the current
> pattern of calling alloc_anon_inode() followed by
> inode_init_security_anon() for creating security context manually.
>
> This change also fixes a security regression in secretmem where the
> S_PRIVATE flag was not cleared after alloc_anon_inode(), causing
> LSM/SELinux checks to be bypassed for secretmem file descriptors.
>
> As guest_memfd currently resides in the KVM module, we need to export this
> symbol for use outside the core kernel. In the future, guest_memfd might be
> moved to core-mm, at which point the symbols no longer would have to be
> exported. When/if that happens is still unclear.
>
> Fixes: 2bfe15c52612 ("mm: create security context for memfd_secret inodes")
> Suggested-by: David Hildenbrand <david at redhat.com>
> Suggested-by: Mike Rapoport <rppt at kernel.org>
> Signed-off-by: Shivank Garg <shivankg at amd.com>
In general, LGTM, but I think the actual fix should be separated from
exporting it for guest_memfd purposes?
Also makes backporting easier, when EXPORT_SYMBOL_GPL_FOR_MODULES does
not exist yet ...
Leaving deciding about that to fs people.
Reviewed-by: David Hildenbrand <david at redhat.com>
--
Cheers,
David / dhildenb
More information about the Linux-security-module-archive
mailing list