[PATCH 3/4] driver/memmap: fix generic_memmap_rw and generic_memmap_ro
Sascha Hauer
s.hauer at pengutronix.de
Thu Feb 10 07:01:41 EST 2011
On Thu, Feb 10, 2011 at 12:50:14PM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 08:12 Thu 10 Feb , Sascha Hauer wrote:
> > On Thu, Feb 10, 2011 at 04:31:59AM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > > we check before the RW access for generic_memmap_ro instead of
> > > generic_memmap_rw
> > >
> > > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> > > ---
> > > drivers/base/driver.c | 5 +++--
> > > 1 files changed, 3 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/base/driver.c b/drivers/base/driver.c
> > > index ff92e44..bd7464e 100644
> > > --- a/drivers/base/driver.c
> > > +++ b/drivers/base/driver.c
> > > @@ -223,8 +223,6 @@ int generic_memmap_ro(struct cdev *cdev, void **map, int flags)
> > > if (!cdev->dev)
> > > return -EINVAL;
> > >
> > > - if (flags & PROT_WRITE)
> > > - return -EACCES;
> > > *map = (void *)cdev->dev->map_base;
> > > return 0;
> > > }
> > > @@ -234,6 +232,9 @@ int generic_memmap_rw(struct cdev *cdev, void **map, int flags)
> > > if (!cdev->dev)
> > > return -EINVAL;
> > >
> > > + if (flags & PROT_WRITE)
> > > + return -EACCES;
> > > +
> >
> > So instead of allowing write access in the read/write function we now
> > allow it in the readonly function? I'm afraid I don't understand this.
> PROT_WRITE means ro no?
No. The semantics are from mmap(2):
PROT_EXEC Pages may be executed.
PROT_READ Pages may be read.
PROT_WRITE Pages may be written.
PROT_NONE Pages may not be accessed.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list