[PATCH] selinux: simplify sel_read_bool
authorStephen Smalley <sds@tycho.nsa.gov>
Wed, 22 Mar 2006 08:09:15 +0000 (00:09 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 22 Mar 2006 15:54:07 +0000 (07:54 -0800)
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>
security/selinux/selinuxfs.c

index 65efa8f7633139f22f8739a9fbf5406be1d54441..cc782083d71fd2b793b7063df6b95f8400a3b92b 100644 (file)
@@ -710,7 +710,6 @@ static ssize_t sel_read_bool(struct file *filep, char __user *buf,
 {
        char *page = NULL;
        ssize_t length;
-       ssize_t end;
        ssize_t ret;
        int cur_enforcing;
        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,
                          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:
        mutex_unlock(&sel_mutex);
        if (page)