diff --git a/os_dep/osdep_service.c b/os_dep/osdep_service.c index 76ac5ec..403ceef 100644 --- a/os_dep/osdep_service.c +++ b/os_dep/osdep_service.c @@ -717,7 +717,9 @@ static int isFileReadable(char *path) { struct file *fp; int ret = 0; +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0) mm_segment_t oldfs; +#endif char buf; fp=filp_open(path, O_RDONLY, 0); @@ -725,12 +727,16 @@ static int isFileReadable(char *path) ret = PTR_ERR(fp); } else { +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0) oldfs = get_fs(); set_fs(KERNEL_DS); +#endif if(1!=readFile(fp, &buf, 1)) ret = PTR_ERR(fp); +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0) set_fs(oldfs); +#endif filp_close(fp,NULL); } return ret; @@ -746,16 +752,22 @@ static int isFileReadable(char *path) static int retriveFromFile(char *path, u8* buf, u32 sz) { int ret =-1; +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0) mm_segment_t oldfs; +#endif struct file *fp; if(path && buf) { if( 0 == (ret=openFile(&fp,path, O_RDONLY, 0)) ){ DBG_871X("%s openFile path:%s fp=%p\n",__FUNCTION__, path ,fp); +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0) oldfs = get_fs(); set_fs(KERNEL_DS); +#endif ret=readFile(fp, buf, sz); +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0) set_fs(oldfs); +#endif closeFile(fp); DBG_871X("%s readFile, ret:%d\n",__FUNCTION__, ret); @@ -780,16 +792,22 @@ static int retriveFromFile(char *path, u8* buf, u32 sz) static int storeToFile(char *path, u8* buf, u32 sz) { int ret =0; +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0) mm_segment_t oldfs; +#endif struct file *fp; if(path && buf) { if( 0 == (ret=openFile(&fp, path, O_CREAT|O_WRONLY, 0666)) ) { DBG_871X("%s openFile path:%s fp=%p\n",__FUNCTION__, path ,fp); +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0) oldfs = get_fs(); set_fs(KERNEL_DS); +#endif ret=writeFile(fp, buf, sz); +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0) set_fs(oldfs); +#endif closeFile(fp); DBG_871X("%s writeFile, ret:%d\n",__FUNCTION__, ret);