From mboxrd@z Thu Jan 1 00:00:00 1970 From: Or Gerlitz Subject: Re: [patch -next] mlx5_core: return -EFAULT if copy_to_user() fails Date: Wed, 10 Jul 2013 14:37:03 +0300 Message-ID: <51DD475F.4060402@mellanox.com> References: <20130710105714.GC31232@longonot.mountain> Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20130710105714.GC31232@longonot.mountain> Sender: kernel-janitors-owner@vger.kernel.org To: Dan Carpenter Cc: Eli Cohen , linux-rdma@vger.kernel.org, kernel-janitors@vger.kernel.org, Jack Morgenstein , Moshe Lazer List-Id: linux-rdma@vger.kernel.org On 10/07/2013 13:57, Dan Carpenter wrote: > This should return an error code instead of the number of bytes > remaining to be copied. > > Signed-off-by: Dan Carpenter > > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c b/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c > index a550a8e..4273c06 100644 > --- a/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c > +++ b/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c > @@ -148,7 +148,6 @@ static ssize_t average_read(struct file *filp, char __user *buf, size_t count, > struct mlx5_cmd_stats *stats; > u64 field = 0; > int ret; > - int err; > char tbuf[22]; > > if (*pos) > @@ -161,9 +160,8 @@ static ssize_t average_read(struct file *filp, char __user *buf, size_t count, > spin_unlock(&stats->lock); > ret = snprintf(tbuf, sizeof(tbuf), "%llu\n", field); > if (ret > 0) { > - err = copy_to_user(buf, tbuf, ret); > - if (err) > - return err; > + if (copy_to_user(buf, tbuf, ret)) > + return -EFAULT; > } > > *pos += ret; > @@ -418,7 +416,6 @@ static ssize_t dbg_read(struct file *filp, char __user *buf, size_t count, > char tbuf[18]; > u64 field; > int ret; > - int err; > > if (*pos) > return 0; > @@ -445,9 +442,8 @@ static ssize_t dbg_read(struct file *filp, char __user *buf, size_t count, > > ret = snprintf(tbuf, sizeof(tbuf), "0x%llx\n", field); > if (ret > 0) { > - err = copy_to_user(buf, tbuf, ret); > - if (err) > - return err; > + if (copy_to_user(buf, tbuf, ret)) > + return -EFAULT; > } > > *pos += ret; > ditto here Acked-by: Or Gerlitz