[PATCH v4 4/6] linux: Add compatibility definitions to sys/prctl.h for MTE
Siddhesh Poyarekar
siddhesh@gotplt.org
Mon Dec 21 13:32:22 GMT 2020
On 12/19/20 12:59 AM, Richard Earnshaw via Libc-alpha wrote:
>
> Older versions of the Linux kernel headers obviously lack support for
> memory tagging, but we still want to be able to build in support when
> using those (obviously it can't be enabled on such systems).
>
> The linux kernel extensions are made to the platform-independent
> header (linux/prctl.h), so this patch takes a similar approach.
> ---
> sysdeps/unix/sysv/linux/sys/prctl.h | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
Please put the additions into an architecture-specific
sysdeps/unix/sysv/linux/aarch64/sys/prctl.h and include_next this file
from there.
>
> diff --git a/sysdeps/unix/sysv/linux/sys/prctl.h b/sysdeps/unix/sysv/linux/sys/prctl.h
> index 7f748ebeeb..4d01379c23 100644
> --- a/sysdeps/unix/sysv/linux/sys/prctl.h
> +++ b/sysdeps/unix/sysv/linux/sys/prctl.h
> @@ -21,6 +21,24 @@
> #include <features.h>
> #include <linux/prctl.h> /* The magic values come from here */
>
> +/* Recent extensions to linux which may post-date the kernel headers
> + we're picking up... */
> +
> +/* Memory tagging control operations (for AArch64). */
> +#ifndef PR_TAGGED_ADDR_ENABLE
> +# define PR_TAGGED_ADDR_ENABLE (1UL << 8)
> +#endif
> +
> +#ifndef PR_MTE_TCF_SHIFT
> +# define PR_MTE_TCF_SHIFT 1
> +# define PR_MTE_TCF_NONE (0UL << PR_MTE_TCF_SHIFT)
> +# define PR_MTE_TCF_SYNC (1UL << PR_MTE_TCF_SHIFT)
> +# define PR_MTE_TCF_ASYNC (2UL << PR_MTE_TCF_SHIFT)
> +# define PR_MTE_TCF_MASK (3UL << PR_MTE_TCF_SHIFT)
> +# define PR_MTE_TAG_SHIFT 3
> +# define PR_MTE_TAG_MASK (0xffffUL << PR_MTE_TAG_SHIFT)
> +#endif
> +
> __BEGIN_DECLS
>
> /* Control process execution. */
More information about the Libc-alpha
mailing list