diff options
Diffstat (limited to 'security/selinux/selinuxfs.c')
| -rw-r--r-- | security/selinux/selinuxfs.c | 30 | 
1 files changed, 19 insertions, 11 deletions
diff --git a/security/selinux/selinuxfs.c b/security/selinux/selinuxfs.c index 5122affe06a8..c71737f6d1cc 100644 --- a/security/selinux/selinuxfs.c +++ b/security/selinux/selinuxfs.c @@ -54,7 +54,7 @@ unsigned int selinux_checkreqprot = CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE;  static int __init checkreqprot_setup(char *str)  {  	unsigned long checkreqprot; -	if (!strict_strtoul(str, 0, &checkreqprot)) +	if (!kstrtoul(str, 0, &checkreqprot))  		selinux_checkreqprot = checkreqprot ? 1 : 0;  	return 1;  } @@ -576,7 +576,7 @@ static ssize_t sel_write_context(struct file *file, char *buf, size_t size)  	if (length)  		goto out; -	length = security_context_to_sid(buf, size, &sid); +	length = security_context_to_sid(buf, size, &sid, GFP_KERNEL);  	if (length)  		goto out; @@ -731,11 +731,13 @@ static ssize_t sel_write_access(struct file *file, char *buf, size_t size)  	if (sscanf(buf, "%s %s %hu", scon, tcon, &tclass) != 3)  		goto out; -	length = security_context_to_sid(scon, strlen(scon) + 1, &ssid); +	length = security_context_to_sid(scon, strlen(scon) + 1, &ssid, +					 GFP_KERNEL);  	if (length)  		goto out; -	length = security_context_to_sid(tcon, strlen(tcon) + 1, &tsid); +	length = security_context_to_sid(tcon, strlen(tcon) + 1, &tsid, +					 GFP_KERNEL);  	if (length)  		goto out; @@ -817,11 +819,13 @@ static ssize_t sel_write_create(struct file *file, char *buf, size_t size)  		objname = namebuf;  	} -	length = security_context_to_sid(scon, strlen(scon) + 1, &ssid); +	length = security_context_to_sid(scon, strlen(scon) + 1, &ssid, +					 GFP_KERNEL);  	if (length)  		goto out; -	length = security_context_to_sid(tcon, strlen(tcon) + 1, &tsid); +	length = security_context_to_sid(tcon, strlen(tcon) + 1, &tsid, +					 GFP_KERNEL);  	if (length)  		goto out; @@ -878,11 +882,13 @@ static ssize_t sel_write_relabel(struct file *file, char *buf, size_t size)  	if (sscanf(buf, "%s %s %hu", scon, tcon, &tclass) != 3)  		goto out; -	length = security_context_to_sid(scon, strlen(scon) + 1, &ssid); +	length = security_context_to_sid(scon, strlen(scon) + 1, &ssid, +					 GFP_KERNEL);  	if (length)  		goto out; -	length = security_context_to_sid(tcon, strlen(tcon) + 1, &tsid); +	length = security_context_to_sid(tcon, strlen(tcon) + 1, &tsid, +					 GFP_KERNEL);  	if (length)  		goto out; @@ -934,7 +940,7 @@ static ssize_t sel_write_user(struct file *file, char *buf, size_t size)  	if (sscanf(buf, "%s %s", con, user) != 2)  		goto out; -	length = security_context_to_sid(con, strlen(con) + 1, &sid); +	length = security_context_to_sid(con, strlen(con) + 1, &sid, GFP_KERNEL);  	if (length)  		goto out; @@ -994,11 +1000,13 @@ static ssize_t sel_write_member(struct file *file, char *buf, size_t size)  	if (sscanf(buf, "%s %s %hu", scon, tcon, &tclass) != 3)  		goto out; -	length = security_context_to_sid(scon, strlen(scon) + 1, &ssid); +	length = security_context_to_sid(scon, strlen(scon) + 1, &ssid, +					 GFP_KERNEL);  	if (length)  		goto out; -	length = security_context_to_sid(tcon, strlen(tcon) + 1, &tsid); +	length = security_context_to_sid(tcon, strlen(tcon) + 1, &tsid, +					 GFP_KERNEL);  	if (length)  		goto out;  | 
