staging/lustre: Properly mark obd_iocontrol argument as __user
Also update all methods and calls everywhere. Signed-off-by: Oleg Drokin <green@linuxhacker.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>hifive-unleashed-5.1
parent
44164fc992
commit
e09bee346e
|
@ -964,7 +964,7 @@ struct md_enqueue_info {
|
|||
struct obd_ops {
|
||||
struct module *owner;
|
||||
int (*iocontrol)(unsigned int cmd, struct obd_export *exp, int len,
|
||||
void *karg, void *uarg);
|
||||
void *karg, void __user *uarg);
|
||||
int (*get_info)(const struct lu_env *env, struct obd_export *,
|
||||
__u32 keylen, void *key, __u32 *vallen, void *val,
|
||||
struct lov_stripe_md *lsm);
|
||||
|
|
|
@ -1155,7 +1155,7 @@ static inline int obd_adjust_kms(struct obd_export *exp,
|
|||
}
|
||||
|
||||
static inline int obd_iocontrol(unsigned int cmd, struct obd_export *exp,
|
||||
int len, void *karg, void *uarg)
|
||||
int len, void *karg, void __user *uarg)
|
||||
{
|
||||
int rc;
|
||||
|
||||
|
|
|
@ -1724,7 +1724,8 @@ out_quotactl:
|
|||
return -EFAULT;
|
||||
return 0;
|
||||
case LL_IOC_GET_CONNECT_FLAGS: {
|
||||
return obd_iocontrol(cmd, sbi->ll_md_exp, 0, NULL, (void *)arg);
|
||||
return obd_iocontrol(cmd, sbi->ll_md_exp, 0, NULL,
|
||||
(void __user *)arg);
|
||||
}
|
||||
case OBD_IOC_CHANGELOG_SEND:
|
||||
case OBD_IOC_CHANGELOG_CLEAR:
|
||||
|
@ -1847,7 +1848,8 @@ out_quotactl:
|
|||
return rc;
|
||||
}
|
||||
default:
|
||||
return obd_iocontrol(cmd, sbi->ll_dt_exp, 0, NULL, (void *)arg);
|
||||
return obd_iocontrol(cmd, sbi->ll_dt_exp, 0, NULL,
|
||||
(void __user *)arg);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1518,7 +1518,7 @@ static int ll_lov_setstripe(struct inode *inode, struct file *file,
|
|||
ll_layout_refresh(inode, &gen);
|
||||
lsm = ccc_inode_lsm_get(inode);
|
||||
rc = obd_iocontrol(LL_IOC_LOV_GETSTRIPE, ll_i2dtexp(inode),
|
||||
0, lsm, (void *)arg);
|
||||
0, lsm, (void __user *)arg);
|
||||
ccc_inode_lsm_put(inode, lsm);
|
||||
}
|
||||
return rc;
|
||||
|
@ -1532,7 +1532,7 @@ static int ll_lov_getstripe(struct inode *inode, unsigned long arg)
|
|||
lsm = ccc_inode_lsm_get(inode);
|
||||
if (lsm != NULL)
|
||||
rc = obd_iocontrol(LL_IOC_LOV_GETSTRIPE, ll_i2dtexp(inode), 0,
|
||||
lsm, (void *)arg);
|
||||
lsm, (void __user *)arg);
|
||||
ccc_inode_lsm_put(inode, lsm);
|
||||
return rc;
|
||||
}
|
||||
|
@ -2497,7 +2497,7 @@ ll_file_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
|||
return err;
|
||||
|
||||
return obd_iocontrol(cmd, ll_i2dtexp(inode), 0, NULL,
|
||||
(void *)arg);
|
||||
(void __user *)arg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -876,7 +876,7 @@ static int lmv_hsm_ct_register(struct lmv_obd *lmv, unsigned int cmd, int len,
|
|||
}
|
||||
|
||||
static int lmv_iocontrol(unsigned int cmd, struct obd_export *exp,
|
||||
int len, void *karg, void *uarg)
|
||||
int len, void *karg, void __user *uarg)
|
||||
{
|
||||
struct obd_device *obddev = class_exp2obd(exp);
|
||||
struct lmv_obd *lmv = &obddev->u.lmv;
|
||||
|
|
|
@ -1385,7 +1385,7 @@ static int lov_statfs(const struct lu_env *env, struct obd_export *exp,
|
|||
}
|
||||
|
||||
static int lov_iocontrol(unsigned int cmd, struct obd_export *exp, int len,
|
||||
void *karg, void *uarg)
|
||||
void *karg, void __user *uarg)
|
||||
{
|
||||
struct obd_device *obddev = class_exp2obd(exp);
|
||||
struct lov_obd *lov = &obddev->u.lov;
|
||||
|
|
|
@ -1722,7 +1722,7 @@ static int mdc_ioc_swap_layouts(struct obd_export *exp,
|
|||
}
|
||||
|
||||
static int mdc_iocontrol(unsigned int cmd, struct obd_export *exp, int len,
|
||||
void *karg, void *uarg)
|
||||
void *karg, void __user *uarg)
|
||||
{
|
||||
struct obd_device *obd = exp->exp_obd;
|
||||
struct obd_ioctl_data *data = karg;
|
||||
|
|
|
@ -1619,7 +1619,7 @@ static int echo_client_brw_ioctl(const struct lu_env *env, int rw,
|
|||
|
||||
static int
|
||||
echo_client_iocontrol(unsigned int cmd, struct obd_export *exp, int len,
|
||||
void *karg, void *uarg)
|
||||
void *karg, void __user *uarg)
|
||||
{
|
||||
struct obd_device *obd = exp->exp_obd;
|
||||
struct echo_device *ed = obd2echo_dev(obd);
|
||||
|
|
|
@ -2591,7 +2591,7 @@ static int osc_getstripe(struct lov_stripe_md *lsm, struct lov_user_md *lump)
|
|||
}
|
||||
|
||||
static int osc_iocontrol(unsigned int cmd, struct obd_export *exp, int len,
|
||||
void *karg, void *uarg)
|
||||
void *karg, void __user *uarg)
|
||||
{
|
||||
struct obd_device *obd = exp->exp_obd;
|
||||
struct obd_ioctl_data *data = karg;
|
||||
|
|
Loading…
Reference in New Issue