From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Helge Deller <deller@gmx.de>
Cc: John David Anglin <dave.anglin@bell.net>,
Carlos O'Donell <carlos@systemhalted.org>,
Aaro Koskinen <aaro.koskinen@iki.fi>,
Mike Frysinger <vapier@gentoo.org>,
linux-parisc <linux-parisc@vger.kernel.org>
Subject: Re: parisc: fix mmap(MAP_FIXED|MAP_SHARED) to already mmapped address
Date: Sun, 22 Feb 2015 11:13:16 -0800 [thread overview]
Message-ID: <1424632396.2146.116.camel@HansenPartnership.com> (raw)
In-Reply-To: <54EA1ADC.60701@gmx.de>
On Sun, 2015-02-22 at 19:07 +0100, Helge Deller wrote:
> >>>> SHMLBA is 4096 /* (1 << PGSHIFT) */ on hpux.
> >>>>
> >>>> The following is in <asm-generic/shmparam.h>:
> >>>> #define SHMLBA PAGE_SIZE /* attach addr a multiple of this */
> >>>>
> >>>> Shared mappings are handled with
> >>>> asm/shmparam.h:#define SHM_COLOUR 0x00400000 /* shared mappings colouring */
> >>>
> >>> So how is the sys-v ipc problem fixed? There the user is told to select
> >>> an address which is a multiple of SHMLBA. Programs that do this today
> >>> will start to break on writeable mappings if we set SHMLBA to PAGE_SIZE
> >>> because the colour will be wrong.
> >>
> >>
> >> The code returns -EINVAL. See arch_get_unmapped_area.
> >
> > But that's not a solution. Let me try to illustrate: I have an existing
> > application, it uses sys-v ipc and selects a shmat address based on the
> > multiple of SHMLBA for a writeable mapping. Today it works.
>
> It will work as well with SHMBLA=4096, if you just use SHM_RND too
> (and most applications do have SHM_RND).
> man shmat says:
> * If shmaddr isn't NULL and SHM_RND is specified in shmflg, the attach occurs at the address equal to shmaddr rounded down to the nearest multiple of SHMLBA.
> * Otherwise, shmaddr must be a page-aligned address at which the attach occurs.
>
> So, even here shmaddr is mentioned to be page-aligned (4k), not
> SHMLBA-aligned (4M in your case).
I think that part is x86. All the other VI architectures impose their
VI colour constrainst in SHMLBA. We're the odd one out because we have
a huge stride (everyone else is small multiples of pages).
But agree if no applications are affected, we can make the ABI change.
> >Tomorrow
> > when you make this change, it fails with -EINVAL. That's breaking an
> > existing application because chances are the app will just report the
> > failure and exit.
>
> Tomorrow? This change is *already* implemented in eglibc since a year or
> so and I don't see any applications which break because of SHMBLA=4096...
Is eglibc a big enough sample to make the claim that no applications
will be broken?
James
next prev parent reply other threads:[~2015-02-22 19:13 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-19 19:17 parisc: fix mmap(MAP_FIXED|MAP_SHARED) to already mmapped address Aaro Koskinen
2013-12-19 19:44 ` John David Anglin
2013-12-19 20:28 ` Aaro Koskinen
2013-12-19 21:19 ` Mike Frysinger
2013-12-19 22:38 ` John David Anglin
2013-12-19 23:02 ` Mike Frysinger
2013-12-20 22:10 ` Helge Deller
2013-12-23 20:26 ` Aaro Koskinen
2013-12-29 20:50 ` Helge Deller
2013-12-29 21:26 ` Aaro Koskinen
2013-12-21 18:18 ` John David Anglin
2014-03-02 21:22 ` Helge Deller
2014-04-01 18:26 ` Aaro Koskinen
2014-04-01 18:49 ` Helge Deller
2014-04-02 19:09 ` Carlos O'Donell
2014-04-02 21:09 ` Helge Deller
2014-04-02 21:41 ` John David Anglin
2014-04-03 19:41 ` Helge Deller
2014-04-03 20:03 ` John David Anglin
2014-04-03 20:26 ` Helge Deller
2015-02-20 21:36 ` Carlos O'Donell
2015-02-21 20:31 ` John David Anglin
2015-02-21 20:40 ` John David Anglin
2015-02-21 23:09 ` James Bottomley
2015-02-21 23:26 ` Helge Deller
2015-02-21 23:57 ` James Bottomley
2015-02-22 16:45 ` John David Anglin
2015-02-22 17:17 ` James Bottomley
2015-02-22 17:53 ` Helge Deller
2015-02-22 17:54 ` John David Anglin
2015-02-22 17:58 ` James Bottomley
2015-02-22 18:07 ` Helge Deller
2015-02-22 19:13 ` James Bottomley [this message]
2015-02-22 19:16 ` Helge Deller
2015-02-22 19:42 ` James Bottomley
2015-03-07 19:05 ` Carlos O'Donell
2015-02-22 18:28 ` parisc: fix mmap(MAP_FIXED|MAP_SHARED) to already mmapped address - optimized patches Helge Deller
2015-02-22 17:28 ` parisc: fix mmap(MAP_FIXED|MAP_SHARED) to already mmapped address James Bottomley
2015-02-22 18:02 ` John David Anglin
2015-02-21 21:04 ` Helge Deller
2014-04-03 20:12 ` John David Anglin
2014-04-03 20:27 ` Helge Deller
2014-04-04 15:45 ` Jeroen Roovers
2013-12-19 20:28 ` Helge Deller
2013-12-19 20:53 ` Aaro Koskinen
2013-12-23 20:34 ` Rolf Eike Beer
2013-12-24 2:39 ` John David Anglin
2013-12-24 9:32 ` Rolf Eike Beer
2014-01-27 11:23 ` Rolf Eike Beer
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=1424632396.2146.116.camel@HansenPartnership.com \
--to=james.bottomley@hansenpartnership.com \
--cc=aaro.koskinen@iki.fi \
--cc=carlos@systemhalted.org \
--cc=dave.anglin@bell.net \
--cc=deller@gmx.de \
--cc=linux-parisc@vger.kernel.org \
--cc=vapier@gentoo.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