From: Lukasz Pawelczyk Date: Tue, 11 Mar 2014 16:07:04 +0000 (+0100) Subject: Smack: fix the subject/object order in smack_ptrace_traceme() X-Git-Tag: submit/tizen/20160422.055611~1^2~99^2~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=52a45e7150dd3f89afb26dcb05e554cf5557a46f;p=sdk%2Femulator%2Femulator-kernel.git Smack: fix the subject/object order in smack_ptrace_traceme() The order of subject/object is currently reversed in smack_ptrace_traceme(). It is currently checked if the tracee has a capability to trace tracer and according to this rule a decision is made whether the tracer will be allowed to trace tracee. Change-Id: I8ed75ceabe822c70cf9bdccda004139c4c817248 Signed-off-by: Lukasz Pawelczyk Signed-off-by: Rafal Krypa --- diff --git a/security/smack/smack.h b/security/smack/smack.h index d072fd32212d..b9dfc4e1d3e0 100644 --- a/security/smack/smack.h +++ b/security/smack/smack.h @@ -225,6 +225,7 @@ struct inode_smack *new_inode_smack(char *); */ int smk_access_entry(char *, char *, struct list_head *); int smk_access(struct smack_known *, char *, int, struct smk_audit_info *); +int smk_tskacc(struct task_smack *, char *, u32, struct smk_audit_info *); int smk_curacc(char *, u32, struct smk_audit_info *); struct smack_known *smack_from_secid(const u32); char *smk_parse_smack(const char *string, int len); diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c index 0589dee54a11..de2bd4fa5a0f 100644 --- a/security/smack/smack_lsm.c +++ b/security/smack/smack_lsm.c @@ -207,11 +207,11 @@ static int smack_ptrace_traceme(struct task_struct *ptp) if (rc != 0) return rc; - skp = smk_of_task(task_security(ptp)); + skp = smk_of_task(current_security()); smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_TASK); smk_ad_setfield_u_tsk(&ad, ptp); - rc = smk_curacc(skp->smk_known, MAY_READWRITE, &ad); + rc = smk_tskacc(ptp, skp->smk_known, MAY_READWRITE, &ad); return rc; }