diff options
Diffstat (limited to 'meta-rcar-gen2/recipes-kernel/linux/linux-renesas/smack/0037-Smack-Fix-setting-label-on-successful-file-open.patch')
-rw-r--r-- | meta-rcar-gen2/recipes-kernel/linux/linux-renesas/smack/0037-Smack-Fix-setting-label-on-successful-file-open.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/meta-rcar-gen2/recipes-kernel/linux/linux-renesas/smack/0037-Smack-Fix-setting-label-on-successful-file-open.patch b/meta-rcar-gen2/recipes-kernel/linux/linux-renesas/smack/0037-Smack-Fix-setting-label-on-successful-file-open.patch new file mode 100644 index 0000000..071b4ef --- /dev/null +++ b/meta-rcar-gen2/recipes-kernel/linux/linux-renesas/smack/0037-Smack-Fix-setting-label-on-successful-file-open.patch @@ -0,0 +1,32 @@ +From c0b37ae4c6cee96e2d6ae755b32c039cba38f4b2 Mon Sep 17 00:00:00 2001 +From: Marcin Niesluchowski <m.niesluchow@samsung.com> +Date: Tue, 19 Aug 2014 14:26:32 +0200 +Subject: [PATCH 37/54] Smack: Fix setting label on successful file open + +While opening with CAP_MAC_OVERRIDE file label is not set. +Other calls may access it after CAP_MAC_OVERRIDE is dropped from process. + +Signed-off-by: Marcin Niesluchowski <m.niesluchow@samsung.com> +--- + security/smack/smack_lsm.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c +index 1befb0a..97eab635 100644 +--- a/security/smack/smack_lsm.c ++++ b/security/smack/smack_lsm.c +@@ -1477,8 +1477,10 @@ static int smack_file_open(struct file *file, const struct cred *cred) + struct smk_audit_info ad; + int rc; + +- if (smack_privileged(CAP_MAC_OVERRIDE)) ++ if (smack_privileged(CAP_MAC_OVERRIDE)) { ++ file->f_security = isp->smk_inode; + return 0; ++ } + + smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_PATH); + smk_ad_setfield_u_fs_path(&ad, file->f_path); +-- +2.1.4 + |