Explorar el Código

[PATCH] selinux: simplify sel_read_bool

Simplify sel_read_bool to use the simple_read_from_buffer helper, like the
other selinuxfs functions.

Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
Acked-by: James Morris <jmorris@namei.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Stephen Smalley hace 19 años
padre
commit
68bdcf28a8
Se han modificado 1 ficheros con 1 adiciones y 19 borrados
  1. 1 19
      security/selinux/selinuxfs.c

+ 1 - 19
security/selinux/selinuxfs.c

@@ -710,7 +710,6 @@ static ssize_t sel_read_bool(struct file *filep, char __user *buf,
 {
 {
 	char *page = NULL;
 	char *page = NULL;
 	ssize_t length;
 	ssize_t length;
-	ssize_t end;
 	ssize_t ret;
 	ssize_t ret;
 	int cur_enforcing;
 	int cur_enforcing;
 	struct inode *inode;
 	struct inode *inode;
@@ -741,24 +740,7 @@ static ssize_t sel_read_bool(struct file *filep, char __user *buf,
 
 
 	length = scnprintf(page, PAGE_SIZE, "%d %d", cur_enforcing,
 	length = scnprintf(page, PAGE_SIZE, "%d %d", cur_enforcing,
 			  bool_pending_values[inode->i_ino - BOOL_INO_OFFSET]);
 			  bool_pending_values[inode->i_ino - BOOL_INO_OFFSET]);
-	if (length < 0) {
-		ret = length;
-		goto out;
-	}
-
-	if (*ppos >= length) {
-		ret = 0;
-		goto out;
-	}
-	if (count + *ppos > length)
-		count = length - *ppos;
-	end = count + *ppos;
-	if (copy_to_user(buf, (char *) page + *ppos, count)) {
-		ret = -EFAULT;
-		goto out;
-	}
-	*ppos = end;
-	ret = count;
+	ret = simple_read_from_buffer(buf, count, ppos, page, length);
 out:
 out:
 	mutex_unlock(&sel_mutex);
 	mutex_unlock(&sel_mutex);
 	if (page)
 	if (page)