set_fs (KERNEL_DS);
err = sys_ioctl(fd, cmd, (unsigned long)&val);
set_fs (old_fs);
- if (!err && put_user(val, (u32 *)compat_ptr(arg)))
+ if (!err && put_user(val, (u32 __user *)compat_ptr(arg)))
return -EFAULT;
return err;
}
static int rw_long(unsigned int fd, unsigned int cmd, unsigned long arg)
{
mm_segment_t old_fs = get_fs();
- u32 *argptr = compat_ptr(arg);
+ u32 __user *argptr = compat_ptr(arg);
int err;
unsigned long val;
u16 mode, signal;
};
-static int get_video_tuner32(struct video_tuner *kp, struct video_tuner32 *up)
+static int get_video_tuner32(struct video_tuner *kp, struct video_tuner32 __user *up)
{
int i;
return 0;
}
-static int put_video_tuner32(struct video_tuner *kp, struct video_tuner32 *up)
+static int put_video_tuner32(struct video_tuner *kp, struct video_tuner32 __user *up)
{
int i;
compat_int_t height, width, depth, bytesperline;
};
-static int get_video_buffer32(struct video_buffer *kp, struct video_buffer32 *up)
+static int get_video_buffer32(struct video_buffer *kp, struct video_buffer32 __user *up)
{
u32 tmp;
return 0;
}
-static int put_video_buffer32(struct video_buffer *kp, struct video_buffer32 *up)
+static int put_video_buffer32(struct video_buffer *kp, struct video_buffer32 __user *up)
{
u32 tmp = (u32)((unsigned long)kp->base);
kfree(cp);
}
-static int get_video_window32(struct video_window *kp, struct video_window32 *up)
+static int get_video_window32(struct video_window *kp, struct video_window32 __user *up)
{
- struct video_clip32 *ucp;
+ struct video_clip32 __user *ucp;
struct video_clip *kcp;
int nclips, err, i;
u32 tmp;
}
/* You get back everything except the clips... */
-static int put_video_window32(struct video_window *kp, struct video_window32 *up)
+static int put_video_window32(struct video_window *kp, struct video_window32 __user *up)
{
if(put_user(kp->x, &up->x))
return -EFAULT;
unsigned long vx;
} karg;
mm_segment_t old_fs = get_fs();
- void *up = compat_ptr(arg);
+ void __user *up = compat_ptr(arg);
int err = 0;
/* First, convert the command. */
break;
case VIDIOCSFREQ:
- err = get_user(karg.vx, (u32 *)up);
+ err = get_user(karg.vx, (u32 __user *)up);
break;
};
if(err)
break;
case VIDIOCGFREQ:
- err = put_user(((u32)karg.vx), (u32 *)up);
+ err = put_user(((u32)karg.vx), (u32 __user *)up);
break;
};
}
static int do_siocgstamp(unsigned int fd, unsigned int cmd, unsigned long arg)
{
- struct compat_timeval *up = compat_ptr(arg);
+ struct compat_timeval __user *up = compat_ptr(arg);
struct timeval ktv;
mm_segment_t old_fs = get_fs();
int err;
static int bond_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg)
{
struct ifreq kifr;
- struct ifreq *uifr;
- struct ifreq32 *ifr32 = compat_ptr(arg);
+ struct ifreq __user *uifr;
+ struct ifreq32 __user *ifr32 = compat_ptr(arg);
mm_segment_t old_fs;
int err;
u32 data;
- void *datap;
+ void __user *datap;
switch (cmd) {
case SIOCBONDENSLAVE:
int siocdevprivate_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg)
{
- struct ifreq *u_ifreq64;
- struct ifreq32 *u_ifreq32 = compat_ptr(arg);
+ struct ifreq __user *u_ifreq64;
+ struct ifreq32 __user *u_ifreq32 = compat_ptr(arg);
char tmp_buf[IFNAMSIZ];
- void *data64;
+ void __user *data64;
u32 data32;
if (copy_from_user(&tmp_buf[0], &(u_ifreq32->ifr_ifrn.ifrn_name[0]),
static int dev_ifsioc(unsigned int fd, unsigned int cmd, unsigned long arg)
{
struct ifreq ifr;
- struct ifreq32 *uifr32;
- struct ifmap32 *uifmap32;
+ struct ifreq32 __user *uifr32;
+ struct ifmap32 __user *uifmap32;
mm_segment_t old_fs;
int err;
struct socket *mysock = sockfd_lookup(fd, &ret);
if (mysock && mysock->sk && mysock->sk->sk_family == AF_INET6) { /* ipv6 */
- struct in6_rtmsg32 *ur6 = compat_ptr(arg);
+ struct in6_rtmsg32 __user *ur6 = compat_ptr(arg);
ret = copy_from_user (&r6.rtmsg_dst, &(ur6->rtmsg_dst),
3 * sizeof(struct in6_addr));
ret |= __get_user (r6.rtmsg_type, &(ur6->rtmsg_type));
r = (void *) &r6;
} else { /* ipv4 */
- struct rtentry32 *ur4 = compat_ptr(arg);
+ struct rtentry32 __user *ur4 = compat_ptr(arg);
ret = copy_from_user (&r4.rt_dst, &(ur4->rt_dst),
3 * sizeof(struct sockaddr));
ret |= __get_user (r4.rt_flags, &(ur4->rt_flags));
{
mm_segment_t old_fs = get_fs();
struct hd_geometry geo;
- struct hd_geometry32 *ugeo;
+ struct hd_geometry32 __user *ugeo;
int err;
set_fs (KERNEL_DS);
}
static int do_fscreeninfo_to_user(struct fb_fix_screeninfo *fix,
- struct fb_fix_screeninfo32 *fix32)
+ struct fb_fix_screeninfo32 __user *fix32)
{
__u32 data;
int err;
{
mm_segment_t old_fs;
struct fb_fix_screeninfo fix;
- struct fb_fix_screeninfo32 *fix32;
+ struct fb_fix_screeninfo32 __user *fix32;
int err;
fix32 = compat_ptr(arg);
{
mm_segment_t old_fs = get_fs();
unsigned long kval;
- unsigned int *uvp;
+ unsigned int __user *uvp;
int error;
set_fs(KERNEL_DS);
compat_uint_t iov_len;
} sg_iovec32_t;
-static int sg_build_iovec(sg_io_hdr_t *sgio, void *dxferp, u16 iovec_count)
+static int sg_build_iovec(sg_io_hdr_t __user *sgio, void __user *dxferp, u16 iovec_count)
{
- sg_iovec_t *iov = (sg_iovec_t *) (sgio + 1);
- sg_iovec32_t *iov32 = dxferp;
+ sg_iovec_t __user *iov = (sg_iovec_t __user *) (sgio + 1);
+ sg_iovec32_t __user *iov32 = dxferp;
int i;
for (i = 0; i < iovec_count; i++) {
return -EFAULT;
}
- sgio->dxferp = iov; /* FIXME: dereferencing user pointer? */
+ if (put_user(iov, &sgio->dxferp))
+ return -EFAULT;
return 0;
}
static int sg_ioctl_trans(unsigned int fd, unsigned int cmd, unsigned long arg)
{
- sg_io_hdr_t *sgio;
- sg_io_hdr32_t *sgio32;
+ sg_io_hdr_t __user *sgio;
+ sg_io_hdr32_t __user *sgio32;
u16 iovec_count;
u32 data;
- void *dxferp;
+ void __user *dxferp;
int err;
sgio32 = compat_ptr(arg);
return -EFAULT;
{
- void *new, *top;
-
- top = compat_alloc_user_space(0);
- new = compat_alloc_user_space(sizeof(sg_io_hdr_t) +
- (iovec_count *
- sizeof(sg_iovec_t)));
+ void __user *top = compat_alloc_user_space(0);
+ void __user *new = compat_alloc_user_space(sizeof(sg_io_hdr_t) +
+ (iovec_count * sizeof(sg_iovec_t)));
if (new > top)
return -EINVAL;
}
{
- unsigned char *cmdp, *sbp;
+ unsigned char __user *cmdp;
+ unsigned char __user *sbp;
if (get_user(data, &sgio32->cmdp))
return -EFAULT;
err = sys_ioctl(fd, cmd, (unsigned long) sgio);
if (err >= 0) {
- void *datap;
+ void __user *datap;
if (copy_in_user(&sgio32->pack_id, &sgio->pack_id,
sizeof(int)) ||
static int ppp_sock_fprog_ioctl_trans(unsigned int fd, unsigned int cmd, unsigned long arg)
{
- struct sock_fprog32 *u_fprog32 = compat_ptr(arg);
- struct sock_fprog *u_fprog64 = compat_alloc_user_space(sizeof(struct sock_fprog));
- void *fptr64;
+ struct sock_fprog32 __user *u_fprog32 = compat_ptr(arg);
+ struct sock_fprog __user *u_fprog64 = compat_alloc_user_space(sizeof(struct sock_fprog));
+ void __user *fptr64;
u32 fptr32;
u16 flen;
static int ppp_gidle(unsigned int fd, unsigned int cmd, unsigned long arg)
{
- struct ppp_idle *idle;
- struct ppp_idle32 *idle32;
+ struct ppp_idle __user *idle;
+ struct ppp_idle32 __user *idle32;
__kernel_time_t xmit, recv;
int err;
static int ppp_scompress(unsigned int fd, unsigned int cmd, unsigned long arg)
{
- struct ppp_option_data *odata;
- struct ppp_option_data32 *odata32;
+ struct ppp_option_data __user *odata;
+ struct ppp_option_data32 __user *odata32;
__u32 data;
- void *datap;
+ void __user *datap;
odata = compat_alloc_user_space(sizeof(*odata));
odata32 = compat_ptr(arg);
{
mm_segment_t old_fs = get_fs();
struct mtconfiginfo info;
- struct mtconfiginfo32 *uinfo32;
+ struct mtconfiginfo32 __user *uinfo32;
struct mtget get;
- struct mtget32 *umget32;
+ struct mtget32 __user *umget32;
struct mtpos pos;
- struct mtpos32 *upos32;
+ struct mtpos32 __user *upos32;
unsigned long kcmd;
void *karg;
int err = 0;
err |= __get_user(info.debug, &uinfo32->debug);
err |= __copy_from_user((char *)&info.debug
+ sizeof(info.debug),
- (char *)&uinfo32->debug
+ (char __user *)&uinfo32->debug
+ sizeof(uinfo32->debug), sizeof(__u32));
if (err)
return -EFAULT;
err |= __put_user(info.dmanr, &uinfo32->dmanr);
err |= __put_user(info.port, &uinfo32->port);
err |= __put_user(info.debug, &uinfo32->debug);
- err |= __copy_to_user((char *)&uinfo32->debug
+ err |= __copy_to_user((char __user *)&uinfo32->debug
+ sizeof(uinfo32->debug),
(char *)&info.debug + sizeof(info.debug), sizeof(__u32));
break;
static int cdrom_do_read_audio(unsigned int fd, unsigned int cmd, unsigned long arg)
{
- struct cdrom_read_audio *cdread_audio;
- struct cdrom_read_audio32 *cdread_audio32;
+ struct cdrom_read_audio __user *cdread_audio;
+ struct cdrom_read_audio32 __user *cdread_audio32;
__u32 data;
- void *datap;
+ void __user *datap;
cdread_audio = compat_alloc_user_space(sizeof(*cdread_audio));
cdread_audio32 = compat_ptr(arg);
{
mm_segment_t old_fs = get_fs();
struct loop_info l;
- struct loop_info32 *ul;
+ struct loop_info32 __user *ul;
int err = -EINVAL;
ul = compat_ptr(arg);
static int do_kdfontop_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg, struct file *file)
{
struct console_font_op op;
- struct console_font_op32 *fontop = compat_ptr(arg);
+ struct console_font_op32 __user *fontop = compat_ptr(arg);
int perm = vt_check(file), i;
struct vt_struct *vt;
if (perm < 0) return perm;
- if (copy_from_user(&op, (void *) fontop, sizeof(struct console_font_op32)))
+ if (copy_from_user(&op, fontop, sizeof(struct console_font_op32)))
return -EFAULT;
if (!perm && op.op != KD_FONT_OP_GET)
return -EPERM;
i = con_font_op(vt->vc_num, &op);
if (i) return i;
((struct console_font_op32 *)&op)->data = (unsigned long)op.data;
- if (copy_to_user((void *) fontop, &op, sizeof(struct console_font_op32)))
+ if (copy_to_user(fontop, &op, sizeof(struct console_font_op32)))
return -EFAULT;
return 0;
}
static int do_unimap_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg, struct file *file)
{
struct unimapdesc32 tmp;
- struct unimapdesc32 *user_ud = compat_ptr(arg);
+ struct unimapdesc32 __user *user_ud = compat_ptr(arg);
int perm = vt_check(file);
if (perm < 0) return perm;
set_fs(old_fs);
if (err >= 0)
- err = put_user(kuid, (compat_uid_t *)compat_ptr(arg));
+ err = put_user(kuid, (compat_uid_t __user *)compat_ptr(arg));
return err;
}
static int do_atm_iobuf(unsigned int fd, unsigned int cmd, unsigned long arg)
{
- struct atm_iobuf *iobuf;
- struct atm_iobuf32 *iobuf32;
+ struct atm_iobuf __user *iobuf;
+ struct atm_iobuf32 __user *iobuf32;
u32 data;
- void *datap;
+ void __user *datap;
int len, err;
iobuf = compat_alloc_user_space(sizeof(*iobuf));
static int do_atmif_sioc(unsigned int fd, unsigned int cmd, unsigned long arg)
{
- struct atmif_sioc *sioc;
- struct atmif_sioc32 *sioc32;
+ struct atmif_sioc __user *sioc;
+ struct atmif_sioc32 __user *sioc32;
u32 data;
- void *datap;
+ void __user *datap;
int err;
sioc = compat_alloc_user_space(sizeof(*sioc));
case FDGETPRM32:
{
compat_uptr_t name;
- struct floppy_struct32 *uf;
+ struct floppy_struct32 __user *uf;
struct floppy_struct *f;
uf = compat_ptr(arg);
case FDSETDRVPRM32:
case FDGETDRVPRM32:
{
- struct floppy_drive_params32 *uf;
+ struct floppy_drive_params32 __user *uf;
struct floppy_drive_params *f;
uf = compat_ptr(arg);
case FDGETPRM32:
{
struct floppy_struct *f = karg;
+ struct floppy_struct32 __user *uf = compat_ptr(arg);
- err = __put_user(f->size, &((struct floppy_struct32 *)arg)->size);
- err |= __put_user(f->sect, &((struct floppy_struct32 *)arg)->sect);
- err |= __put_user(f->head, &((struct floppy_struct32 *)arg)->head);
- err |= __put_user(f->track, &((struct floppy_struct32 *)arg)->track);
- err |= __put_user(f->stretch, &((struct floppy_struct32 *)arg)->stretch);
- err |= __put_user(f->gap, &((struct floppy_struct32 *)arg)->gap);
- err |= __put_user(f->rate, &((struct floppy_struct32 *)arg)->rate);
- err |= __put_user(f->spec1, &((struct floppy_struct32 *)arg)->spec1);
- err |= __put_user(f->fmt_gap, &((struct floppy_struct32 *)arg)->fmt_gap);
- err |= __put_user((u64)f->name, (compat_caddr_t*)&((struct floppy_struct32 *)arg)->name);
+ err = __put_user(f->size, &uf->size);
+ err |= __put_user(f->sect, &uf->sect);
+ err |= __put_user(f->head, &uf->head);
+ err |= __put_user(f->track, &uf->track);
+ err |= __put_user(f->stretch, &uf->stretch);
+ err |= __put_user(f->gap, &uf->gap);
+ err |= __put_user(f->rate, &uf->rate);
+ err |= __put_user(f->spec1, &uf->spec1);
+ err |= __put_user(f->fmt_gap, &uf->fmt_gap);
+ err |= __put_user((u64)f->name, (compat_caddr_t __user *)&uf->name);
break;
}
case FDGETDRVPRM32:
{
- struct floppy_drive_params32 *uf;
+ struct floppy_drive_params32 __user *uf;
struct floppy_drive_params *f = karg;
uf = compat_ptr(arg);
case FDGETDRVSTAT32:
case FDPOLLDRVSTAT32:
{
- struct floppy_drive_struct32 *uf;
+ struct floppy_drive_struct32 __user *uf;
struct floppy_drive_struct *f = karg;
uf = compat_ptr(arg);
}
case FDGETFDCSTAT32:
{
- struct floppy_fdc_state32 *uf;
+ struct floppy_fdc_state32 __user *uf;
struct floppy_fdc_state *f = karg;
uf = compat_ptr(arg);
err |= __put_user(f->version, &uf->version);
err |= __put_user(f->dor, &uf->dor);
err |= __put_user(f->address, &uf->address);
- err |= __copy_to_user((char *)&uf->address + sizeof(uf->address),
+ err |= __copy_to_user((char __user *)&uf->address + sizeof(uf->address),
(char *)&f->address + sizeof(f->address), sizeof(int));
err |= __put_user(f->driver_version, &uf->driver_version);
err |= __copy_to_user(uf->track, f->track, sizeof(f->track));
}
case FDWERRORGET32:
{
- struct floppy_write_errors32 *uf;
+ struct floppy_write_errors32 __user *uf;
struct floppy_write_errors *f = karg;
uf = compat_ptr(arg);
static int mtd_rw_oob(unsigned int fd, unsigned int cmd, unsigned long arg)
{
- struct mtd_oob_buf *buf = compat_alloc_user_space(sizeof(*buf));
- struct mtd_oob_buf32 *buf32 = compat_ptr(arg);
+ struct mtd_oob_buf __user *buf = compat_alloc_user_space(sizeof(*buf));
+ struct mtd_oob_buf32 __user *buf32 = compat_ptr(arg);
u32 data;
- char *datap;
+ char __user *datap;
unsigned int real_cmd;
int err;
#define VFAT_IOCTL_READDIR_SHORT32 _IOR('r', 2, struct compat_dirent[2])
static long
-put_dirent32 (struct dirent *d, struct compat_dirent *d32)
+put_dirent32 (struct dirent *d, struct compat_dirent __user *d32)
{
int ret;
static int vfat_ioctl32(unsigned fd, unsigned cmd, unsigned long arg)
{
+ struct compat_dirent __user *p = compat_ptr(arg);
int ret;
mm_segment_t oldfs = get_fs();
struct dirent d[2];
ret = sys_ioctl(fd,cmd,(unsigned long)&d);
set_fs(oldfs);
if (ret >= 0) {
- ret |= put_dirent32(&d[0], (struct compat_dirent *)compat_ptr(arg));
- ret |= put_dirent32(&d[1], ((struct compat_dirent *)compat_ptr(arg)) + 1);
+ ret |= put_dirent32(&d[0], p);
+ ret |= put_dirent32(&d[1], p + 1);
}
return ret;
}
{
typedef struct serial_struct SS;
typedef struct serial_struct32 SS32;
- struct serial_struct32 *ss32 = compat_ptr(arg);
+ struct serial_struct32 __user *ss32 = compat_ptr(arg);
int err;
struct serial_struct ss;
mm_segment_t oldseg = get_fs();
static int do_usbdevfs_control(unsigned int fd, unsigned int cmd, unsigned long arg)
{
struct usbdevfs_ctrltransfer kctrl;
- struct usbdevfs_ctrltransfer32 *uctrl;
+ struct usbdevfs_ctrltransfer32 __user *uctrl;
mm_segment_t old_fs;
__u32 udata;
- void *uptr, *kptr;
+ void __user *uptr;
+ void *kptr;
int err;
uctrl = compat_ptr(arg);
static int do_usbdevfs_bulk(unsigned int fd, unsigned int cmd, unsigned long arg)
{
struct usbdevfs_bulktransfer kbulk;
- struct usbdevfs_bulktransfer32 *ubulk;
+ struct usbdevfs_bulktransfer32 __user *ubulk;
mm_segment_t old_fs;
__u32 udata;
- void *uptr, *kptr;
+ void __user *uptr;
+ void *kptr;
int err;
ubulk = compat_ptr(arg);
set_fs(old_fs);
if (err >= 0 &&
- put_user((u32)(u64)kptr, (u32 *)compat_ptr(arg)))
+ put_user((u32)(u64)kptr, (u32 __user *)compat_ptr(arg)))
err = -EFAULT;
return err;
static int do_usbdevfs_discsignal(unsigned int fd, unsigned int cmd, unsigned long arg)
{
struct usbdevfs_disconnectsignal kdis;
- struct usbdevfs_disconnectsignal32 *udis;
+ struct usbdevfs_disconnectsignal32 __user *udis;
mm_segment_t old_fs;
u32 uctx;
int err;
static int do_i2c_rdwr_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg)
{
- struct i2c_rdwr_ioctl_data *tdata;
- struct i2c_rdwr_ioctl_data32 *udata;
- struct i2c_msg *tmsgs;
- struct i2c_msg32 *umsgs;
+ struct i2c_rdwr_ioctl_data __user *tdata;
+ struct i2c_rdwr_ioctl_data32 __user *udata;
+ struct i2c_msg __user *tmsgs;
+ struct i2c_msg32 __user *umsgs;
compat_caddr_t datap;
int nmsgs, i;
if (verify_area(VERIFY_WRITE, tdata, sizeof(*tdata)))
return -EFAULT;
- udata = (struct i2c_rdwr_ioctl_data32 *)compat_ptr(arg);
+ udata = compat_ptr(arg);
if (verify_area(VERIFY_READ, udata, sizeof(*udata)))
return -EFAULT;
if (__get_user(nmsgs, &udata->nmsgs) || __put_user(nmsgs, &tdata->nmsgs))
return -EINVAL;
if (__get_user(datap, &udata->msgs))
return -EFAULT;
- umsgs = (struct i2c_msg32 *)compat_ptr(datap);
+ umsgs = compat_ptr(datap);
if (verify_area(VERIFY_READ, umsgs, sizeof(struct i2c_msg) * nmsgs))
return -EFAULT;
static int do_i2c_smbus_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg)
{
- struct i2c_smbus_ioctl_data *tdata;
- struct i2c_smbus_ioctl_data32 *udata;
+ struct i2c_smbus_ioctl_data __user *tdata;
+ struct i2c_smbus_ioctl_data32 __user *udata;
compat_caddr_t datap;
tdata = compat_alloc_user_space(sizeof(*tdata));
if (verify_area(VERIFY_WRITE, tdata, sizeof(*tdata)))
return -EFAULT;
- udata = (struct i2c_smbus_ioctl_data32 *)compat_ptr(arg);
+ udata = compat_ptr(arg);
if (verify_area(VERIFY_READ, udata, sizeof(*udata)))
return -EFAULT;
static int do_wireless_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg)
{
- struct iwreq *iwr, *iwr_u;
- struct iw_point *iwp;
- struct compat_iw_point *iwp_u;
+ struct iwreq __user *iwr;
+ struct iwreq __user *iwr_u;
+ struct iw_point __user *iwp;
+ struct compat_iw_point __user *iwp_u;
compat_caddr_t pointer;
__u16 length, flags;
- iwr_u = (struct iwreq *) compat_ptr(arg);
- iwp_u = (struct compat_iw_point *) &iwr_u->u.data;
+ iwr_u = compat_ptr(arg);
+ iwp_u = (struct compat_iw_point __user *) &iwr_u->u.data;
iwr = compat_alloc_user_space(sizeof(*iwr));
if (iwr == NULL)
return -ENOMEM;
{
u32 tmp;
- if (get_user(tmp, (u32 *) arg))
+ if (get_user(tmp, (u32 __user *) arg))
return -EFAULT;
if (tmp == BRCTL_GET_VERSION)
return BRCTL_VERSION + 1;
static int do_ncp_ncprequest(unsigned int fd, unsigned int cmd, unsigned long arg)
{
struct ncp_ioctl_request_32 n32;
- struct ncp_ioctl_request *p = compat_alloc_user_space(sizeof(*p));
+ struct ncp_ioctl_request __user *p = compat_alloc_user_space(sizeof(*p));
if (copy_from_user(&n32, compat_ptr(arg), sizeof(n32)) ||
put_user(n32.function, &p->function) ||
static int do_ncp_getobjectname(unsigned int fd, unsigned int cmd, unsigned long arg)
{
- struct ncp_objectname_ioctl_32 n32, *p32 = compat_ptr(arg);
- struct ncp_objectname_ioctl *p = compat_alloc_user_space(sizeof(*p));
+ struct ncp_objectname_ioctl_32 n32, __user *p32 = compat_ptr(arg);
+ struct ncp_objectname_ioctl __user *p = compat_alloc_user_space(sizeof(*p));
s32 auth_type;
u32 name_len;
int err;
static int do_ncp_setobjectname(unsigned int fd, unsigned int cmd, unsigned long arg)
{
- struct ncp_objectname_ioctl_32 n32, *p32 = compat_ptr(arg);
- struct ncp_objectname_ioctl *p = compat_alloc_user_space(sizeof(*p));
+ struct ncp_objectname_ioctl_32 n32, __user *p32 = compat_ptr(arg);
+ struct ncp_objectname_ioctl __user *p = compat_alloc_user_space(sizeof(*p));
if (copy_from_user(&n32, p32, sizeof(n32)) ||
put_user(n32.auth_type, &p->auth_type) ||
static int do_ncp_getprivatedata(unsigned int fd, unsigned int cmd, unsigned long arg)
{
- struct ncp_privatedata_ioctl_32 n32, *p32 = compat_ptr(arg);
- struct ncp_privatedata_ioctl *p = compat_alloc_user_space(sizeof(*p));
+ struct ncp_privatedata_ioctl_32 n32, __user *p32 = compat_ptr(arg);
+ struct ncp_privatedata_ioctl *p = __user compat_alloc_user_space(sizeof(*p));
u32 len;
int err;