Re: [Y2038] [PATCH v2 2/2] ppdev: add support for compat ioctl

From: Arnd Bergmann
Date: Wed Dec 30 2015 - 08:52:01 EST


On Wednesday 30 December 2015 21:24:21 Bamvor Jian Zhang wrote:
> diff --git a/drivers/char/ppdev.c b/drivers/char/ppdev.c
> index 31bc7b7..9e98d01 100644
> --- a/drivers/char/ppdev.c
> +++ b/drivers/char/ppdev.c
> @@ -636,7 +636,7 @@ static int pp_do_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
> if ((time32[0] < 0) || (time32[1] < 0))
> return -EINVAL;
>
> - if (copy_to_user(time32, argp, sizeof(time32)))
> + if (copy_to_user(argp, time32, sizeof(time32)))
> return -EFAULT;
>
> return 0;
> @@ -648,7 +648,7 @@ static int pp_do_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
> if ((time64[0] < 0) || (time64[1] < 0))
> return -EINVAL;
>
> - if (copy_to_user(time64, argp, sizeof(time64)))
> + if (copy_to_user(argp, time64, sizeof(time64)))
> return -EFAULT;
>
> return 0;

This is something that would be caught by running 'make C=1' with 'sparse'
on your patch. Can you try that to see if you introduce any other warnings?

I'm guessing it's fine, but it would be nice to confirm. I also send a lot
of patches without running sparse and checkpatch first, but it's generally
a good idea.

Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/