# Copyright 2017 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# These seccomp rules specify the syscalls used by the touch_keyboard_handler
# on x86 systems.

access: 1
arch_prctl: 1
brk: 1
clone: 1
close: 1
execve: 1
exit: 1
exit_group: 1
fstat: 1
futex: 1
getrlimit: 1
# ioctl: arg1 == EVIOCSFF
#        arg1 == EVIOCGABS(ABS_X) || arg1 == EVIOCGABS(ABS_Y) ||
#        arg1 == EVIOCGABS(ABS_PRESSURE) || arg1 == EVIOCGABS(ABS_MT_SLOT) ||
#        arg1 == EVIOCGABS(ABS_MT_TOUCH_MAJOR) ||
#        arg1 == EVIOCGABS(ABS_MT_TOUCH_MINOR) ||
#        arg1 == EVIOCGABS(ABS_MT_ORIENTATION) ||
#        arg1 == EVIOCGABS(ABS_MT_POSITION_X) ||
#        arg1 == EVIOCGABS(ABS_MT_POSITION_Y) ||
#        arg1 == EVIOCGABS(ABS_MT_TRACKING_ID) ||
#        arg1 == EVIOCGABS(ABS_MT_PRESSURE) ||
#        arg1 == EVIOCGBIT(0, EV_MAX) || arg1 == EVIOCGBIT(EV_ABS, KEY_MAX) ||
#        arg1 == UI_ABS_SETUP || arg1 == UI_DEV_CREATE ||
#        arg1 == UI_DEV_DESTROY || arg1 == UI_DEV_SETUP ||
#        arg1 == UI_SET_ABSBIT || arg1 == UI_SET_EVBIT ||
#        arg1 == UI_SET_KEYBIT
ioctl: arg1 == 0x40304580 || arg1 == 0x80184540 || arg1 == 0x80184541 || arg1 == 0x80184558 || arg1 == 0x8018456f || arg1 == 0x80184570 || arg1 == 0x80184571 || arg1 == 0x80184574 || arg1 == 0x80184575 || arg1 == 0x80184576 || arg1 == 0x80184579 || arg1 == 0x8018457a || arg1 == 0x801f4520 || arg1 == 0x82ff4523 || arg1 == 0x401c5504 || arg1 == 0x5501 || arg1 == 0x5502 || arg1 == 0x405c5503 || arg1 == 0x40045567 || arg1 == 0x40045564 || arg1 == 0x40045565
lseek: 1
mmap: 1
mprotect: 1
munmap: 1
open: 1
read: 1
restart_syscall: 1
rt_sigaction: 1
rt_sigprocmask: 1
rt_sigreturn: 1
select: 1
set_robust_list: 1
set_tid_address: 1
stat: 1
wait4: 1
write: 1
