All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: Julia Lawall <julia.lawall@lip6.fr>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Lv Zheng <lv.zheng@intel.com>, Len Brown <lenb@kernel.org>,
	linux-acpi@vger.kernel.org, kernel-janitors@vger.kernel.org
Subject: Re: [patch 2/2] ACPI / debugger: copy_to_user doesn't return errors
Date: Thu, 24 Dec 2015 19:15:48 +0000	[thread overview]
Message-ID: <20151224191548.GB5284@mwanda> (raw)
In-Reply-To: <alpine.DEB.2.02.1512240838170.2053@localhost6.localdomain6>

On Thu, Dec 24, 2015 at 08:39:06AM +0100, Julia Lawall wrote:
> On Thu, 24 Dec 2015, Dan Carpenter wrote:
> 
> > The copy_to/from_user() functions don't return error codes, they return
> > the number of bytes remaining.  We had intended to return -EFUALT here.
> > We actually have already checked access_ok() in an earlier function so
> > I don't think these functions will fail but let's fix it anyway.
> > 
> > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> > 
> > diff --git a/drivers/acpi/acpi_dbg.c b/drivers/acpi/acpi_dbg.c
> > index f2c92ab..2a1777b 100644
> > --- a/drivers/acpi/acpi_dbg.c
> > +++ b/drivers/acpi/acpi_dbg.c
> > @@ -592,9 +592,10 @@ static int acpi_aml_read_user(char __user *buf, int len)
> >  	smp_rmb();
> >  	p = &crc->buf[crc->tail];
> >  	n = min(len, circ_count_to_end(crc));
> > -	ret = copy_to_user(buf, p, n);
> > -	if (IS_ERR_VALUE(ret))
> 
> I'm not familiar with IS_ERR_VALUE.  Is it to allow functions that
> return unsigned values to also return negative error codes?

Yes, but here it is used as a substitue for checking if (ret < 0) or if
(ret >= 0).  I would have prefered to open code it.  Also I prefer
if (ret) for when the value is either zero or negative error codes but
here we have standardized on IS_ERR_VALUE(ret) for everything.

regards,
dan carpenter


WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: Julia Lawall <julia.lawall@lip6.fr>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Lv Zheng <lv.zheng@intel.com>, Len Brown <lenb@kernel.org>,
	linux-acpi@vger.kernel.org, kernel-janitors@vger.kernel.org
Subject: Re: [patch 2/2] ACPI / debugger: copy_to_user doesn't return errors
Date: Thu, 24 Dec 2015 22:15:48 +0300	[thread overview]
Message-ID: <20151224191548.GB5284@mwanda> (raw)
In-Reply-To: <alpine.DEB.2.02.1512240838170.2053@localhost6.localdomain6>

On Thu, Dec 24, 2015 at 08:39:06AM +0100, Julia Lawall wrote:
> On Thu, 24 Dec 2015, Dan Carpenter wrote:
> 
> > The copy_to/from_user() functions don't return error codes, they return
> > the number of bytes remaining.  We had intended to return -EFUALT here.
> > We actually have already checked access_ok() in an earlier function so
> > I don't think these functions will fail but let's fix it anyway.
> > 
> > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> > 
> > diff --git a/drivers/acpi/acpi_dbg.c b/drivers/acpi/acpi_dbg.c
> > index f2c92ab..2a1777b 100644
> > --- a/drivers/acpi/acpi_dbg.c
> > +++ b/drivers/acpi/acpi_dbg.c
> > @@ -592,9 +592,10 @@ static int acpi_aml_read_user(char __user *buf, int len)
> >  	smp_rmb();
> >  	p = &crc->buf[crc->tail];
> >  	n = min(len, circ_count_to_end(crc));
> > -	ret = copy_to_user(buf, p, n);
> > -	if (IS_ERR_VALUE(ret))
> 
> I'm not familiar with IS_ERR_VALUE.  Is it to allow functions that
> return unsigned values to also return negative error codes?

Yes, but here it is used as a substitue for checking if (ret < 0) or if
(ret >= 0).  I would have prefered to open code it.  Also I prefer
if (ret) for when the value is either zero or negative error codes but
here we have standardized on IS_ERR_VALUE(ret) for everything.

regards,
dan carpenter


  reply	other threads:[~2015-12-24 19:15 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-24  7:24 [patch 2/2] ACPI / debugger: copy_to_user doesn't return errors Dan Carpenter
2015-12-24  7:24 ` Dan Carpenter
2015-12-24  7:39 ` Julia Lawall
2015-12-24  7:39   ` Julia Lawall
2015-12-24 19:15   ` Dan Carpenter [this message]
2015-12-24 19:15     ` Dan Carpenter
2015-12-25  3:25     ` Zheng, Lv

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=20151224191548.GB5284@mwanda \
    --to=dan.carpenter@oracle.com \
    --cc=julia.lawall@lip6.fr \
    --cc=kernel-janitors@vger.kernel.org \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=lv.zheng@intel.com \
    --cc=rjw@rjwysocki.net \
    /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.