All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael Kerrisk (man-pages)" <mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Rich Felker <dalias-8zAoT0mYgF4@public.gmane.org>,
	Nicholas Miell <nmiell-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	Torvald Riegel <triegel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	Roland McGrath <roland-/Z5OmTQCD9xF6kxbq+BtvQ@public.gmane.org>,
	"linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"libc-alpha-9JcytcrH/bA+uJoB2kUjGw@public.gmane.org"
	<libc-alpha-9JcytcrH/bA+uJoB2kUjGw@public.gmane.org>,
	Carlos O'Donell <carlos-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Subject: Re: For review: nptl(7) man page
Date: Wed, 05 Aug 2015 20:59:55 +0200	[thread overview]
Message-ID: <55C25D2B.4040905@gmail.com> (raw)
In-Reply-To: <20150805182327.GA14639-C3MtFaGISjmo6RMmaWD+6Sb1p8zYI1N1@public.gmane.org>

On 08/05/2015 08:23 PM, Rich Felker wrote:
> On Wed, Aug 05, 2015 at 11:14:32AM -0700, Nicholas Miell wrote:
>>
>>
>>> On Aug 5, 2015, at 2:36 AM, Torvald Riegel <triegel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote:
>>>
>>>> On Tue, 2015-08-04 at 11:50 -0700, Nicholas Miell wrote:
>>>>> On Aug 4, 2015, at 8:06 AM, Roland McGrath <roland-/Z5OmTQCD9xF6kxbq+BtvQ@public.gmane.org> wrote:
>>>>>
>>>>> I think we are asserting that they are exactly that by dint of the confstr
>>>>> results for _CS_POSIX_V7_ILP32_OFF32_CFLAGS et al.  So the question is what
>>>>> POSIX actually does or doesn't say about process-shared synchronization
>>>>> objects being shared between processes running programs built in different
>>>>> POSIX compilation environments.
>>>>>
>>>>> The other relevant question is whether 32/64 sharing of each particular
>>>>> pshared object has in fact worked reliably under glibc in the past.  Since
>>>>> we haven't been clear and explicit about the subject before AFAIK, then if
>>>>> in fact it worked before then people might well have inferred that we made
>>>>> such an ABI guarantee.  (I hope not, since if so we just broke it.)
>>>>
>>>> The relevant questions aren't what's the least useful behavior
>>>> that POSIX lets us get away with or can we leave it broken
>>>> because it never worked;'the questions are what do the other
>>>> operating systems do and what do the users want.
>>>
>>> Those are relevant questions, but they are not the only relevant ones.
>>> Some users would also like to share data structures between processes
>>> using different glibc builds (eg, different versions), and we won't
>>> promise that this works for obvioius reasons.
>>
>> The reasonable scenario is what we have right now -- 32 and 64-bit
>> versions of glibc built from the exact same git commit. And I'd
>> exclude static versions of glibc even if they're the same version.
> 
> Why would you exclude static? IMO two static-linked executables using
> the same version of glibc should be compatible with each other even if
> you don't want to guarantee they'll be compatible with the
> same-version shared glibc.
> 
>>> The semaphore example shows that there can be a disadvantage to
>>> guaranteeing 32/64b interoperability (specifically, the 64b code is more
>>> efficient).  For mutex, I *currently* don't see a reason why we couldn't
>>> get away with just doing 32b stuff for the pshared case, but there's no
>>> guarantee that I can foresee all future needs either.
>>>
>>> Thus, if we would decide to guarantee 32/64b interoperability, we'd need
>>> to have at least strong use cases for that and a decent amount of
>>> confidence that making such a guarantee is unlikely to constrain the
>>> implementation in the future.
>>
>> Well, POSIX semaphores are supposed to be a replacement for System V
>> semaphores (and this extends to the rest of the POSIX IPC
>> primitives); right now they aren't.
> 
> Only for some usage cases. As far as I can tell, POSIX semaphores are
> not intended to be required to be implemented as a kernel resource.

That last is also true of SysV semaphores, surely?

> They don't have permissions enforcement/safety against malicious
> processes, 

(I'm a little lost here. POSIX semaphores do have a permissions mask.)

>  backout on async process termination, etc.

Actually, System V semaphores don't reliably have this either (see BUGS
in semop(2)).

Cheers,

Michael

-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2015-08-05 18:59 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-22 14:38 For review: nptl(7) man page Michael Kerrisk (man-pages)
     [not found] ` <550ED3F4.1080403-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-03-22 15:51   ` Bert Wesarg
     [not found]     ` <CAKPyHN2VTcP3eOPA-er+iOs0VCRd4ALzuqPY4HJOVOmDH7Arug-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-22 19:02       ` Michael Kerrisk (man-pages)
2015-03-22 19:56 ` Szabolcs Nagy
     [not found]   ` <20150322195632.GM16260-4P1ElwuDYu6sTnJN9+BGXg@public.gmane.org>
2015-07-24  7:56     ` Michael Kerrisk (man-pages)
2015-03-22 21:38 ` Nicholas Miell
     [not found]   ` <550F363B.801-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-07-24  7:57     ` Michael Kerrisk (man-pages)
     [not found]       ` <CAODz2cDq4o85NOzqCDg9cH8eCvqt3Tq5QXKMMJtXbik5h5bL+Q@mail.gmail.com>
     [not found]         ` <CAODz2cDq4o85NOzqCDg9cH8eCvqt3Tq5QXKMMJtXbik5h5bL+Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-07-26 20:24           ` Michael Kerrisk (man-pages)
2015-07-26 20:27             ` Nicholas Miell
     [not found]               ` <CAODz2cAmqVtkoNSwUA5p0_=pcFAdrS3ovohyjwnXMapgEhc4qg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-07-26 20:29                 ` Michael Kerrisk (man-pages)
     [not found]             ` <55B54215.6070502-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-08-03 15:45               ` Torvald Riegel
2015-08-03 20:08                 ` Rich Felker
2015-08-04 15:06                   ` Roland McGrath
     [not found]                     ` <20150804150648.9E9F42C3B01-j1d2VQoJOwwHfwO+Tb3JRVaTQe2KTcn/@public.gmane.org>
2015-08-04 18:50                       ` Nicholas Miell
     [not found]                         ` <3848244D-C3FE-4FD1-B137-AF7AD6252659-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-08-05  9:36                           ` Torvald Riegel
     [not found]                             ` <1438767393.20974.211.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2015-08-05 18:14                               ` Nicholas Miell
     [not found]                                 ` <BCB9D422-563C-4317-B0CB-B14001FE0EA3-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-08-05 18:23                                   ` Rich Felker
     [not found]                                     ` <20150805182327.GA14639-C3MtFaGISjmo6RMmaWD+6Sb1p8zYI1N1@public.gmane.org>
2015-08-05 18:59                                       ` Michael Kerrisk (man-pages) [this message]
     [not found]                                         ` <55C25D2B.4040905-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-08-05 19:46                                           ` Rich Felker
2015-08-06 10:06                                             ` Michael Kerrisk (man-pages)
     [not found]                                               ` <55C3319A.7020408-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-08-06 13:54                                                 ` Rich Felker

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=55C25D2B.4040905@gmail.com \
    --to=mtk.manpages-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=carlos-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=dalias-8zAoT0mYgF4@public.gmane.org \
    --cc=libc-alpha-9JcytcrH/bA+uJoB2kUjGw@public.gmane.org \
    --cc=linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=nmiell-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=roland-/Z5OmTQCD9xF6kxbq+BtvQ@public.gmane.org \
    --cc=triegel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.