Revert "ipa: Fix to match correct values after..."

This reverts commit bdbc1bf0a9.
This commit is contained in:
Goutam Bose 2021-08-05 19:32:42 +05:30
commit 56b50e9752

View file

@ -1026,9 +1026,8 @@ static int ipa3_ioctl_add_rt_rule_v2(unsigned long arg)
goto free_param_kptr;
}
/* user payload size */
usr_pyld_sz = sizeof(struct ipa_ioc_add_rt_rule_v2 ) +
((struct ipa_ioc_add_rt_rule_v2 *)
header)->rule_add_size * pre_entry;
usr_pyld_sz = ((struct ipa_ioc_add_rt_rule_v2 *)
header)->rule_add_size * pre_entry;
/* actual payload structure size in kernel */
pyld_sz = sizeof(struct ipa_rt_rule_add_i) * pre_entry;
uptr = ((struct ipa_ioc_add_rt_rule_v2 *)
@ -1039,7 +1038,7 @@ static int ipa3_ioctl_add_rt_rule_v2(unsigned long arg)
goto free_param_kptr;
}
/* alloc param with same payload size as user payload */
param = memdup_user((const void __user *)arg,
param = memdup_user((const void __user *)uptr,
usr_pyld_sz);
if (IS_ERR(param)) {
retval = -EFAULT;
@ -1071,7 +1070,7 @@ static int ipa3_ioctl_add_rt_rule_v2(unsigned long arg)
}
for (i = 0; i < pre_entry; i++)
memcpy(kptr + i * sizeof(struct ipa_rt_rule_add_i),
(void *)(((struct ipa_ioc_add_rt_rule_v2 *)param)->rules) + i *
(void *)param + i *
((struct ipa_ioc_add_rt_rule_v2 *)
header)->rule_add_size,
((struct ipa_ioc_add_rt_rule_v2 *)
@ -1086,13 +1085,13 @@ static int ipa3_ioctl_add_rt_rule_v2(unsigned long arg)
goto free_param_kptr;
}
for (i = 0; i < pre_entry; i++)
memcpy((void *)(((struct ipa_ioc_add_rt_rule_v2 *)param)->rules) + i *
memcpy((void *)param + i *
((struct ipa_ioc_add_rt_rule_v2 *)
header)->rule_add_size,
kptr + i * sizeof(struct ipa_rt_rule_add_i),
((struct ipa_ioc_add_rt_rule_v2 *)
header)->rule_add_size);
if (copy_to_user((void __user *)arg, param,
if (copy_to_user((void __user *)uptr, param,
usr_pyld_sz)) {
IPAERR_RL("copy_to_user fails\n");
retval = -EFAULT;
@ -1142,9 +1141,8 @@ static int ipa3_ioctl_add_rt_rule_ext_v2(unsigned long arg)
goto free_param_kptr;
}
/* user payload size */
usr_pyld_sz = sizeof(struct ipa_ioc_add_rt_rule_ext_v2 ) +
((struct ipa_ioc_add_rt_rule_ext_v2 *)
header)->rule_add_ext_size * pre_entry;
usr_pyld_sz = ((struct ipa_ioc_add_rt_rule_ext_v2 *)
header)->rule_add_ext_size * pre_entry;
/* actual payload structure size in kernel */
pyld_sz = sizeof(struct ipa_rt_rule_add_ext_i)
* pre_entry;
@ -1156,7 +1154,7 @@ static int ipa3_ioctl_add_rt_rule_ext_v2(unsigned long arg)
goto free_param_kptr;
}
/* alloc param with same payload size as user payload */
param = memdup_user((const void __user *)arg,
param = memdup_user((const void __user *)uptr,
usr_pyld_sz);
if (IS_ERR(param)) {
retval = -EFAULT;
@ -1189,7 +1187,7 @@ static int ipa3_ioctl_add_rt_rule_ext_v2(unsigned long arg)
for (i = 0; i < pre_entry; i++)
memcpy(kptr + i *
sizeof(struct ipa_rt_rule_add_ext_i),
(void *)(((struct ipa_ioc_add_rt_rule_ext_v2 *)param)->rules) + i *
(void *)param + i *
((struct ipa_ioc_add_rt_rule_ext_v2 *)
header)->rule_add_ext_size,
((struct ipa_ioc_add_rt_rule_ext_v2 *)
@ -1204,14 +1202,14 @@ static int ipa3_ioctl_add_rt_rule_ext_v2(unsigned long arg)
goto free_param_kptr;
}
for (i = 0; i < pre_entry; i++)
memcpy((void *)(((struct ipa_ioc_add_rt_rule_ext_v2 *)param)->rules) + i *
memcpy((void *)param + i *
((struct ipa_ioc_add_rt_rule_ext_v2 *)
header)->rule_add_ext_size,
kptr + i *
sizeof(struct ipa_rt_rule_add_ext_i),
((struct ipa_ioc_add_rt_rule_ext_v2 *)
header)->rule_add_ext_size);
if (copy_to_user((void __user *)arg, param,
if (copy_to_user((void __user *)uptr, param,
usr_pyld_sz)) {
IPAERR_RL("copy_to_user fails\n");
retval = -EFAULT;
@ -1260,9 +1258,8 @@ static int ipa3_ioctl_add_rt_rule_after_v2(unsigned long arg)
goto free_param_kptr;
}
/* user payload size */
usr_pyld_sz = sizeof(struct ipa_ioc_add_rt_rule_after_v2) +
((struct ipa_ioc_add_rt_rule_after_v2 *)
header)->rule_add_size * pre_entry;
usr_pyld_sz = ((struct ipa_ioc_add_rt_rule_after_v2 *)
header)->rule_add_size * pre_entry;
/* actual payload structure size in kernel */
pyld_sz = sizeof(struct ipa_rt_rule_add_i)
* pre_entry;
@ -1274,7 +1271,7 @@ static int ipa3_ioctl_add_rt_rule_after_v2(unsigned long arg)
goto free_param_kptr;
}
/* alloc param with same payload size as user payload */
param = memdup_user((const void __user *)arg,
param = memdup_user((const void __user *)uptr,
usr_pyld_sz);
if (IS_ERR(param)) {
retval = -EFAULT;
@ -1305,7 +1302,7 @@ static int ipa3_ioctl_add_rt_rule_after_v2(unsigned long arg)
}
for (i = 0; i < pre_entry; i++)
memcpy(kptr + i * sizeof(struct ipa_rt_rule_add_i),
(void *)(((struct ipa_ioc_add_rt_rule_after_v2 *)param)->rules) + i *
(void *)param + i *
((struct ipa_ioc_add_rt_rule_after_v2 *)
header)->rule_add_size,
((struct ipa_ioc_add_rt_rule_after_v2 *)
@ -1320,13 +1317,13 @@ static int ipa3_ioctl_add_rt_rule_after_v2(unsigned long arg)
goto free_param_kptr;
}
for (i = 0; i < pre_entry; i++)
memcpy((void *)(((struct ipa_ioc_add_rt_rule_after_v2 *)param)->rules) + i *
memcpy((void *)param + i *
((struct ipa_ioc_add_rt_rule_after_v2 *)
header)->rule_add_size,
kptr + i * sizeof(struct ipa_rt_rule_add_i),
((struct ipa_ioc_add_rt_rule_after_v2 *)
header)->rule_add_size);
if (copy_to_user((void __user *)arg, param,
if (copy_to_user((void __user *)uptr, param,
usr_pyld_sz)) {
IPAERR_RL("copy_to_user fails\n");
retval = -EFAULT;
@ -1375,9 +1372,8 @@ static int ipa3_ioctl_mdfy_rt_rule_v2(unsigned long arg)
goto free_param_kptr;
}
/* user payload size */
usr_pyld_sz = sizeof(struct ipa_ioc_mdfy_rt_rule_v2) +
((struct ipa_ioc_mdfy_rt_rule_v2 *)
header)->rule_mdfy_size * pre_entry;
usr_pyld_sz = ((struct ipa_ioc_mdfy_rt_rule_v2 *)
header)->rule_mdfy_size * pre_entry;
/* actual payload structure size in kernel */
pyld_sz = sizeof(struct ipa_rt_rule_mdfy_i)
* pre_entry;
@ -1389,7 +1385,7 @@ static int ipa3_ioctl_mdfy_rt_rule_v2(unsigned long arg)
goto free_param_kptr;
}
/* alloc param with same payload size as user payload */
param = memdup_user((const void __user *)arg,
param = memdup_user((const void __user *)uptr,
usr_pyld_sz);
if (IS_ERR(param)) {
retval = -EFAULT;
@ -1420,7 +1416,7 @@ static int ipa3_ioctl_mdfy_rt_rule_v2(unsigned long arg)
}
for (i = 0; i < pre_entry; i++)
memcpy(kptr + i * sizeof(struct ipa_rt_rule_mdfy_i),
(void *)(((struct ipa_ioc_mdfy_rt_rule_v2 *)param)->rules) + i *
(void *)param + i *
((struct ipa_ioc_mdfy_rt_rule_v2 *)
header)->rule_mdfy_size,
((struct ipa_ioc_mdfy_rt_rule_v2 *)
@ -1435,13 +1431,13 @@ static int ipa3_ioctl_mdfy_rt_rule_v2(unsigned long arg)
goto free_param_kptr;
}
for (i = 0; i < pre_entry; i++)
memcpy((void *)(((struct ipa_ioc_mdfy_rt_rule_v2 *)param)->rules) + i *
memcpy((void *)param + i *
((struct ipa_ioc_mdfy_rt_rule_v2 *)
header)->rule_mdfy_size,
kptr + i * sizeof(struct ipa_rt_rule_mdfy_i),
((struct ipa_ioc_mdfy_rt_rule_v2 *)
header)->rule_mdfy_size);
if (copy_to_user((void __user *)arg, param,
if (copy_to_user((void __user *)uptr, param,
usr_pyld_sz)) {
IPAERR_RL("copy_to_user fails\n");
retval = -EFAULT;
@ -1489,9 +1485,8 @@ static int ipa3_ioctl_add_flt_rule_v2(unsigned long arg)
goto free_param_kptr;
}
/* user payload size */
usr_pyld_sz = sizeof(struct ipa_ioc_add_flt_rule_v2) +
((struct ipa_ioc_add_flt_rule_v2 *)
header)->flt_rule_size * pre_entry;
usr_pyld_sz = ((struct ipa_ioc_add_flt_rule_v2 *)
header)->flt_rule_size * pre_entry;
/* actual payload structure size in kernel */
pyld_sz = sizeof(struct ipa_flt_rule_add_i)
* pre_entry;
@ -1503,7 +1498,7 @@ static int ipa3_ioctl_add_flt_rule_v2(unsigned long arg)
goto free_param_kptr;
}
/* alloc param with same payload size as user payload */
param = memdup_user((const void __user *)arg,
param = memdup_user((const void __user *)uptr,
usr_pyld_sz);
if (IS_ERR(param)) {
retval = -EFAULT;
@ -1534,7 +1529,7 @@ static int ipa3_ioctl_add_flt_rule_v2(unsigned long arg)
}
for (i = 0; i < pre_entry; i++)
memcpy(kptr + i * sizeof(struct ipa_flt_rule_add_i),
(void *)(((struct ipa_ioc_add_flt_rule_v2 *)param)->rules) + i *
(void *)param + i *
((struct ipa_ioc_add_flt_rule_v2 *)
header)->flt_rule_size,
((struct ipa_ioc_add_flt_rule_v2 *)
@ -1549,13 +1544,13 @@ static int ipa3_ioctl_add_flt_rule_v2(unsigned long arg)
goto free_param_kptr;
}
for (i = 0; i < pre_entry; i++)
memcpy((void *)(((struct ipa_ioc_add_flt_rule_v2 *)param)->rules) + i *
memcpy((void *)param + i *
((struct ipa_ioc_add_flt_rule_v2 *)
header)->flt_rule_size,
kptr + i * sizeof(struct ipa_flt_rule_add_i),
((struct ipa_ioc_add_flt_rule_v2 *)
header)->flt_rule_size);
if (copy_to_user((void __user *)arg, param,
if (copy_to_user((void __user *)uptr, param,
usr_pyld_sz)) {
IPAERR_RL("copy_to_user fails\n");
retval = -EFAULT;
@ -1603,9 +1598,8 @@ static int ipa3_ioctl_add_flt_rule_after_v2(unsigned long arg)
goto free_param_kptr;
}
/* user payload size */
usr_pyld_sz = sizeof(struct ipa_ioc_add_flt_rule_after_v2) +
((struct ipa_ioc_add_flt_rule_after_v2 *)
header)->flt_rule_size * pre_entry;
usr_pyld_sz = ((struct ipa_ioc_add_flt_rule_after_v2 *)
header)->flt_rule_size * pre_entry;
/* actual payload structure size in kernel */
pyld_sz = sizeof(struct ipa_flt_rule_add_i)
* pre_entry;
@ -1617,7 +1611,7 @@ static int ipa3_ioctl_add_flt_rule_after_v2(unsigned long arg)
goto free_param_kptr;
}
/* alloc param with same payload size as user payload */
param = memdup_user((const void __user *)arg,
param = memdup_user((const void __user *)uptr,
usr_pyld_sz);
if (IS_ERR(param)) {
retval = -EFAULT;
@ -1648,7 +1642,7 @@ static int ipa3_ioctl_add_flt_rule_after_v2(unsigned long arg)
}
for (i = 0; i < pre_entry; i++)
memcpy(kptr + i * sizeof(struct ipa_flt_rule_add_i),
(void *)(((struct ipa_ioc_add_rt_rule_after_v2 *)param)->rules) + i *
(void *)param + i *
((struct ipa_ioc_add_flt_rule_after_v2 *)
header)->flt_rule_size,
((struct ipa_ioc_add_flt_rule_after_v2 *)
@ -1663,13 +1657,13 @@ static int ipa3_ioctl_add_flt_rule_after_v2(unsigned long arg)
goto free_param_kptr;
}
for (i = 0; i < pre_entry; i++)
memcpy((void *)(((struct ipa_ioc_add_rt_rule_after_v2 *)param)->rules) + i *
memcpy((void *)param + i *
((struct ipa_ioc_add_flt_rule_after_v2 *)
header)->flt_rule_size,
kptr + i * sizeof(struct ipa_flt_rule_add_i),
((struct ipa_ioc_add_flt_rule_after_v2 *)
header)->flt_rule_size);
if (copy_to_user((void __user *)arg, param,
if (copy_to_user((void __user *)uptr, param,
usr_pyld_sz)) {
IPAERR_RL("copy_to_user fails\n");
retval = -EFAULT;
@ -1718,9 +1712,8 @@ static int ipa3_ioctl_mdfy_flt_rule_v2(unsigned long arg)
goto free_param_kptr;
}
/* user payload size */
usr_pyld_sz = sizeof(struct ipa_ioc_mdfy_flt_rule_v2) +
((struct ipa_ioc_mdfy_flt_rule_v2 *)
header)->rule_mdfy_size * pre_entry;
usr_pyld_sz = ((struct ipa_ioc_mdfy_flt_rule_v2 *)
header)->rule_mdfy_size * pre_entry;
/* actual payload structure size in kernel */
pyld_sz = sizeof(struct ipa_flt_rule_mdfy_i)
* pre_entry;
@ -1732,7 +1725,7 @@ static int ipa3_ioctl_mdfy_flt_rule_v2(unsigned long arg)
goto free_param_kptr;
}
/* alloc param with same payload size as user payload */
param = memdup_user((const void __user *)arg,
param = memdup_user((const void __user *)uptr,
usr_pyld_sz);
if (IS_ERR(param)) {
retval = -EFAULT;
@ -1763,7 +1756,7 @@ static int ipa3_ioctl_mdfy_flt_rule_v2(unsigned long arg)
}
for (i = 0; i < pre_entry; i++)
memcpy(kptr + i * sizeof(struct ipa_flt_rule_mdfy_i),
(void *)(((struct ipa_ioc_mdfy_flt_rule_v2 *)param)->rules) + i *
(void *)param + i *
((struct ipa_ioc_mdfy_flt_rule_v2 *)
header)->rule_mdfy_size,
((struct ipa_ioc_mdfy_flt_rule_v2 *)
@ -1778,13 +1771,13 @@ static int ipa3_ioctl_mdfy_flt_rule_v2(unsigned long arg)
goto free_param_kptr;
}
for (i = 0; i < pre_entry; i++)
memcpy((void *)(((struct ipa_ioc_mdfy_flt_rule_v2 *)param)->rules) + i *
memcpy((void *)param + i *
((struct ipa_ioc_mdfy_flt_rule_v2 *)
header)->rule_mdfy_size,
kptr + i * sizeof(struct ipa_flt_rule_mdfy_i),
((struct ipa_ioc_mdfy_flt_rule_v2 *)
header)->rule_mdfy_size);
if (copy_to_user((void __user *)arg, param,
if (copy_to_user((void __user *)uptr, param,
usr_pyld_sz)) {
IPAERR_RL("copy_to_user fails\n");
retval = -EFAULT;