about summary refs log tree commit diff
path: root/include
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2023-11-01 09:56:05 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2023-11-07 10:27:20 -0300
commit78ed8bdf4f13e7f5d8eef77c12fbb030fdbdafe0 (patch)
tree11eb67f745b6a4142c44e486fba71e74e655f864 /include
parent091ee2190dd5f30ca5eb4549f531ab7b75a1fd6e (diff)
downloadglibc-78ed8bdf4f13e7f5d8eef77c12fbb030fdbdafe0.tar.gz
glibc-78ed8bdf4f13e7f5d8eef77c12fbb030fdbdafe0.tar.xz
glibc-78ed8bdf4f13e7f5d8eef77c12fbb030fdbdafe0.zip
linux: Add PR_SET_VMA_ANON_NAME support
Linux 5.17 added support to naming anonymous virtual memory areas
through the prctl syscall.  The __set_vma_name is a wrapper to avoid
optimizing the prctl call if the kernel does not support it.

If the kernel does not support PR_SET_VMA_ANON_NAME, prctl returns
EINVAL. And it also returns the same error for an invalid argument.
Since it is an internal-only API, it assumes well-formatted input:
aligned START, with (START, START+LEN) being a valid memory range,
and NAME with a limit of 80 characters without an invalid one
("\\`$[]").
Reviewed-by: DJ Delorie <dj@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/sys/prctl.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/sys/prctl.h b/include/sys/prctl.h
index d33f3a290e..8e8e05b07c 100644
--- a/include/sys/prctl.h
+++ b/include/sys/prctl.h
@@ -3,6 +3,11 @@
 
 # ifndef _ISOMAC
 
+#  ifndef PR_SET_VMA
+#   define PR_SET_VMA            0x53564d41
+#   define PR_SET_VMA_ANON_NAME  0
+#  endif
+
 extern int __prctl (int __option, ...);
 libc_hidden_proto (__prctl)