diff options
Diffstat (limited to 'security/selinux/exports.c')
| -rw-r--r-- | security/selinux/exports.c | 8 | 
1 files changed, 6 insertions, 2 deletions
| diff --git a/security/selinux/exports.c b/security/selinux/exports.c index cf02490cd1eb..c73aeaa008e8 100644 --- a/security/selinux/exports.c +++ b/security/selinux/exports.c @@ -39,9 +39,13 @@ EXPORT_SYMBOL_GPL(selinux_string_to_sid);  int selinux_secmark_relabel_packet_permission(u32 sid)  {  	if (selinux_enabled) { -		struct task_security_struct *tsec = current->cred->security; +		const struct task_security_struct *__tsec; +		u32 tsid; -		return avc_has_perm(tsec->sid, sid, SECCLASS_PACKET, +		__tsec = current_security(); +		tsid = __tsec->sid; + +		return avc_has_perm(tsid, sid, SECCLASS_PACKET,  				    PACKET__RELABELTO, NULL);  	}  	return 0; |