Commit Graph

5935 Commits

Author SHA1 Message Date
Michael Kerrisk 53e0c29347 gettimeofday.2: Minor tweaks
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-16 16:43:44 +01:00
Carlos O'Donell 43d6713ebe gettimeofday.2: Expand on the historic historical meaning of tz_dsttime
Given that the NOTES in question are willing to discuss
history, I have clarified the use of tz_dsttime for non-Linux
and Linux to allow the reader to contrast that with the older
system usage.

On a non-Linux glibc the meaning of tz_dsttime is exactly
that of daylight for the current zone. It has been this way
since the beginning of glibc:

^28f540f (Roland McGrath 1995-02-18 01:27:10 +0000 52)
       tz->tz_dsttime = __daylight;

On a Linux glibc the field has never been used.

Clarify the meaning of tz_dsttime for gettimeofday,
and for settimeofday distinctly for non-Linux and Linux
glibc cases (for historical completeness).

Signed-off-by: Carlos O'Donell <carlos@redhat.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-16 16:43:44 +01:00
Michael Kerrisk cc15860198 sigreturn.2: SEE ALSO: add vdso(7)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-16 14:33:36 +01:00
Michael Kerrisk 7032b90a7b gettimeofday.2: SEE ALSO: add vdso(7)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-16 14:33:36 +01:00
Michael Kerrisk 18688d1731 clock_getres.2: SEE ALSO: add vdso(7)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-16 14:33:36 +01:00
Michael Kerrisk 080d3d60e0 time.2: SEE ALSO: add vdso(7)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-16 14:33:36 +01:00
Michael Kerrisk 5dfbd2635e getcpu.2: SEE ALSO: add vdso(7)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-16 14:33:36 +01:00
Mathieu Desnoyers 51866840d7 membarrier.2: wfix
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
CC: Michael Kerrisk <mtk.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-16 11:27:15 +01:00
Michael Kerrisk 84015a2273 membarrier.2: Rework discussion of 'cmd'
Simplify and eliminate some redundancy.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 17:01:04 +01:00
Michael Kerrisk a93704ad50 membarrier.2: Remove redundant mention of return value of MEMBARRIER_CMD_SHARED
This detail is already covered in RETURN VALUE.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 17:01:04 +01:00
Michael Kerrisk 7a9c62ef10 membarrier.2: Clarify details of return value
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 17:01:04 +01:00
Michael Kerrisk 9eb5be29b8 membarrier.2: Clarify return value for MEMBARRIER_CMD_QUERY
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 17:01:04 +01:00
Michael Kerrisk 7e6241dc67 membarrier.2: Minor fixups to Mathieu's text
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 17:01:04 +01:00
Mathieu Desnoyers d06aa1bf7a membarrier.2: New page documenting membarrier() system call
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Michael Kerrisk <mtk.manpages@gmail.com>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Josh Triplett <josh@joshtriplett.org>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Nicholas Miell <nmiell@comcast.net>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Alan Cox <gnomes@lxorguk.ukuu.org.uk>
Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
Cc: Stephen Hemminger <stephen@networkplumber.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: David Howells <dhowells@redhat.com>
Cc: Pranith Kumar <bobby.prani@gmail.com>
Cc: Michael Kerrisk <mtk.manpages@gmail.com>
Cc: Shuah Khan <shuahkh@osg.samsung.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
CC: linux-api@vger.kernel.org
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 17:01:04 +01:00
Michael Kerrisk 3fbb1be115 futex.2: Minor fixes after comments from Torvald Riegel
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 17:00:04 +01:00
Michael Kerrisk 57f2d48bc1 futex.2: tfix
Reported-by: Alexander Monakov <amonakov@ispras.ru>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 16:47:52 +01:00
Michael Kerrisk ee65b0e842 futex.2: srcfix (notes from conversation with tglx)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:49 +01:00
Michael Kerrisk c3f4c0196a futex.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:49 +01:00
Michael Kerrisk d0442d147d futex.2: wfix
Reported-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:49 +01:00
Michael Kerrisk 1d09c1500f futex.2: Fixes after feedback from Thomas Gleixner
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:49 +01:00
Michael Kerrisk ca4e5b2b99 futex.2: Minor wording fixes
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:49 +01:00
Michael Kerrisk 601399f31f futex.2: Improvements after comments from Darren Hart
Reported-by: Darren Hart <dvhart@infradead.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:49 +01:00
Michael Kerrisk adc89a976e futex.2: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:49 +01:00
Michael Kerrisk 41b6c6a080 futex.2: srcfix: FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:49 +01:00
Michael Kerrisk c3875d1d3a futex.2: Fixes after review comments from Thomas Gleixner
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:49 +01:00
Michael Kerrisk 30239c10a8 futex.2: Various fixes after comments from Thomas Gleixner
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:49 +01:00
Michael Kerrisk aab5ca4b64 futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:49 +01:00
Michael Kerrisk f0a9e8f4ce futex.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:49 +01:00
Michael Kerrisk 39e9b2e1e4 futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:49 +01:00
Michael Kerrisk 9cee832c40 futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:49 +01:00
Michael Kerrisk ac89487996 futex.2: Fixes after review comments from Thomas Gleixner
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:49 +01:00
Michael Kerrisk dcb410c3c8 futex.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:49 +01:00
Michael Kerrisk 627b50ce7c futex.2: Elaborate on why "requeue" operations can be preferable to FUTEX_WAKE
Cowritten-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Michael Kerrisk 8297383e9e futex.2: Clean-ups and FIXME removeal after feedback from Thomas Gleixner
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Michael Kerrisk 27dd3a6e79 futex.2: Remove warning that FUTEX_REQUEUE is broken
Darren Hart pointed me to the comments from Rich Felker
that there are valid use cases for FUTEX_REQUEUE.

    From: Rich Felker <dalias@libc.org>
    Date: Wed, 29 Oct 2014 22:43:17 -0400
    To: Darren Hart <dvhart@infradead.org>
    Cc: GLIBC Devel <libc-alpha@sourceware.org>, ...
    Subject: Re: Add futex wrapper to glibc?

    On Wed, Oct 29, 2014 at 06:59:15PM -0700, Darren Hart wrote:
    [...]
    > I wonder though... can we not wrap FUTEX_REQUEUE? It's fundamentally
    > broken.  FUTEX_CMP_REQUEUE should *always* be used instead. The glibc
    > wrapper is one way to encourage developers to do the right thing
    > (don't expose the bad op in the header).

    You're mistaken here. There are plenty of valid ways to use
    FUTEX_REQUEUE - for example if the calling thread is requeuing the
    target(s) to a lock that the calling thread owns. Just because it
    doesn't meet the needs of the way glibc was using it internally
    doesn't mean it's useless for other applications.

Reported-by: Darren Hart <dvhart@infradead.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Michael Kerrisk da56650ae4 futex.2: srcfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Michael Kerrisk fd1056148b futex.2: Minor wording fixes
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Michael Kerrisk 55f9e85ead futex.2: Minor wording fixes
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Michael Kerrisk b0f35fbb09 futex.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Michael Kerrisk c0dc758efd futex.2: Rewrap some source lines (no content changes)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Michael Kerrisk 9d32a39b82 futex.2: Minor wording fixes
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Michael Kerrisk d45f244c6d futex.2: Minor wording fixes
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Michael Kerrisk 7e8dcabcb1 futex.2: Reword paragraph describing futex word
Reported-by: Davidlohr Bueso <dave@stgolabs.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Michael Kerrisk 02f7b623c9 futex.2: NOTES: futexes are also used to implement read-write locks and barriers
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Michael Kerrisk e0074751c9 futex.2: SEE ALSO: add pthread_mutexattr_getprotocol(3)
Reported-by: Davidlohr Bueso <dave@stgolabs.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Michael Kerrisk 36a90a75ce futex.2: wfix
Reported-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Michael Kerrisk d6bb5a38db futex.2: Tidy up some FIXMEs
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Michael Kerrisk cf44281c66 futex.2: Point out that futexes are used to implement higher-level abstractions
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Reported-by: Torvald Riegel <triegel@redhat.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Michael Kerrisk 78bbcd9faf futex.2: Remove an obsolete FIXME
Reviewed-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Michael Kerrisk cabee29d5e futex.2: tfix
Reported-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Michael Kerrisk e61abc2018 futex.2: tfix
Reported-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Michael Kerrisk a5c5a06aba futex.2: Clarify return value details
Reporte-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Michael Kerrisk 943ccc5228 futex.2: Remove detail about kernel internals
As commented on by Davidlohr Bueso:

    This to me reads a bit too much into the kernel (fastpath,
    refcnt, vmas). Why not just mention that it avoids overhead
    in the kernel or something? I don't recall any manpage
    mentioning such details, but I could be wrong.

Reported-by: Davidlohr Bueso <dave@stgolabs.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Heinrich Schuchardt 10022b8e63 futex.2: Casting utime to uint32_t
The kernel uses the following cast:

  if (cmd == FUTEX_REQUEUE || cmd == FUTEX_CMP_REQUEUE ||
      cmd == FUTEX_CMP_REQUEUE_PI || cmd == FUTEX_WAKE_OP)
    val2 = (u32) (unsigned long) utime;

This ensures that always the least significant four bytes of the
pointer are used, both on ILP32 and LP64 systems.

On a big endian system a simple cast from 64 bit pointer to 32 bit
integer would return the most significant four bytes.

We have to make the reader of the man-page aware of the usage
of the least significant bytes.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Heinrich Schuchardt c6dc40a2c9 futex.2: Use known types
Type u32 is not exposed to the user.  Instead, refer to uint32_t,
which is defined in ISO/IEC 9899:1999.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Heinrich Schuchardt d725ab772e futex.2: tfix
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Michael Kerrisk 78e856927e futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Michael Kerrisk 0c3ec26b07 futex.2: Minor wording fixes
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Heinrich Schuchardt 8e754e12c5 futex.2: explanation of blocking
Use shorter sentences.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:48 +01:00
Heinrich Schuchardt b80daba225 futex.2: explanation of blocking behavior
Shorten overlong sentence.
Highlight futex().
Tfix.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:47 +01:00
Heinrich Schuchardt 344df36631 futex.2: clarify address mapping
Using the word "physical" address should make the text easier to
make.

Avoid negations like "may not be equal".

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:47 +01:00
Heinrich Schuchardt 594536fb2c futex.2: tfix
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:47 +01:00
Michael Kerrisk 4c8cb0ffe6 futex.2: Rewrap some long source lines
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:47 +01:00
Michael Kerrisk 83e80dda44 futex.2: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:47 +01:00
Heinrich Schuchardt 63ad44cb92 futex.2: simplify example
Do not duplicate coding.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:47 +01:00
Heinrich Schuchardt 92a4669004 futex.2: futex.2: Fix error check in EXAMPLE: fork() fails with -1
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:47 +01:00
Michael Kerrisk 357646628c futex.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:47 +01:00
Michael Kerrisk 077981d467 futex.2: Wrap sentences at line boundaries
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:47 +01:00
Michael Kerrisk 74f58a643b futex.2: Explicitly mark FIXMEs added by Torvald Riegel
Mainly so I can keep track of who said what should be fixed/checked

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:47 +01:00
Torvald Riegel 4b35dc5dab futex.2: Terminology fixes
Here is the result of a first pass over futex.2.  I tried to
do nothing that is too controversial.  I tried to apply the
terminology that at least Darren and I had in mind
consistently; but please check again.

The major changes are in how futexes are described in the
introductory parts of the page.  I hope it's easier to understand
now.  I've also tried to add some more precision to the the
description of the synchronization semantics (e.g., it makes a
difference whether we claim something is atomic (without further
qualification), or just atomic wrt.  other futex operations).
In some cases, that adds some verbosity to the text -- but I
believe that this is worth the clarity and consistency in using
terms, for example.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:47 +01:00
Michael Kerrisk 77da5febea futex.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:47 +01:00
Michael Kerrisk 305cc4153b futex.2: Add EXAMPLE program
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:47 +01:00
Michael Kerrisk a4a529e85b get_robust_list.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:47 +01:00
Michael Kerrisk c0a181aa97 get_robust_list.2: Reword EINVAL error text
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:47 +01:00
Michael Kerrisk 02182e7c8c futex.2: srcfix: FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:47 +01:00
Michael Kerrisk 1af427a43d futex.2: srcfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:47 +01:00
Michael Kerrisk 47f5c4baf5 futex.2: srcfix: FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:47 +01:00
Michael Kerrisk f529fd2013 futex Since Linux 2.6.22, EINTR can no longer occur on spurious wakeup
As reported by Rich Felker:

    I see no code in the kernel whereby a "spurious wakeup",
    or anything other than interruption by a signal handler
    that's not SA_RESTART, can cause futex to fail with EINTR.
    In general, overloading of EINTR and/or spurious EINTRs
    from a syscall make it impossible to use that syscall for
    implementing any function where EINTR is a mandatory
    failure on interruption-by-signal, since there is no way
    for userspace to distinguish whether the EINTR occurred
    as a result of an interrupting signal or some other
    reason. The kernel folks have gone to great lengths to fix
    spurious EINTRs (see signal(7) for history), especially by
    non-interrupting signal handlers, including in futex, and
    allowing EINTR here would be contrary to that goal.

     It's my belief that the "or a spurious wakeup" text should
     simply be removed.

     The reason I'm raising this topic is its relevance to a
     thread on libc-alpha:

     [RFC] mutex destruction (#13690): problem description and workarounds

The bug and mailing list discussions to which Rich refers are:
     https://sourceware.org/bugzilla/show_bug.cgi?id=13690
     https://sourceware.org/ml/libc-alpha/2014-12/threads.html#0001

Torvald Riegel also reported the same issue, and Thomas Gleixner
noted that the "EINTR on spurious wakeup" behavior went away in
Linux 2.6.22. See the LKML thread, "futex() man page update help
request", Jan 2015:
http://thread.gmane.org/gmane.linux.kernel/1703405/focus=7734

Reported-by: Rich Felker <dalias@libc.org>
Reported-by: Torvald Riegel <triegel@redhat.com>
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtknpages@gmail.com>
2015-12-15 14:39:47 +01:00
Michael Kerrisk 9732dd8b3f futex.2: Various fixes after review from Davidlohr Bueso
Reviewed-by: Davidlohr Bueso <dave@stgolabs.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:47 +01:00
Michael Kerrisk 2abcba676a futex.2: Remove FUTEX_REQUEUE EINVAL error case
Thomas Gleixner confirmed my reading that this case does
not apply.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:47 +01:00
Michael Kerrisk 9e2b90ee42 futex.2: Add an attmpt at a defintion of PI-aware futexes
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:47 +01:00
Michael Kerrisk 7bd3ffbc52 futex.2: srcfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:47 +01:00
Michael Kerrisk d9d5be6bea futex.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk 809ca3ae64 futex.2: Note that the kernel only "knows" about a futex in the contended case
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk a663ca5a12 futex.2: Add some subsection headings
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk e219551457 futex.2: srcfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk ed44c7c071 futex.2: Rewrite text on intended users of futexes
Eliminate some redundant text.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk abb571e8b7 futex.2: Add text on pairing of FUTEX_WAIT_REQUEUE_PI + FUTEX_CMP_REQUEUE_PI
Reported-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk f1d2171d38 futex.2: srcfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk bdc5957afa futex.2: Process/thread rewordings
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk a59564304a futex.2: srcfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk 6700de2462 futex.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk 7d20efd7b0 futex.2: Add overview of priority inheritance
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk b565548bfa futex.2: Add brief description of the priority inversion problem
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk dd003bef7a futex.2: srcfix: FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk 8fe019c733 futex.2: SEE ALSO: add Documentation/robust-futex-ABI.txt
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk 4cf9289452 futex.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk baf0f1f470 futex.2: Note that syscall() must be employed
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk 4c2222812b futex.2: SEEL ALSO: add author details + other minor tweaks
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk 939ca89f38 futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk d4ba43283d futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk a282e5b050 futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk 30ebf7b4a1 futex.2: srcfix: FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk 7f315ae3e5 futex.2: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk 43d16602be futex.2: srcfix: FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk 64191e8f09 futex.2: srcfix: FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk f2bf5121d5 futex.2: srcfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk 53ba4030d1 futex.2: grfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:46 +01:00
Michael Kerrisk 4e566b1ebd futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk e45f973525 futex.2: Clarify that FUTEX_PRIVATE_FLAG relates to *thread* synchronization
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk f19904c01c futex.2: wfix: mention "virtual" when talking about memory addreses
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk 70b06b9033 futex.2: srcfix
Various minor fixes to source

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk a59fca7505 futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk 21b060bae6 futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk 5d67b190a1 futex.2: srcfix: FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk f0c0d61cd8 futex.2: ERRORS: add EINVAL case for FUTEX_CMP_REQUEUE_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk 99c0ac69d9 futex.2: srcfix: FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk 9786b3ca15 futex.2: ERRORS: Add EINVAL case for FUTEX_CMP_REQUEUE_PI
Reported-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk 75299c8d17 futex.2: Fix EINVAL description for FUTEX_CMP_REQUEUE_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk 6fbeb8f4a0 futex.2: Minor improvement to FUTEX_CMP_REQUEUE_PI text
Reported-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk 55a8bca383 futex.2: srcfix: remove obsolete FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk 1f043693de futex.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk f48516d113 futex.2: ERRORS: added EAGAIN case for FUTEX_WAIT_REQUEUE_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk 63bea7dcbb futex.2: Describe 'timeout' argument of FUTEX_WAIT_REQUEUE_PI 2015-12-15 14:39:45 +01:00
Michael Kerrisk a4e6991290 futex.2: srcfix: FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Thomas Gleixner 6ff1b4c013 futex.2: Document FUTEX_WAIT_REQUEUE_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk c6d8cf213c futex.2: srcfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk 936876a994 futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk de5a3bb47d futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk a696857697 futex.2: srcfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk 768d3c2355 futex.2: Use 'val2' as the term for 'timeout' cast to 'u32'
This simplifies the text somewhat, so we don't need
to repeatedly describe how 'timeout' is cast 'u32'.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk 99c0041df4 futex.2: ERRORS: add another EINVAL case (uaddr2) for FUTEX_CMP_REQUEUE_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk f9250b1a1a futex.2: ERRORS: add EINVAL case for FUTEX_CMP_REQUEUE_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk 025e137469 futex.2: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:45 +01:00
Michael Kerrisk 476debd7ea futex.2: ERRORS: place two similar EINVAL cases together
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk 662c0da854 futex.2: ERRORS: add EDEADLK case for FUTEX_CMP_REQUEUE_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk dc2742a8aa futex.2: ERRORS: add EPERM case for FUTEX_CMP_REQUEUE_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk 04331c3fd8 futex.2: wfix for EPERM error
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk 5eeca85632 futex.2: srcfix: add FIXME for "spurios wakeup" question from Rich Felker
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk 2043f2c133 futex.2: ERRORS: added EINVAL case for FUTEX_CMP_REQUEUE_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk 670b34f8e8 futex.2: srcfix: FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk 794bb106f4 futex.2: ERRORS: add ENOSYS case for FUTEX_WAIT_REQUEUE_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk 4945ff19bb futex.2: ERRORS: add ENOSYS case for FUTEX_CMP_REQUEUE_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk a2ebebcdc7 futex.2: wfix for ENOSYS error
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk 8f2068bbe4 futex.2: ERRORS: add EAGAIN case for FUTEX_CMP_REQUEUE_PI (uaddr futex != val3)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk aaec90325b futex.2: ERRORS: add EAGAIN case for FUTEX_CMP_REQUEUE_PI (uaddr2 owner exiting)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk 8727670917 futex.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk ce5602fde5 futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk 360f773c2b futex.2: ERRORS: add ESRCH case for FUTEX_CMP_REQUEUE_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk 2ed261994a futex.2: SEE ALSO: add pointer to Hart LWN.net article
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk f6af90e736 futex.2: ffix (ASCII art layout)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk c8b921bd42 futex.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk c84cf68c3b futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk be37667386 futex.2: srcfix: FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk fc57e6bb5e futex.2: srcfix: FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk e34a8fb6c3 futex.2: ERRORS: Add ENOMEM case for FUTEX_CMP_REQUEUE_PI
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk 9e54d26d3c futex.2: Add further details for FUTEX_CMP_REQUEUE_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Darren Hart f812a08b1d futex.2: Describe FUTEX_CMP_REQUEUE_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk 084744ef24 futex.2: Note arguments ignored by FUTEX_TRYLOCK_PI
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk 11a194bff8 futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:44 +01:00
Michael Kerrisk 0b76182603 futex.2: srfix: FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk c0091dd3ff futex.2: srcfix: FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk badbf70cad futex.2: Replace instances of EWOULDBLOCK by EAGAIN
On Linux, the two error numbers are the same. The kernel
code for futexes is somehwat inconsistent, using EAGAIN
in some places, and EWOULDBLOCK in others. Let's make the
manual page consistent at least.

This change requires reordering of one entry in ERRORS.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk fa0388c309 futex.2: Rework FUTEXT_TRYLOCK_PI text a litte + add FIXMEs
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk 67833bec78 futex.2: Rework FUTEX_LOCK_PI text and add FIXMEs
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk b52e1cd4a8 futex.2: Further tweaks to PI introductory text
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk f5ad572fcf futex.2: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk 0483b6cce7 futex.2: Add more references to SEE ALSO
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk 79d918c7af futex.2: Rework Hart/Guniguntala text
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk 7c16fbff95 futex.2: Integrate text from Darren Hart on PI Mutexes
From the 2009 Real-Time Linux Workshop paper
Requeue-PI: Making Glibc Condvars PI-Aware
Darren Hart, Dinakar Guniguntala
http://lwn.net/images/conf/rtlws11/papers/proc/p10.pdf

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk b4d4f5c537 futex.2: srcfix: Remove obsolete FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk bd90a5f9c3 futex.2: Add subsection for PI futexes
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk 9ce19cf1b7 futex.2: Fix discussion of FUTEX_LOCK_PI 'timeout' argument
Reading futex_lock_pi(), it appears that the timeout is *not*
interpreted in the same way as for FUTEX_WAKE.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk a8b5b324e3 futex.2: RETURN VALUE: add FUTEX_WAKE_OP
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk 22c15de938 futex.2: RETURN VALUE: add FUTEX_WAIT_REQUEUE_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk dddd395a8d futex.2: RETURN VALUE: add FUTEX_CMP_REQUEUE_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk 52bb928f26 futex.2: RETURN VALUE: add FUTEX_UNLOCK_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk 5c716eef68 futex.2: RETURN VALUE: add FUTEX_TRYLOCK_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk bf02a260f4 futex.2: RETURN VALUE: add FUTEX_LOCK_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk b884566b97 futex.2: RETURN VALUE: add FUTEX_WAKE_BITSET
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk 7bcc535166 futex.2: RETURN VALUE: add FUTEX_WAIT_BITSET
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk 7446a8373c futex.2: RETURN VALUE: mention FUTEX_WAKE_BITSET under FUTEX_WAIT
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk 8f23887259 futex.2: Remove uneeded reference to ERRORS section
(The need to read ERRORS is implied.)

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk dcad19c0c1 futex.2: RETURN VALUE: add placeholder for various operations
There are still several operations whose return value
is not yet described.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk 76f347bada futex.2: ERRORS: Add EPERM case for FUTEX_UNLOCK_PI
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk f2424faec3 futex.2: ERRORS: Add ENOSYS case for FUTEX_UNLOCK_PI
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:43 +01:00
Michael Kerrisk ce022f1841 futex.2: ERRORS: Add EINVAL case for FUTEX_UNLOCK_PI
Reported-by: Thomas Gleixner <tglx@linutronix.de>

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Thomas Gleixner ecae2099c5 futex.2: Document FUTEX_UNLOCK_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 34f14794b5 futex.2: srcfix: FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 12fdbe23b2 futex.2: Rearrange order FUTEX_UNLOCK_PI in list of operations
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk a9dcb4d1de futex.2: ERRORS: Add ENOSYS case for FUTEX_LOCK_PI and FUTEX_TRYLOCK_PI
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk fedaeaf35c futex.2: srcfix: Add FIXME for the FUTEX_OWNER_DIED condition
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk d08ce5dd00 futex.2: srcfix: Add FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 7a39e745a7 futex.2: ERRORS: Add EDEADLK case for FUTEX_LOCK_PI and FUTEX_TRYLOCK_PI
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 6f147f79bf futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 61f8c1d19b futex.2: srcfix: add FIXMEs
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 5662f56a3d futex.2: ERRORS: Add EAGAIN case for FUTEX_LOCK_PI and FUTEX_TRYLOCK_PI
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 0b0e49344a futex.2: ERRORS: Add ESRCH case for FUTEX_LOCK_PI and FUTEX_TRYLOCK_PI
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk c7589177b7 futex.2: ERRORS: Add EPERM case for FUTEX_LOCK_PI and FUTEX_TRYLOCK_PI
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk a218ef20dc futex.2: ERRORS: Add EINVAL case for FUTEX_LOCK_PI and FUTEX_TRYLOCK_PI
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 672595267c futex.2: srcfix: Add some FIXMEs for FUTEX_LOCK_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk a449c6342a futex.2: ERRORS: Add ENOMEM for FUTEX_LOCK_PI and FUTEX_TRYLOCK_PI
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Thomas Gleixner e0547e70ae futex.2: Document FUTEX_LOCK_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk dcdfde2633 futex.2: srcfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk f2103b2686 futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 43b9908905 futex.2: SEE ALSO: add Documentation/{pi-futex.txt,futex-requeue-pi.txt}
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk dd218aaa9d futex.2: srcfix: add FIXMEs
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 9913033cf0 futex.2: SEE ALSO: add get_robust_list(2)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 09cb4ce716 futex.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk a7c2bf45b7 futex.2: Reorder operations list more or less chronologically
Since there are various sets of related futex operations
that were added at the same time, ordering the descriptions
of operations chronologically makes some sense. In the
meantime, though, keep all of the "PI" operations together.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 63d3f91178 futex.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk e9d4496bf3 futex.2: Add discussion of FUTEX_WAIT_BITSET/FUTEX_WAKE_BITSET "multiplexing"
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 98d769c098 futex.2: Enhance FUTEX_WAKE_BITSET text
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Thomas Gleixner 55cc422d78 futex.2: Document FUTEX_WAKE_BITSET
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk fd9e59d424 futex.2: Add description of FUTEX_WAIT_BITSET 'timeout' argument
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Thomas Gleixner 79c9b4366e futex.2: Document FUTEX_WAIT_BITSET
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 5447735dd2 futex.2: Consolidate EINVAL FUTEX_LOCK_PI errors
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 52dee70ef0 futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 180f97b797 futex.2: Reword invalid timeout EINVAL case more generally
Several operations can produce this error, so reword
the text more generally.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 6b060884c5 futex.2: srcfix: added FIXMES
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 0582b19df0 futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 1afcee7c9b futex.2: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 4d85047f16 futex.2: Rewrite text of ETIMEDOUT to omit mention of FUTEX_WAIT
Several operations can employ timeouts, so word this error
more generally.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 0c74df0b6a futex.2: Reword EINVAL error for invalid 'uaddr'/ 'uaddr2' case
There's no need to list all of the various futex operations in
this error case. These arguments are used the same way by each
operation, so the text can be worded in a more general way.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk ae2c1774a2 futex.2: Note the existence of the _PRIVATE constants for 'futex_op'
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk ff5976814d futex.2: Expand FUTEX_FD description
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 75bc6c1197 futex.2: srcfix: note kernel commit that removed FUTEX_FD
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 1abce893a5 futex.2: srcfix: add copyright notices
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 730bfbda71 futex.2: FUTEX_WAKE makes no guarantees about which waiters are awoken
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 2674f7815a futex.2: FUTEX_WAIT_BITSET can also get EINTR error
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 4710334a35 futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 36ab2074ca futex.2: Add introductory paragraph describing 'timeout', 'uaddr2', and 'val3'
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk f388ba704e futex.2: Rewrite the intro paragraphs a little
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk dd05d61221 futex.2: Cut down discussion of FUTEX_REQUEUE; defer to FUTEX_CMP_REQUEUE
FUTEX_CMP_REQUEUE supercedes FUTEX_REQUEUE and provides a superset
of its functionality. There is need to duplicate any details in
the FUTEX_REQUEUE description, simple defer to the
FUTEX_CMP_REQUEUE and note the differences. This also guides the
reader to do the right thing: use FUTEX_CMP_REQUEUE rather than
FUTEX_REQUEUE.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 3dfcc11d46 futex.2: Expand description of FUTEX_CMP_REQUEUE
With some help from "Futexes are tricky" bt Ulrich Drepper.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 4ac63a6c1a futex.2: Warn that FUTEX_REQUEUE should be avoided in favor of FUTEX_CMP_REQUEUE
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 6bac3b8517 futex.2: Document FUTEX_WAKE_OP
Based on "Futexes are tricky" and some reading of the kernel
source.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk f42eb21b57 futex.2: SEE ALSO: Add reference to "Futexes are tricky" by Ulrich Drepper
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk ec77c507c1 futex.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk d33602c4e0 futex.2: Rename 'op' argument to 'futex_op'
This is a little more readable, and also helps avoid confusing
when talking about the 'op' subfield in the FUTEX_WAKE_OP
discussion.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 9a12ca2185 futex.2: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 519f2c3db6 futex.2: srcfix: add FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk f065673c7a futex.2: Elaborate on the operation of FUTEX_WAIT
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 36448cfa8d futex.2: Remove duplicate EQWOULDBLOCK error
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 1c952cf53c futex.2: Note that the CLOCK_MONOTONIC clock is used for relative timeouts
Verified from inspection of kernel/futex.c::futex_wait().

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 1909e523d0 futex.2: Clarify that the FUTEX_WAIT timeout is relative
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 81c9d87e3d futex.2: Clarify which operations were available as at Linux 2.6.0
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 4a7e5b05cc futex.2: Rework FUTEX_CLOCK_REALTIME text
And move ENOSYS diuscussion to ERRORS.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk d67e21f5e2 futex.2: Add placeholders for as yet undocumented operations
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Thomas Gleixner 2e98bbc24a futex.2: Document FUTEX_CLOCK_REALTIME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Thomas Gleixner fc30eb799b futex.2: Document FUTEX_PRIVATE_FLAG
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 6be4bad7e0 futex.2: Note that 'op' argument consists of two parts: operation + options
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 5c47973251 futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 409f08b018 futex.2: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk a72a3aeb43 futex.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk fd1dc4c2c7 futex.2: srcfix: Add FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk e169277fca futex.2: ERRORS: add FUTEX_CMP_REQUEUE to EINVAL inconsistent state case
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk a1f47699ab futex.2: ERRORS: add FUTEX_CMP_REQUEUE to EINVAL for non-4-byte aligned address
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 98fe2f25d2 futex.2: Add FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 03433acb7b futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk add875c03c futex.2: ERRORS: add EINVAL for FUTEX_REQUEUE to same futex
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk bae14b6c60 futex.2: ERRORS: Add FUTEX_REQUEUE to EINVAL inconsistent state case
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk caf1ff2510 futex.2: ERRORS: add FUTEX_REQUEUE to EINVAL for non-4-byte aligned address
Reported-by Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Thomas Gleixner 2abb73b988 futex.2: Rework description of arguments for FUTEX_REQUEUE
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk 4798a7f357 futex.2: ffix: Separate text about ignored arguments into individual paragraphs
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk 496df3049b futex.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Thomas Gleixner 9534086bb1 futex.2: ERRORS: add EINVAL error for FUTEX_WAIT inconsistent state case
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk ea355b7f77 futex.2: Add FUTEX_WAKE to EINVAL error for 'uaddr' not 4-byte aligned
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk d1926d782e futex.2: Reword ETIMEDOUT error
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk 6b5025a640 futex.2: ERRORS: add EWOULDBLOCK for FUTEX_WAIT atomic enqueueing failed
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk 51ee94bee5 futex.2: ERRORS: add EINVAL for 'uaddr' not 4-byte aligned
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk fb2f4c272f futex.2: ERRORS: Add EINVAL error for invalid timeout
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk 1ea901e832 futex.2: ERRORS: Improve description of EFAULT error
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk f97c12d18b mlock.2: Explain purpose of mlock() MLOCK_ONFAULT and mlockall() MCL_ONFAULT
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-14 23:21:03 +01:00
Michael Kerrisk 9f1eb9e08d mlock.2: Minor tweaks
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-14 23:01:27 +01:00
Michael Kerrisk 9e5de5dac4 mlock.2: Add mlock2() to CONFORMING TO
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-14 23:01:27 +01:00
Michael Kerrisk d357d179c9 mlock.2: Minor tweaks to Eric Munson's patch
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-14 23:01:26 +01:00
Michael Kerrisk a0c1a1ef95 mlock.2: srcfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-14 22:27:59 +01:00
Eric B Munson fce0a6991a mlock.2: wfix
Signed-off-by: Eric B Munson <emunson@akamai.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-14 22:27:59 +01:00
Eric B Munson 7a3e8caae4 mlock.2, mlock2.2: Document mlock2(2) and MCL_ONFAULT
Update the mlock(2) man page with information on mlock2()
and the new mlockall() flag MCL_ONFAULT.

Signed-off-by: Eric B Munson <emunson@akamai.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: linux-man@vger.kernel.org
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-14 22:27:38 +01:00
Jakub Wilk 16f21c27f4 prctl.2: tfix
Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-07 08:13:37 +01:00
Jakub Wilk 69e783c6af mount.2: tfix
Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-07 08:13:32 +01:00
Jakub Wilk ae6bc11cdd fcntl.2: tfix
Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-07 08:09:23 +01:00
Jakub Wilk 43d8198d55 dup.2: tfix
Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-07 08:09:03 +01:00
Jakub Wilk 0ffb4f815e ioctl_list.2: spfix
There's no such thing as "Gnu Public License";
GPL stands for "General Public License".

Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-07 08:08:39 +01:00
Michael Kerrisk c93f220249 Removed trailing white space at end of lines 2015-12-05 10:46:28 +01:00
Michael Kerrisk 6f3c74a8b9 mremap.2, open.2, perf_event_open.2, prctl.2, ptrace.2, reboot.2, seccomp.2, signalfd.2, syscalls.2, __ppc_set_ppr_med.3, daemon.3, dirfd.3, fgetgrent.3, fgetpwent.3, getauxval.3, getspnam.3, mallinfo.3, mallopt.3, posix_fallocate.3, termios.3, tty_ioctl.4, core.5, nsswitch.conf.5, proc.5, aio.7, capabilities.7, path_resolution.7, pipe.7, rtld-audit.7, signal.7, tcp.7: tstamp
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-05 10:46:28 +01:00
Michael Kerrisk 73ea29aac2 syscalls.2: Add mlock(2)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-04 16:51:29 +01:00
Michael Kerrisk 269e3b9711 prctl.2: Note that arg4 and arg5 must be zero for CAP_AMBIENT
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-04 16:06:19 +01:00
Michael Kerrisk 0354743157 prctl.2: Reorder options alphabetically
Employ a pseudo-alphabetical order, ordering options after removal
of any "PR_", "PR_SET_", or "PR_GET" prefix.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-04 10:44:46 +01:00
Michael Kerrisk 0c3e75cbbb prctl.2: RETURN VALUE: Add PR_CAP_AMBIENT + PR_CAP_AMBIENT_IS_SET case
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-04 10:44:45 +01:00
Michael Kerrisk 0c98b79aea prctl.2: ERRORS: document PR_CAP_AMBIENT error cases
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-04 10:25:28 +01:00
Michael Kerrisk 0478944d12 prctl.2: Fix alphabetical misplacements in ERRORS
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-04 10:25:28 +01:00
Michael Kerrisk 12b75ea808 prctl.2: srcfix: remove commented-out error text
The PR_SET_SECCOMP EPERM error path was never reachable in strict
mode, and the actual kernel code was removed in Linux 3.5.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-04 10:25:28 +01:00
Michael Kerrisk 8e1ae48f00 prctl.2: Correct kernel version for PR_CAP_AMBIENT
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-04 10:25:28 +01:00
Michael Kerrisk 4bf25b893f prctl.2: Rework PR_CAP_AMBIENT text
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-04 10:25:28 +01:00
Andy Lutomirski e81a96ecbd prctl.2: Document operations for ambient capabilities
Reviewed-by: Kees Cook <keescook@chromium.org>
Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
Signed-off-by: Andy Lutomirski <luto@kernel.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-04 10:25:02 +01:00
Casper Ti. Vector 25fe569385 reboot.2: 1-argument reboot() is also provided by alternative libc
As far as the patch author knows, at least the following
alternative C libraries for linux also provide the
1-argument variant:

* uclibc: all public releases.
* dietlibc: 0.7.2 and all later releases; reboot() was not provided in
            0.7.1 and earlier releases.
* musl: all public releases.
* klibc: all public releases.
* bionic: all public releases.

... which should already cover most use cases.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-02 20:21:33 +01:00
Namhyung Kim cc3407d12d ptrace.2: tfix
Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-02 17:13:38 +01:00
Jakub Wilk 3111b6a633 tee.2: tfix
Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-02 17:12:43 +01:00