# Copyright 2023 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# These seccomp rules specify only the syscalls used by the Himax hx_util
# tool.  The updater hx_util should only be used through minijail with
# these rules.

# rseq should be first due to frequency and purpose to decrease nptl latency
rseq: 1
# ioctl:
#   I2C_FUNCS: 0x705
#   I2C_RDWR: 0x707
#   HIDIOCGRAWINFO: 0x80084803
#   HIDIOCGFEATURE(256): 0xc1004807
#   HIDIOCGRDESCSIZE: 0x80044801
#   HIDIOCGRDESC: 0x90044802
#   HIDIOCGFEATURE(2): 0xc0024807
#   HIDIOCSFEATURE(2): 0xc0024806
#   HIDIOCSFEATURE(1025): 0xc4014806
ioctl: arg1 == 0x705 || arg1 == 0x707 || arg1 == 0xc0024807 || \
        arg1 == 0xc1004807 || arg1 == 0x80044801 || arg1 == 0xc0024806 || \
        arg1 == 0x80084803 || arg1 == 0x90044802 || arg1 == 0xc4014806
clock_nanosleep: 1
write: 1
openat: 1
newfstatat: 1
getrandom: 1
getdents64: 1
fstat: 1
close: 1
mmap: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
readlinkat: 1
read: 1
mprotect: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
brk: 1
execve: 1
fstatfs: 1
munmap: 1
rt_sigaction: 1
lseek: 1
faccessat: 1
set_tid_address: 1
set_robust_list: 1
rt_sigprocmask: 1
prlimit64: 1
exit_group: 1
restart_syscall: 1
exit: 1
rt_sigreturn: 1
uname: 1
gettid: 1
