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: Vlastimil Babka <hidden>
Date: 2025-06-23 14:13:21
Also in: linux-fsdevel, linux-mm, lkml

On 6/23/25 16:08, Shivank Garg wrote:

On 6/23/2025 7:21 PM, David Hildenbrand wrote:
quoted
On 20.06.25 09:03, Shivank Garg wrote:
quoted
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 ...
I agree. I did not think about backporting conflicts when sending the patch.

Christian, I can send it as 2 separate patches to make it easier?
The proper way is to send the fix without the export, and then add the
export only when adding its user.
Thanks,
Shivank
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help