On Wed, Dec 30, 2015 at 10:20:58PM +0800, Bamvor Jian Zhang wrote:
Hi, Arnd
On 12/30/2015 09:51 PM, Arnd Bergmann wrote:
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?
OK. I do not do it before, there is no extra warning after apply the above patch.
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.
Got you. I only do the checkpatch in past. I will do sparse and checkpatch in future.
Usually sparse will be part of the tests that are done by 0day. Anyway, it worked perfectly in 64bit systems also. Can you please send your patch v3 with this change..
regards sudip