From: Marcin Niesluchowski Date: Tue, 19 Aug 2014 12:26:32 +0000 (+0200) Subject: Smack: Fix setting label on successful file open X-Git-Tag: submit/tizen_ivi/20150108.095140~8 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git;a=commitdiff_plain;h=246e0a911ae3217f8fead1fd6e0a7db4f0968adf 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. Change-Id: I937d070e1c0cb251f4a0dd3291efbc94be3ca548 Signed-off-by: Marcin Niesluchowski Signed-off-by: Rafal Krypa Origin: git://git.gitorious.org/smack-next/kernel.git# smack-for-3.18 (cherry picked from commit 6047a807302a008d48bd2a4822025b725580c361) Signed-off-by: Damian Hobson-Garcia --- diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c index d347b79..47ed6a4 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);