All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
To: Bamvor Jian Zhang <bamvor.zhangjian@linaro.org>
Cc: Arnd Bergmann <arnd@arndb.de>,
	linux-kernel@vger.kernel.org, y2038@lists.linaro.org,
	gregkh@linuxfoundation.org, broonie@kernel.org
Subject: Re: [PATCH v2 2/2] ppdev: add support for compat ioctl
Date: Wed, 30 Dec 2015 19:18:52 +0530	[thread overview]
Message-ID: <20151230134852.GA21325@sudip-pc> (raw)
In-Reply-To: <5683DB05.7000704@linaro.org>

On Wed, Dec 30, 2015 at 09:24:21PM +0800, Bamvor Jian Zhang wrote:
> Hi, Sudip
> 
> On 12/30/2015 07:16 PM, Sudip Mukherjee wrote:
> > On Fri, Dec 18, 2015 at 12:12:05AM +0100, Arnd Bergmann wrote:
> >> On Thursday 17 December 2015 17:58:52 Bamvor Jian Zhang wrote:
> >>> The arg of ioctl in ppdev is the pointer of integer except the
> >>> timeval in PPSETTIME, PPGETTIME. Different size of timeval
> >>> is already supported by the previous patches. So, it is safe
> >>> to add compat support.
> >>>
> >>> Signed-off-by: Bamvor Jian Zhang <bamvor.zhangjian@linaro.org>
> >>>
> >>
> >> Reviewed-by: Arnd Bergmann <arnd@arndb.de>
> >>
> >> (I think I replied with the reviewed-by tag before to this patch)
> > 
> > I was testing this series today. And it is breaking my userspace code. I
> > am attaching my userspace code for you to check. Its very simple
> > userspace code:
> > 1: open
> > 2: ioctl to claim
> > 3: ioctl - PPGETTIME
> > 4: ioctl - PPSETTIME
> > 5: ioctl - PPGETTIME
> > 6: ioctl - release
> > 7: close
> > 
> > Without this series it works as expected.
> > 
> > With this series applied, the userspace code prints the error message:
> > PPNEGOT: Bad address
> > 
> > I traced it with strace and:
> > ioctl(3, PPGETTIME, 0xbfe91508)         = -1 EFAULT (Bad address)
> Thanks for your testing. It seems that I misuse the parameters. Could
> you please apply the following patch and try it again?
> There is no parport in my computer, Thanks.
> 
> 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;

It works. Tomorrow I will test it on a 64 bit system also.

regards
sudip

  reply	other threads:[~2015-12-30 13:49 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-17  9:58 [PATCH v2 0/2] Convert ppdev to y2038 safe Bamvor Jian Zhang
2015-12-17  9:58 ` [PATCH v2 1/2] ppdev: convert " Bamvor Jian Zhang
2015-12-17  9:58 ` [PATCH v2 2/2] ppdev: add support for compat ioctl Bamvor Jian Zhang
2015-12-17 23:12   ` Arnd Bergmann
2015-12-30 11:16     ` Sudip Mukherjee
2015-12-30 13:24       ` Bamvor Jian Zhang
2015-12-30 13:48         ` Sudip Mukherjee [this message]
2015-12-30 13:51         ` [Y2038] " Arnd Bergmann
2015-12-30 14:20           ` Bamvor Jian Zhang
2015-12-31  9:43             ` Sudip Mukherjee
2015-12-31 14:12               ` Arnd Bergmann
2016-01-01  5:04                 ` Sudip Mukherjee
2016-01-01 22:09                   ` Arnd Bergmann
2016-01-02  6:29                     ` Sudip Mukherjee
2016-01-02 22:40                       ` Arnd Bergmann
2016-01-04 13:14                         ` Sudip Mukherjee
2016-01-04 13:26                           ` Arnd Bergmann
2016-01-06 12:56                           ` Bamvor Jian Zhang
2016-01-07 15:12                             ` Arnd Bergmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151230134852.GA21325@sudip-pc \
    --to=sudipm.mukherjee@gmail.com \
    --cc=arnd@arndb.de \
    --cc=bamvor.zhangjian@linaro.org \
    --cc=broonie@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=y2038@lists.linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.