From: Jason Baron <jbaron@redhat.com>
To: Robert Hancock <hancockr@shaw.ca>
Cc: akpm@osdl.org, linux-kernel@vger.kernel.org
Subject: Re: make PROT_WRITE imply PROT_READ
Date: Fri, 23 Jun 2006 09:39:12 -0400 (EDT) [thread overview]
Message-ID: <Pine.LNX.4.64.0606230934360.24102@dhcp83-5.boston.redhat.com> (raw)
In-Reply-To: <449B42B3.6010908@shaw.ca>
On Thu, 22 Jun 2006, Robert Hancock wrote:
> Jason Baron wrote:
> > Currently, if i mmap() a file PROT_WRITE only and then first read from it
> > and then write to it, i get a SEGV. However, if i write to it first and then
> > read from it, i get no SEGV. This seems rather inconsistent.
> >
> > The current implementation seems to be to make PROT_WRITE imply PROT_READ,
> > however it does not quite work correctly. The patch below resolves this
> > issue, by explicitly setting the PROT_READ flag when PROT_WRITE is
> > requested.
>
> I would disagree.. the kernel is enforcing the permissions specified where the
> CPU architecture allows it. There is no sense in breaking this everywhere just
> because we can't always enforce it. By that logic we should be making
> PROT_READ imply PROT_EXEC because not all CPUs can enforce them separately,
> which makes no sense at all.
>
> >
> > This might appear at first as a possible permissions subversion, as i could
> > get PROT_READ on a file that i only have write permission to...however, the
> > mmap implementation requires that the file be opened with at least read
> > access already. Thus, i don't believe there is any issue with regards to
> > permissions.
> >
> > Another consequenece of this patch is that it forces PROT_READ even for
> > architectures that might be able to support it, (I know that x86, x86_64 and
> > ia64 do not) but i think this is best for portability.
>
> That makes little sense to me.. if you want portability, and you're reading
> from the file, you better request PROT_READ. Any app that doesn't do that is
> inherently broken and non-portable regardless of what you do to the kernel.
>
>
hi,
So if i create a PROT_WRITE only mapping and then read from first and then
writte to it a get a SEGV. However, if i write to it first and then read
from it, i don't get a SEGV...Why should the read/write ordering matter?
thanks,
-Jason
next prev parent reply other threads:[~2006-06-23 13:57 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <fa.PuMM6IwflUYh1MWILO9rb6z4fvY@ifi.uio.no>
2006-06-23 1:24 ` make PROT_WRITE imply PROT_READ Robert Hancock
2006-06-23 13:39 ` Jason Baron [this message]
2006-06-23 14:06 ` Arjan van de Ven
2006-06-23 14:05 ` Jason Baron
2006-06-23 14:18 ` Arjan van de Ven
2006-06-24 18:45 ` Ulrich Drepper
2006-06-27 9:56 ` Pavel Machek
2006-06-27 12:18 ` Arjan van de Ven
2006-06-28 16:43 ` Ulrich Drepper
2006-06-28 19:49 ` Pavel Machek
2006-06-28 20:05 ` Chase Venters
2006-06-28 23:47 ` Ulrich Drepper
2006-06-29 7:30 ` Pavel Machek
2006-06-29 11:58 ` Alan Cox
2006-06-29 17:20 ` Pavel Machek
2006-06-29 21:00 ` Jason Baron
2006-07-07 2:05 ` Jason Baron
2006-06-30 3:49 ` Ulrich Drepper
2006-06-29 8:15 ` Arjan van de Ven
2006-06-30 3:48 ` Ulrich Drepper
2006-06-30 8:35 ` Arjan van de Ven
2006-06-30 12:20 ` Alan Cox
[not found] <6qIEW-1Tx-23@gated-at.bofh.it>
[not found] ` <6qIEW-1Tx-21@gated-at.bofh.it>
[not found] ` <6qUwd-2Aq-9@gated-at.bofh.it>
[not found] ` <6qUwd-2Aq-7@gated-at.bofh.it>
[not found] ` <6qUFV-2N8-13@gated-at.bofh.it>
[not found] ` <6qUFY-2N8-33@gated-at.bofh.it>
[not found] ` <6rlmT-8op-37@gated-at.bofh.it>
[not found] ` <6siwJ-3dC-5@gated-at.bofh.it>
[not found] ` <6sLoY-4GV-31@gated-at.bofh.it>
[not found] ` <6sZUS-V5-19@gated-at.bofh.it>
[not found] ` <6tib4-2wA-3@gated-at.bofh.it>
[not found] ` <6tmHL-Oq-5@gated-at.bofh.it>
[not found] ` <6tpZ7-5Tj-13@gated-at.bofh.it>
2006-07-01 13:19 ` Bodo Eggert
2006-07-02 9:56 ` Alan Cox
2006-07-02 22:04 ` Bodo Eggert
2006-06-22 17:33 Jason Baron
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=Pine.LNX.4.64.0606230934360.24102@dhcp83-5.boston.redhat.com \
--to=jbaron@redhat.com \
--cc=akpm@osdl.org \
--cc=hancockr@shaw.ca \
--cc=linux-kernel@vger.kernel.org \
/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).