Re: [PATCH V2] fs: export anon_inode_make_secure_inode() and fix secretmem LSM bypass
From: Shivank Garg <hidden>
Date: 2025-06-23 14:08:51
Also in:
linux-fsdevel, linux-mm, lkml
From: Shivank Garg <hidden>
Date: 2025-06-23 14:08:51
Also in:
linux-fsdevel, linux-mm, lkml
On 6/23/2025 7:21 PM, David Hildenbrand wrote:
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? Thanks, Shivank