mirror of
https://github.com/aircrack-ng/rtl8812au.git
synced 2024-11-22 13:24:36 +00:00
Fix kernel 5.10-rc1
This commit is contained in:
parent
e9fbf5c051
commit
ee9619ba0c
@ -1443,7 +1443,9 @@ u8 rtw_btcoex_sendmsgbysocket(_adapter *padapter, u8 *msg, u8 msg_size, bool for
|
|||||||
{
|
{
|
||||||
u8 error;
|
u8 error;
|
||||||
struct msghdr udpmsg;
|
struct msghdr udpmsg;
|
||||||
|
#ifdef set_fs
|
||||||
mm_segment_t oldfs;
|
mm_segment_t oldfs;
|
||||||
|
#endif
|
||||||
struct iovec iov;
|
struct iovec iov;
|
||||||
struct bt_coex_info *pcoex_info = &padapter->coex_info;
|
struct bt_coex_info *pcoex_info = &padapter->coex_info;
|
||||||
|
|
||||||
@ -1473,15 +1475,18 @@ u8 rtw_btcoex_sendmsgbysocket(_adapter *padapter, u8 *msg, u8 msg_size, bool for
|
|||||||
udpmsg.msg_control = NULL;
|
udpmsg.msg_control = NULL;
|
||||||
udpmsg.msg_controllen = 0;
|
udpmsg.msg_controllen = 0;
|
||||||
udpmsg.msg_flags = MSG_DONTWAIT | MSG_NOSIGNAL;
|
udpmsg.msg_flags = MSG_DONTWAIT | MSG_NOSIGNAL;
|
||||||
|
#ifdef set_fs
|
||||||
oldfs = get_fs();
|
oldfs = get_fs();
|
||||||
set_fs(KERNEL_DS);
|
set_fs(KERNEL_DS);
|
||||||
|
#endif
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0))
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0))
|
||||||
error = sock_sendmsg(pcoex_info->udpsock, &udpmsg);
|
error = sock_sendmsg(pcoex_info->udpsock, &udpmsg);
|
||||||
#else
|
#else
|
||||||
error = sock_sendmsg(pcoex_info->udpsock, &udpmsg, msg_size);
|
error = sock_sendmsg(pcoex_info->udpsock, &udpmsg, msg_size);
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef set_fs
|
||||||
set_fs(oldfs);
|
set_fs(oldfs);
|
||||||
|
#endif
|
||||||
if (error < 0) {
|
if (error < 0) {
|
||||||
RTW_INFO("Error when sendimg msg, error:%d\n", error);
|
RTW_INFO("Error when sendimg msg, error:%d\n", error);
|
||||||
return _FAIL;
|
return _FAIL;
|
||||||
|
@ -4744,7 +4744,9 @@ int rtw_dev_nlo_info_set(struct pno_nlo_info *nlo_info, pno_ssid_t *ssid,
|
|||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
struct file *fp;
|
struct file *fp;
|
||||||
|
#ifdef set_fs
|
||||||
mm_segment_t fs;
|
mm_segment_t fs;
|
||||||
|
#endif
|
||||||
loff_t pos = 0;
|
loff_t pos = 0;
|
||||||
u8 *source = NULL;
|
u8 *source = NULL;
|
||||||
long len = 0;
|
long len = 0;
|
||||||
@ -4780,10 +4782,10 @@ int rtw_dev_nlo_info_set(struct pno_nlo_info *nlo_info, pno_ssid_t *ssid,
|
|||||||
RTW_INFO("Error, cipher array using default value.\n");
|
RTW_INFO("Error, cipher array using default value.\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#ifdef set_fs
|
||||||
fs = get_fs();
|
fs = get_fs();
|
||||||
set_fs(KERNEL_DS);
|
set_fs(KERNEL_DS);
|
||||||
|
#endif
|
||||||
source = rtw_zmalloc(2048);
|
source = rtw_zmalloc(2048);
|
||||||
|
|
||||||
if (source != NULL) {
|
if (source != NULL) {
|
||||||
@ -4791,10 +4793,10 @@ int rtw_dev_nlo_info_set(struct pno_nlo_info *nlo_info, pno_ssid_t *ssid,
|
|||||||
rtw_parse_cipher_list(nlo_info, source);
|
rtw_parse_cipher_list(nlo_info, source);
|
||||||
rtw_mfree(source, 2048);
|
rtw_mfree(source, 2048);
|
||||||
}
|
}
|
||||||
|
#ifdef set_fs
|
||||||
set_fs(fs);
|
set_fs(fs);
|
||||||
filp_close(fp, NULL);
|
filp_close(fp, NULL);
|
||||||
|
#endif
|
||||||
RTW_INFO("-%s-\n", __func__);
|
RTW_INFO("-%s-\n", __func__);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -4029,7 +4029,9 @@ static int route_dump(u32 *gw_addr , int *gw_index)
|
|||||||
struct msghdr msg;
|
struct msghdr msg;
|
||||||
struct iovec iov;
|
struct iovec iov;
|
||||||
struct sockaddr_nl nladdr;
|
struct sockaddr_nl nladdr;
|
||||||
|
#ifdef set_fs
|
||||||
mm_segment_t oldfs;
|
mm_segment_t oldfs;
|
||||||
|
#endif
|
||||||
char *pg;
|
char *pg;
|
||||||
int size = 0;
|
int size = 0;
|
||||||
|
|
||||||
@ -4067,16 +4069,18 @@ static int route_dump(u32 *gw_addr , int *gw_index)
|
|||||||
msg.msg_control = NULL;
|
msg.msg_control = NULL;
|
||||||
msg.msg_controllen = 0;
|
msg.msg_controllen = 0;
|
||||||
msg.msg_flags = MSG_DONTWAIT;
|
msg.msg_flags = MSG_DONTWAIT;
|
||||||
|
#ifdef set_fs
|
||||||
oldfs = get_fs();
|
oldfs = get_fs();
|
||||||
set_fs(KERNEL_DS);
|
set_fs(KERNEL_DS);
|
||||||
|
#endif
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0))
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0))
|
||||||
err = sock_sendmsg(sock, &msg);
|
err = sock_sendmsg(sock, &msg);
|
||||||
#else
|
#else
|
||||||
err = sock_sendmsg(sock, &msg, sizeof(req));
|
err = sock_sendmsg(sock, &msg, sizeof(req));
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef set_fs
|
||||||
set_fs(oldfs);
|
set_fs(oldfs);
|
||||||
|
#endif
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
goto out_sock;
|
goto out_sock;
|
||||||
|
|
||||||
@ -4099,16 +4103,18 @@ restart:
|
|||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0))
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0))
|
||||||
iov_iter_init(&msg.msg_iter, READ, &iov, 1, PAGE_SIZE);
|
iov_iter_init(&msg.msg_iter, READ, &iov, 1, PAGE_SIZE);
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef set_fs
|
||||||
oldfs = get_fs();
|
oldfs = get_fs();
|
||||||
set_fs(KERNEL_DS);
|
set_fs(KERNEL_DS);
|
||||||
|
#endif
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0))
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0))
|
||||||
err = sock_recvmsg(sock, &msg, MSG_DONTWAIT);
|
err = sock_recvmsg(sock, &msg, MSG_DONTWAIT);
|
||||||
#else
|
#else
|
||||||
err = sock_recvmsg(sock, &msg, PAGE_SIZE, MSG_DONTWAIT);
|
err = sock_recvmsg(sock, &msg, PAGE_SIZE, MSG_DONTWAIT);
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef set_fs
|
||||||
set_fs(oldfs);
|
set_fs(oldfs);
|
||||||
|
#endif
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
goto out_sock_pg;
|
goto out_sock_pg;
|
||||||
|
|
||||||
@ -4178,15 +4184,18 @@ done:
|
|||||||
msg.msg_controllen = 0;
|
msg.msg_controllen = 0;
|
||||||
msg.msg_flags = MSG_DONTWAIT;
|
msg.msg_flags = MSG_DONTWAIT;
|
||||||
|
|
||||||
|
#ifdef set_fs
|
||||||
oldfs = get_fs();
|
oldfs = get_fs();
|
||||||
set_fs(KERNEL_DS);
|
set_fs(KERNEL_DS);
|
||||||
|
#endif
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0))
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0))
|
||||||
err = sock_sendmsg(sock, &msg);
|
err = sock_sendmsg(sock, &msg);
|
||||||
#else
|
#else
|
||||||
err = sock_sendmsg(sock, &msg, sizeof(req));
|
err = sock_sendmsg(sock, &msg, sizeof(req));
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef set_fs
|
||||||
set_fs(oldfs);
|
set_fs(oldfs);
|
||||||
|
#endif
|
||||||
if (err > 0)
|
if (err > 0)
|
||||||
goto restart;
|
goto restart;
|
||||||
}
|
}
|
||||||
|
@ -2164,11 +2164,21 @@ static int writeFile(struct file *fp, char *buf, int len)
|
|||||||
{
|
{
|
||||||
int wlen = 0, sum = 0;
|
int wlen = 0, sum = 0;
|
||||||
|
|
||||||
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0))
|
||||||
|
if (!(fp->f_mode & FMODE_CAN_WRITE))
|
||||||
|
#else
|
||||||
if (!fp->f_op || !fp->f_op->write)
|
if (!fp->f_op || !fp->f_op->write)
|
||||||
|
#endif
|
||||||
return -EPERM;
|
return -EPERM;
|
||||||
|
|
||||||
while (sum < len) {
|
while (sum < len) {
|
||||||
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0))
|
||||||
|
wlen = kernel_write(fp, buf + sum, len - sum, &fp->f_pos);
|
||||||
|
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0))
|
||||||
|
wlen = __vfs_write(fp, buf + sum, len - sum, &fp->f_pos);
|
||||||
|
#else
|
||||||
wlen = fp->f_op->write(fp, buf + sum, len - sum, &fp->f_pos);
|
wlen = fp->f_op->write(fp, buf + sum, len - sum, &fp->f_pos);
|
||||||
|
#endif
|
||||||
if (wlen > 0)
|
if (wlen > 0)
|
||||||
sum += wlen;
|
sum += wlen;
|
||||||
else if (0 != wlen)
|
else if (0 != wlen)
|
||||||
@ -2191,19 +2201,19 @@ static int isFileReadable(const char *path, u32 *sz)
|
|||||||
{
|
{
|
||||||
struct file *fp;
|
struct file *fp;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
#ifdef set_fs
|
||||||
mm_segment_t oldfs;
|
mm_segment_t oldfs;
|
||||||
|
#endif
|
||||||
char buf;
|
char buf;
|
||||||
|
|
||||||
fp = filp_open(path, O_RDONLY, 0);
|
fp = filp_open(path, O_RDONLY, 0);
|
||||||
if (IS_ERR(fp))
|
if (IS_ERR(fp))
|
||||||
ret = PTR_ERR(fp);
|
ret = PTR_ERR(fp);
|
||||||
else {
|
else {
|
||||||
|
#ifdef set_fs
|
||||||
oldfs = get_fs();
|
oldfs = get_fs();
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0))
|
|
||||||
set_fs(KERNEL_DS);
|
set_fs(KERNEL_DS);
|
||||||
#else
|
#endif
|
||||||
set_fs(get_ds());
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (1 != readFile(fp, &buf, 1))
|
if (1 != readFile(fp, &buf, 1))
|
||||||
ret = PTR_ERR(fp);
|
ret = PTR_ERR(fp);
|
||||||
@ -2215,8 +2225,9 @@ static int isFileReadable(const char *path, u32 *sz)
|
|||||||
*sz = i_size_read(fp->f_dentry->d_inode);
|
*sz = i_size_read(fp->f_dentry->d_inode);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
#ifdef set_fs
|
||||||
set_fs(oldfs);
|
set_fs(oldfs);
|
||||||
|
#endif
|
||||||
filp_close(fp, NULL);
|
filp_close(fp, NULL);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
@ -2232,22 +2243,23 @@ static int isFileReadable(const char *path, u32 *sz)
|
|||||||
static int retriveFromFile(const char *path, u8 *buf, u32 sz)
|
static int retriveFromFile(const char *path, u8 *buf, u32 sz)
|
||||||
{
|
{
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
#ifdef set_fs
|
||||||
mm_segment_t oldfs;
|
mm_segment_t oldfs;
|
||||||
|
#endif
|
||||||
struct file *fp;
|
struct file *fp;
|
||||||
|
|
||||||
if (path && buf) {
|
if (path && buf) {
|
||||||
ret = openFile(&fp, path, O_RDONLY, 0);
|
ret = openFile(&fp, path, O_RDONLY, 0);
|
||||||
if (0 == ret) {
|
if (0 == ret) {
|
||||||
RTW_INFO("%s openFile path:%s fp=%p\n", __FUNCTION__, path , fp);
|
RTW_INFO("%s openFile path:%s fp=%p\n", __FUNCTION__, path , fp);
|
||||||
|
#ifdef set_fs
|
||||||
oldfs = get_fs();
|
oldfs = get_fs();
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0))
|
|
||||||
set_fs(KERNEL_DS);
|
set_fs(KERNEL_DS);
|
||||||
#else
|
|
||||||
set_fs(get_ds());
|
|
||||||
#endif
|
|
||||||
ret = readFile(fp, buf, sz);
|
ret = readFile(fp, buf, sz);
|
||||||
set_fs(oldfs);
|
set_fs(oldfs);
|
||||||
|
#else
|
||||||
|
ret = readFile(fp, buf, sz);
|
||||||
|
#endif
|
||||||
closeFile(fp);
|
closeFile(fp);
|
||||||
|
|
||||||
RTW_INFO("%s readFile, ret:%d\n", __FUNCTION__, ret);
|
RTW_INFO("%s readFile, ret:%d\n", __FUNCTION__, ret);
|
||||||
@ -2271,22 +2283,23 @@ static int retriveFromFile(const char *path, u8 *buf, u32 sz)
|
|||||||
static int storeToFile(const char *path, u8 *buf, u32 sz)
|
static int storeToFile(const char *path, u8 *buf, u32 sz)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
#ifdef set_fs
|
||||||
mm_segment_t oldfs;
|
mm_segment_t oldfs;
|
||||||
|
#endif
|
||||||
struct file *fp;
|
struct file *fp;
|
||||||
|
|
||||||
if (path && buf) {
|
if (path && buf) {
|
||||||
ret = openFile(&fp, path, O_CREAT | O_WRONLY, 0666);
|
ret = openFile(&fp, path, O_CREAT | O_WRONLY, 0666);
|
||||||
if (0 == ret) {
|
if (0 == ret) {
|
||||||
RTW_INFO("%s openFile path:%s fp=%p\n", __FUNCTION__, path , fp);
|
RTW_INFO("%s openFile path:%s fp=%p\n", __FUNCTION__, path , fp);
|
||||||
|
#ifdef set_fs
|
||||||
oldfs = get_fs();
|
oldfs = get_fs();
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0))
|
|
||||||
set_fs(KERNEL_DS);
|
set_fs(KERNEL_DS);
|
||||||
#else
|
|
||||||
set_fs(get_ds());
|
|
||||||
#endif
|
|
||||||
ret = writeFile(fp, buf, sz);
|
ret = writeFile(fp, buf, sz);
|
||||||
set_fs(oldfs);
|
set_fs(oldfs);
|
||||||
|
#else
|
||||||
|
ret = writeFile(fp, buf, sz);
|
||||||
|
#endif
|
||||||
closeFile(fp);
|
closeFile(fp);
|
||||||
|
|
||||||
RTW_INFO("%s writeFile, ret:%d\n", __FUNCTION__, ret);
|
RTW_INFO("%s writeFile, ret:%d\n", __FUNCTION__, ret);
|
||||||
|
Loading…
Reference in New Issue
Block a user