/* buffers the kernel will treat as user pointers */
__u32 ioc_plen1;
- char *ioc_pbuf1;
+ char __user *ioc_pbuf1;
__u32 ioc_plen2;
- char *ioc_pbuf2;
+ char __user *ioc_pbuf2;
/* inline buffers for various arguments */
__u32 ioc_inllen1;
__u32 ioc_version;
};
-static inline int obd_ioctl_packlen(struct obd_ioctl_data *data)
+static inline __u32 obd_ioctl_packlen(struct obd_ioctl_data *data)
{
- int len = cfs_size_round(sizeof(*data));
+ __u32 len = cfs_size_round(sizeof(*data));
len += cfs_size_round(data->ioc_inllen1);
len += cfs_size_round(data->ioc_inllen2);
#ifdef __KERNEL__
-int obd_ioctl_getdata(char **buf, int *len, void *arg);
-int obd_ioctl_popdata(void *arg, void *data, int len);
+int obd_ioctl_getdata(char **buf, int *len, void __user *arg);
+int obd_ioctl_popdata(void __user *arg, void *data, int len);
-static inline void obd_ioctl_freedata(char *buf, int len)
+static inline void obd_ioctl_freedata(char *buf, size_t len)
{
ENTRY;