From mboxrd@z Thu Jan 1 00:00:00 1970 From: Richard Cochran Date: Mon, 30 May 2011 06:12:38 +0000 Subject: Re: [patch 1/2] ptp: return -EFAULT on copy_to_user() errors Message-Id: <20110530061237.GA3166@riccoc20.at.omicron.at> List-Id: References: <20110529195312.GA3099@shale.localdomain> In-Reply-To: <20110529195312.GA3099@shale.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Dan Carpenter Cc: Richard Cochran , "David S. Miller" , John Stultz , Arnd Bergmann , open list , kernel-janitors@vger.kernel.org, Thomas Gleixner On Sun, May 29, 2011 at 10:53:12PM +0300, Dan Carpenter wrote: > copy_to_user() returns the number of bytes remaining, but we want a > negative error code here. > > Signed-off-by: Dan Carpenter > > diff --git a/drivers/ptp/ptp_chardev.c b/drivers/ptp/ptp_chardev.c > index a8d03ae..93fa22d 100644 > --- a/drivers/ptp/ptp_chardev.c > +++ b/drivers/ptp/ptp_chardev.c > @@ -46,7 +46,8 @@ long ptp_ioctl(struct posix_clock *pc, unsigned int cmd, unsigned long arg) > caps.n_ext_ts = ptp->info->n_ext_ts; > caps.n_per_out = ptp->info->n_per_out; > caps.pps = ptp->info->pps; > - err = copy_to_user((void __user *)arg, &caps, sizeof(caps)); > + if (copy_to_user((void __user *)arg, &caps, sizeof(caps))) > + err = -EFAULT; Yes, right, and thanks for the extra review. Thomas, can you please queue these two patches for 3.0-rc2? (Or should John Stultz handle this sort of thing?) Thanks, Richard