X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fieee1394%2Fdv1394.c;h=ecf6830b3b51e33350e6a580608b3280394c93d8;hb=9bf4aaab3e101692164d49b7ca357651eb691cb6;hp=9964d6fbc5a13f2e97d499f692c49fd301c5ec1e;hpb=db216c3d5e4c040e557a50f8f5d35d5c415e8c1c;p=linux-2.6.git diff --git a/drivers/ieee1394/dv1394.c b/drivers/ieee1394/dv1394.c index 9964d6fbc..ecf6830b3 100644 --- a/drivers/ieee1394/dv1394.c +++ b/drivers/ieee1394/dv1394.c @@ -1322,7 +1322,7 @@ static unsigned int dv1394_poll(struct file *file, struct poll_table_struct *wai static int dv1394_fasync(int fd, struct file *file, int on) { /* I just copied this code verbatim from Alan Cox's mouse driver example - (linux/Documentation/DocBook/) */ + (Documentation/DocBook/) */ struct video_card *video = file_to_video_card(file); @@ -1333,7 +1333,7 @@ static int dv1394_fasync(int fd, struct file *file, int on) return 0; } -static ssize_t dv1394_write(struct file *file, const char *buffer, size_t count, loff_t *ppos) +static ssize_t dv1394_write(struct file *file, const char __user *buffer, size_t count, loff_t *ppos) { struct video_card *video = file_to_video_card(file); DECLARE_WAITQUEUE(wait, current); @@ -1430,7 +1430,7 @@ static ssize_t dv1394_write(struct file *file, const char *buffer, size_t count, } -static ssize_t dv1394_read(struct file *file, char *buffer, size_t count, loff_t *ppos) +static ssize_t dv1394_read(struct file *file, char __user *buffer, size_t count, loff_t *ppos) { struct video_card *video = file_to_video_card(file); DECLARE_WAITQUEUE(wait, current); @@ -1549,6 +1549,7 @@ static int dv1394_ioctl(struct inode *inode, struct file *file, struct video_card *video = file_to_video_card(file); unsigned long flags; int ret = -EINVAL; + void __user *argp = (void __user *)arg; DECLARE_WAITQUEUE(wait, current); @@ -1718,10 +1719,10 @@ static int dv1394_ioctl(struct inode *inode, struct file *file, case DV1394_IOC_INIT: { struct dv1394_init init; - if (arg == (unsigned long) NULL) { + if (!argp) { ret = do_dv1394_init_default(video); } else { - if (copy_from_user(&init, (void*)arg, sizeof(init))) { + if (copy_from_user(&init, argp, sizeof(init))) { ret = -EFAULT; goto out; } @@ -1767,7 +1768,7 @@ static int dv1394_ioctl(struct inode *inode, struct file *file, spin_unlock_irqrestore(&video->spinlock, flags); - if (copy_to_user((void*)arg, &status, sizeof(status))) { + if (copy_to_user(argp, &status, sizeof(status))) { ret = -EFAULT; goto out; } @@ -2517,7 +2518,7 @@ static int handle_dv1394_init(unsigned int fd, unsigned int cmd, unsigned long a if (file->f_op->ioctl != dv1394_ioctl) return -EFAULT; - if (copy_from_user(&dv32, (void *)arg, sizeof(dv32))) + if (copy_from_user(&dv32, (void __user *)arg, sizeof(dv32))) return -EFAULT; dv.api_version = dv32.api_version; @@ -2567,7 +2568,7 @@ static int handle_dv1394_get_status(unsigned int fd, unsigned int cmd, unsigned dv32.n_clear_frames = dv.n_clear_frames; dv32.dropped_frames = dv.dropped_frames; - if (copy_to_user((struct dv1394_status32 *)arg, &dv32, sizeof(dv32))) + if (copy_to_user((struct dv1394_status32 __user *)arg, &dv32, sizeof(dv32))) ret = -EFAULT; }