linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Robert Hancock <hancockr@shaw.ca>
To: Jason Baron <jbaron@redhat.com>
Cc: akpm@osdl.org, linux-kernel@vger.kernel.org
Subject: Re: make PROT_WRITE imply PROT_READ
Date: Thu, 22 Jun 2006 19:24:03 -0600	[thread overview]
Message-ID: <449B42B3.6010908@shaw.ca> (raw)
In-Reply-To: <fa.PuMM6IwflUYh1MWILO9rb6z4fvY@ifi.uio.no>

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.

-- 
Robert Hancock      Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@nospamshaw.ca
Home Page: http://www.roberthancock.com/


       reply	other threads:[~2006-06-23  1:26 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 ` Robert Hancock [this message]
2006-06-23 13:39   ` make PROT_WRITE imply PROT_READ Jason Baron
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=449B42B3.6010908@shaw.ca \
    --to=hancockr@shaw.ca \
    --cc=akpm@osdl.org \
    --cc=jbaron@redhat.com \
    --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).