[RFC PATCH 5/6] smack: explicitly skip mediation of O_PATH file descriptors

From: Ryan Lee
Date: Wed Mar 12 2025 - 17:24:35 EST


Now that O_PATH fds are being passed to the file_open hook,
unconditionally skip mediation of them to preserve existing behavior.

Signed-off-by: Ryan Lee <ryan.lee@xxxxxxxxxxxxx>
---
security/smack/smack_lsm.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c
index 2f65eb392bc0..c05e223bfb33 100644
--- a/security/smack/smack_lsm.c
+++ b/security/smack/smack_lsm.c
@@ -2062,6 +2062,10 @@ static int smack_file_open(struct file *file)
struct smk_audit_info ad;
int rc;

+ /* Preserve the behavior of O_PATH fd creation not being mediated */
+ if (file->f_flags & O_PATH)
+ return 0;
+
smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_PATH);
smk_ad_setfield_u_fs_path(&ad, file->f_path);
rc = smk_tskacc(tsp, smk_of_inode(inode), MAY_READ, &ad);
--
2.43.0

base-kernel: v6.14-rc6