Le 23/09/2024 à 16:19, Vincenzo Frascino a écrit :
The VDSO implementation includes headers from outside of the
vdso/ namespace.
Introduce asm/vdso/mman.h to make sure that the generic library
uses only the allowed namespace.
Cc: Andy Lutomirski <luto@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Jason A. Donenfeld <Jason@xxxxxxxxx>
Signed-off-by: Vincenzo Frascino <vincenzo.frascino@xxxxxxx>
---
arch/x86/include/asm/vdso/mman.h | 15 +++++++++++++++
1 file changed, 15 insertions(+)
create mode 100644 arch/x86/include/asm/vdso/mman.h
diff --git a/arch/x86/include/asm/vdso/mman.h b/arch/x86/include/asm/vdso/mman.h
new file mode 100644
index 000000000000..4c936c9d11ab
--- /dev/null
+++ b/arch/x86/include/asm/vdso/mman.h
@@ -0,0 +1,15 @@
+
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __ASM_VDSO_MMAN_H
+#define __ASM_VDSO_MMAN_H
+
+#ifndef __ASSEMBLY__
+
+#include <uapi/linux/mman.h>
+
+#define VDSO_MMAP_PROT PROT_READ | PROT_WRITE
+#define VDSO_MMAP_FLAGS MAP_DROPPABLE | MAP_ANONYMOUS
I still can't see the point with that change.
Today 4 architectures implement getrandom and none of them require that
indirection. Please leave prot and flags as they are in the code.
Then this file is totally pointless, VDSO code can include
uapi/linux/mman.h directly.
VDSO is userland code, it should be safe to include any UAPI file there.
Christophe
+
+#endif /* !__ASSEMBLY__ */
+
+#endif /* __ASM_VDSO_MMAN_H */