From 74a6565f378c1b71f2572bf1f3c03ad35a7c75ca Mon Sep 17 00:00:00 2001 From: Jann Horn Date: Fri, 1 Mar 2019 21:11:24 +0100 Subject: [PATCH] staging: rtl8723bs: use kernel_read() instead of open-coded version 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 Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8723bs/os_dep/osdep_service.c | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/drivers/staging/rtl8723bs/os_dep/osdep_service.c b/drivers/staging/rtl8723bs/os_dep/osdep_service.c index 73b87da..4378827 100644 --- a/drivers/staging/rtl8723bs/os_dep/osdep_service.c +++ b/drivers/staging/rtl8723bs/os_dep/osdep_service.c @@ -107,7 +107,7 @@ static int readFile(struct file *fp, char *buf, int len) return -EPERM; while (sumf_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); -- 2.7.4