hc
2024-02-20 e636c8d336489bf3eed5878299e6cc045bbad077
kernel/tools/include/uapi/linux/prctl.h
....@@ -181,7 +181,7 @@
181181 #define PR_GET_THP_DISABLE 42
182182
183183 /*
184
- * Tell the kernel to start/stop helping userspace manage bounds tables.
184
+ * No longer implemented, but left here to ensure the numbers stay reserved:
185185 */
186186 #define PR_MPX_ENABLE_MANAGEMENT 43
187187 #define PR_MPX_DISABLE_MANAGEMENT 44
....@@ -219,5 +219,32 @@
219219 # define PR_SPEC_ENABLE (1UL << 1)
220220 # define PR_SPEC_DISABLE (1UL << 2)
221221 # define PR_SPEC_FORCE_DISABLE (1UL << 3)
222
+# define PR_SPEC_DISABLE_NOEXEC (1UL << 4)
223
+
224
+/* Reset arm64 pointer authentication keys */
225
+#define PR_PAC_RESET_KEYS 54
226
+# define PR_PAC_APIAKEY (1UL << 0)
227
+# define PR_PAC_APIBKEY (1UL << 1)
228
+# define PR_PAC_APDAKEY (1UL << 2)
229
+# define PR_PAC_APDBKEY (1UL << 3)
230
+# define PR_PAC_APGAKEY (1UL << 4)
231
+
232
+/* Tagged user address controls for arm64 */
233
+#define PR_SET_TAGGED_ADDR_CTRL 55
234
+#define PR_GET_TAGGED_ADDR_CTRL 56
235
+# define PR_TAGGED_ADDR_ENABLE (1UL << 0)
236
+/* MTE tag check fault modes */
237
+# define PR_MTE_TCF_SHIFT 1
238
+# define PR_MTE_TCF_NONE (0UL << PR_MTE_TCF_SHIFT)
239
+# define PR_MTE_TCF_SYNC (1UL << PR_MTE_TCF_SHIFT)
240
+# define PR_MTE_TCF_ASYNC (2UL << PR_MTE_TCF_SHIFT)
241
+# define PR_MTE_TCF_MASK (3UL << PR_MTE_TCF_SHIFT)
242
+/* MTE tag inclusion mask */
243
+# define PR_MTE_TAG_SHIFT 3
244
+# define PR_MTE_TAG_MASK (0xffffUL << PR_MTE_TAG_SHIFT)
245
+
246
+/* Control reclaim behavior when allocating memory */
247
+#define PR_SET_IO_FLUSHER 57
248
+#define PR_GET_IO_FLUSHER 58
222249
223250 #endif /* _LINUX_PRCTL_H */