Thread (8 messages) 8 messages, 5 authors, 2025-06-26

Re: [PATCH V2] fs: export anon_inode_make_secure_inode() and fix secretmem LSM bypass

From: David Hildenbrand <hidden>
Date: 2025-06-23 13:51:33
Also in: linux-fsdevel, linux-mm, lkml

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 <redacted>
Suggested-by: Mike Rapoport <rppt@kernel.org>
Signed-off-by: Shivank Garg <redacted>

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 <redacted>

-- 
Cheers,

David / dhildenb
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help