57 lines · c
1// SPDX-License-Identifier: GPL-2.02#include <linux/init.h>3#include <linux/types.h>4#include <linux/audit_arch.h>5#include <asm/unistd32.h>6 7unsigned compat_dir_class[] = {8#include <asm-generic/audit_dir_write.h>9~0U10};11 12unsigned compat_read_class[] = {13#include <asm-generic/audit_read.h>14~0U15};16 17unsigned compat_write_class[] = {18#include <asm-generic/audit_write.h>19~0U20};21 22unsigned compat_chattr_class[] = {23#include <asm-generic/audit_change_attr.h>24~0U25};26 27unsigned compat_signal_class[] = {28#include <asm-generic/audit_signal.h>29~0U30};31 32int audit_classify_compat_syscall(int abi, unsigned syscall)33{34 switch (syscall) {35#ifdef __NR_open36 case __NR_open:37 return AUDITSC_OPEN;38#endif39#ifdef __NR_openat40 case __NR_openat:41 return AUDITSC_OPENAT;42#endif43#ifdef __NR_socketcall44 case __NR_socketcall:45 return AUDITSC_SOCKETCALL;46#endif47 case __NR_execve:48 return AUDITSC_EXECVE;49#ifdef __NR_openat250 case __NR_openat2:51 return AUDITSC_OPENAT2;52#endif53 default:54 return AUDITSC_COMPAT;55 }56}57