diff options
| author | Markos Chandras <markos.chandras@imgtec.com> | 2014-04-22 10:40:36 -0400 |
|---|---|---|
| committer | Ralf Baechle <ralf@linux-mips.org> | 2014-05-13 19:39:54 -0400 |
| commit | f2d0801f00b7aff0ac6b3666cbcdab499267418a (patch) | |
| tree | e8dc06a5b5db6daaca8dd466d86432d905370fd9 /include/uapi/linux | |
| parent | 367f0b50e502d2c384277ba2ed43b04add2b8b6f (diff) | |
MIPS: Add new AUDIT_ARCH token for the N32 ABI on MIPS64
A MIPS64 kernel may support ELF files for all 3 MIPS ABIs
(O32, N32, N64). Furthermore, the AUDIT_ARCH_MIPS{,EL}64 token
does not provide enough information about the ABI for the 64-bit
process. As a result of which, userland needs to use complex
seccomp filters to decide whether a syscall belongs to the o32 or n32
or n64 ABI. Therefore, a new arch token for MIPS64/n32 is added so it
can be used by seccomp to explicitely set syscall filters for this ABI.
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Acked-by: Eric Paris <eparis@redhat.com>
Acked-by: Paul Moore <pmoore@redhat.com>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: linux-mips@linux-mips.org
Link: http://sourceforge.net/p/libseccomp/mailman/message/32239040/
Patchwork: https://patchwork.linux-mips.org/patch/6818/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'include/uapi/linux')
| -rw-r--r-- | include/uapi/linux/audit.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/uapi/linux/audit.h b/include/uapi/linux/audit.h index 11917f747cb4..1b1efddb91cd 100644 --- a/include/uapi/linux/audit.h +++ b/include/uapi/linux/audit.h | |||
| @@ -331,9 +331,17 @@ enum { | |||
| 331 | #define AUDIT_FAIL_PRINTK 1 | 331 | #define AUDIT_FAIL_PRINTK 1 |
| 332 | #define AUDIT_FAIL_PANIC 2 | 332 | #define AUDIT_FAIL_PANIC 2 |
| 333 | 333 | ||
| 334 | /* | ||
| 335 | * These bits disambiguate different calling conventions that share an | ||
| 336 | * ELF machine type, bitness, and endianness | ||
| 337 | */ | ||
| 338 | #define __AUDIT_ARCH_CONVENTION_MASK 0x30000000 | ||
| 339 | #define __AUDIT_ARCH_CONVENTION_MIPS64_N32 0x20000000 | ||
| 340 | |||
| 334 | /* distinguish syscall tables */ | 341 | /* distinguish syscall tables */ |
| 335 | #define __AUDIT_ARCH_64BIT 0x80000000 | 342 | #define __AUDIT_ARCH_64BIT 0x80000000 |
| 336 | #define __AUDIT_ARCH_LE 0x40000000 | 343 | #define __AUDIT_ARCH_LE 0x40000000 |
| 344 | |||
| 337 | #define AUDIT_ARCH_ALPHA (EM_ALPHA|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) | 345 | #define AUDIT_ARCH_ALPHA (EM_ALPHA|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) |
| 338 | #define AUDIT_ARCH_ARM (EM_ARM|__AUDIT_ARCH_LE) | 346 | #define AUDIT_ARCH_ARM (EM_ARM|__AUDIT_ARCH_LE) |
| 339 | #define AUDIT_ARCH_ARMEB (EM_ARM) | 347 | #define AUDIT_ARCH_ARMEB (EM_ARM) |
| @@ -346,7 +354,11 @@ enum { | |||
| 346 | #define AUDIT_ARCH_MIPS (EM_MIPS) | 354 | #define AUDIT_ARCH_MIPS (EM_MIPS) |
| 347 | #define AUDIT_ARCH_MIPSEL (EM_MIPS|__AUDIT_ARCH_LE) | 355 | #define AUDIT_ARCH_MIPSEL (EM_MIPS|__AUDIT_ARCH_LE) |
| 348 | #define AUDIT_ARCH_MIPS64 (EM_MIPS|__AUDIT_ARCH_64BIT) | 356 | #define AUDIT_ARCH_MIPS64 (EM_MIPS|__AUDIT_ARCH_64BIT) |
| 357 | #define AUDIT_ARCH_MIPS64N32 (EM_MIPS|__AUDIT_ARCH_64BIT|\ | ||
| 358 | __AUDIT_ARCH_CONVENTION_MIPS64_N32) | ||
| 349 | #define AUDIT_ARCH_MIPSEL64 (EM_MIPS|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) | 359 | #define AUDIT_ARCH_MIPSEL64 (EM_MIPS|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) |
| 360 | #define AUDIT_ARCH_MIPSEL64N32 (EM_MIPS|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE\ | ||
| 361 | __AUDIT_ARCH_CONVENTION_MIPS64_N32) | ||
| 350 | #define AUDIT_ARCH_OPENRISC (EM_OPENRISC) | 362 | #define AUDIT_ARCH_OPENRISC (EM_OPENRISC) |
| 351 | #define AUDIT_ARCH_PARISC (EM_PARISC) | 363 | #define AUDIT_ARCH_PARISC (EM_PARISC) |
| 352 | #define AUDIT_ARCH_PARISC64 (EM_PARISC|__AUDIT_ARCH_64BIT) | 364 | #define AUDIT_ARCH_PARISC64 (EM_PARISC|__AUDIT_ARCH_64BIT) |
