From: "Michael Kerrisk (man-pages)" <mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Heinrich Schuchardt <xypron.glpk-Mmb7MZpHnFY@public.gmane.org>
Cc: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 1/1] futex.2: casting utime to uint32_t
Date: Sat, 18 Apr 2015 20:47:28 +0200 [thread overview]
Message-ID: <5532A6C0.4070508@gmail.com> (raw)
In-Reply-To: <1428951018-5770-1-git-send-email-xypron.glpk-Mmb7MZpHnFY@public.gmane.org>
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-Mmb7MZpHnFY@public.gmane.org>
> ---
> 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-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
prev parent reply other threads:[~2015-04-18 18:47 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-13 18:50 [PATCH 1/1] futex.2: casting utime to uint32_t Heinrich Schuchardt
[not found] ` <1428951018-5770-1-git-send-email-xypron.glpk-Mmb7MZpHnFY@public.gmane.org>
2015-04-18 18:47 ` Michael Kerrisk (man-pages) [this message]
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=5532A6C0.4070508@gmail.com \
--to=mtk.manpages-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=xypron.glpk-Mmb7MZpHnFY@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.