Re: [PATCH 1/3] seccomp, ptrace: switch get_metadata types to arch independent

From: Dmitry V. Levin
Date: Tue Feb 20 2018 - 22:17:40 EST


On Tue, Feb 20, 2018 at 07:47:45PM -0700, Tycho Andersen wrote:
> Commit 26500475ac1b ("ptrace, seccomp: add support for retrieving seccomp
> metadata") introduced `struct seccomp_metadata`, which contained unsigned
> longs that should be arch independent. The type of the flags member was
> chosen to match the corresponding argument to seccomp(), and so we need
> something at least as big as unsigned long. My understanding is that __u64
> should fit the bill, so let's switch both types to that.
>
> While this is userspace facing, it was only introduced in 4.16-rc2, and so
> should be safe assuming it goes in before then.
>
> Reported-by: "Dmitry V. Levin" <ldv@xxxxxxxxxxxx>
> Signed-off-by: Tycho Andersen <tycho@xxxxxxxx>
> CC: Kees Cook <keescook@xxxxxxxxxxxx>
> CC: Oleg Nesterov <oleg@xxxxxxxxxx>
> ---
> include/uapi/linux/ptrace.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/uapi/linux/ptrace.h b/include/uapi/linux/ptrace.h
> index e46d82b91166..d5a1b8a492b9 100644
> --- a/include/uapi/linux/ptrace.h
> +++ b/include/uapi/linux/ptrace.h
> @@ -69,8 +69,8 @@ struct ptrace_peeksiginfo_args {
> #define PTRACE_SECCOMP_GET_METADATA 0x420d
>
> struct seccomp_metadata {
> - unsigned long filter_off; /* Input: which filter */
> - unsigned int flags; /* Output: filter's flags */
> + __u64 filter_off; /* Input: which filter */
> + __u64 flags; /* Output: filter's flags */
> };
>
> /* Read signals from a shared (process wide) queue */

That's much better, thanks.

Reviewed-by: "Dmitry V. Levin" <ldv@xxxxxxxxxxxx>


--
ldv

Attachment: signature.asc
Description: PGP signature