Hello Heinrich, On 04/13/2015 08:50 PM, Heinrich Schuchardt wrote: > 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. Nice patch, and well explained. Applied. Cheers, Michael > Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx> > --- > man2/futex.2 | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/man2/futex.2 b/man2/futex.2 > index 9fd8a51..7732822 100644 > --- a/man2/futex.2 > +++ b/man2/futex.2 > @@ -136,11 +136,13 @@ argument is a pointer to a > .IR timespec > structure that specifies a timeout for the operation. > However, notwithstanding the prototype shown above, for some operations, > -this argument is instead a four-byte integer whose meaning > +the least significant four bytes are used as an integer whose meaning > is determined by the operation. > For these operations, the kernel casts the > .I timeout > -value to > +value first to > +.IR "unsigned long", > +then to > .IR uint32_t , > and in the remainder of this page, this argument is referred to as > .I val2 > -- 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@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html