staging: rtl8723bs: use kernel_read() instead of open-coded version
authorJann Horn <jannh@google.com>
Fri, 1 Mar 2019 20:11:24 +0000 (21:11 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 18 Mar 2019 06:06:08 +0000 (07:06 +0100)
Replace the manual call to f_op->read() under KERNEL_DS with kernel_read().
This also reduces the number of users of the legacy alias get_ds() for
KERNEL_DS.

Signed-off-by: Jann Horn <jannh@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8723bs/os_dep/osdep_service.c

index 73b87da..4378827 100644 (file)
@@ -107,7 +107,7 @@ static int readFile(struct file *fp, char *buf, int len)
                return -EPERM;
 
        while (sum<len) {
-               rlen =fp->f_op->read(fp, (char __force __user *)buf+sum, len-sum, &fp->f_pos);
+               rlen = kernel_read(fp, buf + sum, len - sum, &fp->f_pos);
                if (rlen>0)
                        sum+=rlen;
                else if (0 != rlen)
@@ -116,7 +116,7 @@ static int readFile(struct file *fp, char *buf, int len)
                        break;
        }
 
-       return  sum;
+       return sum;
 
 }
 
@@ -129,22 +129,16 @@ static int isFileReadable(char *path)
 {
        struct file *fp;
        int ret = 0;
-       mm_segment_t oldfs;
        char buf;
 
        fp =filp_open(path, O_RDONLY, 0);
-       if (IS_ERR(fp)) {
-               ret = PTR_ERR(fp);
-       }
-       else {
-               oldfs = get_fs(); set_fs(KERNEL_DS);
+       if (IS_ERR(fp))
+               return PTR_ERR(fp);
 
-               if (1!=readFile(fp, &buf, 1))
-                       ret = -EINVAL;
+       if (readFile(fp, &buf, 1) != 1)
+               ret = -EINVAL;
 
-               set_fs(oldfs);
-               filp_close(fp, NULL);
-       }
+       filp_close(fp, NULL);
        return ret;
 }
 
@@ -158,16 +152,13 @@ static int isFileReadable(char *path)
 static int retriveFromFile(char *path, u8 *buf, u32 sz)
 {
        int ret =-1;
-       mm_segment_t oldfs;
        struct file *fp;
 
        if (path && buf) {
                if (0 == (ret =openFile(&fp, path, O_RDONLY, 0))) {
                        DBG_871X("%s openFile path:%s fp =%p\n", __func__, path , fp);
 
-                       oldfs = get_fs(); set_fs(KERNEL_DS);
                        ret =readFile(fp, buf, sz);
-                       set_fs(oldfs);
                        closeFile(fp);
 
                        DBG_871X("%s readFile, ret:%d\n", __func__, ret);