netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Randy.Dunlap" <rddunlap@osdl.org>
To: David Gibson <hermes@gibson.dropbear.id.au>
Cc: netdev@oss.sgi.com, jgarzik@pobox.com
Subject: Re: [PATRCH] janitor: hermes: delete verify_area call
Date: Mon, 29 Sep 2003 13:06:08 -0700	[thread overview]
Message-ID: <20030929130608.156bbc2b.rddunlap@osdl.org> (raw)
In-Reply-To: <20030929052925.GA5037@zax>

On Mon, 29 Sep 2003 15:29:25 +1000 David Gibson <hermes@gibson.dropbear.id.au> wrote:

| On Thu, Sep 25, 2003 at 09:59:02PM -0700, Randy.Dunlap wrote:
| > 
| > Hi,
| > Please apply to 2.6.0-test5-current.
| > 
| > Thanks,
| 
| Sorry, can you clarify why this verify_area() is not needed?


Sure, I'll try to do that.
There are several related reasons for it.

Summary:
Using verify_area() [or access_ok()] is redundant if copy*user(),
get_user(), or put_user() is being used, but must (*should*) be used
if __copy*user(), __get_user(), or __put_user() are being used.

a.  [include/asm-i386/uaccess.h] verify_area: - Obsolete, use access_ok()

b.  copy_*_user() already calls access_ok() to validate the user address.
    The __* versions of copy*user() and __get/put_user() do not use
    access_ok(), so checking must be done before using them.


HTH.
--
~Randy


| From: Domen Puncer <domen@coderock.org>
|                                                                                 
| IMO, that verify_area wasn't needed.
|                                                                                 
|  linux-260-t5bk12-kj-rddunlap/drivers/net/wireless/orinoco.c |    4
|  ----
|  1 files changed, 4 deletions(-)
|                                                                                 
| diff -puN drivers/net/wireless/orinoco.c~net_wireless_orinoco_verify
| +drivers/net/wireless/orinoco.c
| ---
| +linux-260-t5bk12-kj/drivers/net/wireless/orinoco.c~net_wireless_orinoco_verify
| +2003-09-25 16:03:17.000000000 -0700
| +++ linux-260-t5bk12-kj-rddunlap/drivers/net/wireless/orinoco.c
| 2003-09-25
| +16:03:17.000000000 -0700
| @@ -3833,10 +3833,6 @@ orinoco_ioctl(struct net_device *dev, st
|                                 { SIOCIWLASTPRIV, 0, 0, "dump_recs" },
|                         };
|                                                                                 
| -                       err = verify_area(VERIFY_WRITE,
| wrq->u.data.pointer,
| +sizeof(privtab));
| -                       if (err)
| -                               break;
| -
|                         wrq->u.data.length = sizeof(privtab) /
| +sizeof(privtab[0]);
|                         if (copy_to_user(wrq->u.data.pointer, privtab,
| +sizeof(privtab)))
|                                 err = -EFAULT;

  reply	other threads:[~2003-09-29 20:06 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-26  4:59 [PATRCH] janitor: hermes: delete verify_area call Randy.Dunlap
2003-09-29  5:29 ` David Gibson
2003-09-29 20:06   ` Randy.Dunlap [this message]
2003-09-30  4:51     ` David Gibson
2003-09-30  5:15   ` David S. Miller

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=20030929130608.156bbc2b.rddunlap@osdl.org \
    --to=rddunlap@osdl.org \
    --cc=hermes@gibson.dropbear.id.au \
    --cc=jgarzik@pobox.com \
    --cc=netdev@oss.sgi.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).