# Copyright 2021 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.
#
# This seccomp policy is used by debugd while creating the sandbox to run the
# following command:
# ectool inventory
#
# This policy file was created using the following:
# - Following the instructions listed in:
# https://chromium.googlesource.com/chromiumos/docs/+/HEAD/
# sandboxing.md#detailed-instructions-for-generating-a-seccomp-policy
#
# - Modifications to the ioctl settings based on similar usage in:
# src/platform2/diagnostics/cros_healthd/seccomp/
# ectool_i2cread-seccomp-arm.policy
openat: 1
write: 1
mmap2: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
statx: 1
mprotect: arg2 in ~PROT_EXEC
fstatfs: 1
close: 1
read: 1
# ioctl:
# arg1 == _IOC(_IOC_READ|_IOC_WRITE, 0x3a, 0, 0x1c) (0xc01c3a00) ||
# arg1 == CROS_EC_DEV_IOCRDMEM (0xc108ec01) ||
# arg1 == CROS_EC_DEV_IOCXCMD (0xc014ec00)
#
# Driver type 0x3a (":") = CROS_EC_DEV_IOC
# (Old iotcl format, used by ChromeOS 3.18 and older)
#
# Driver type 0xec = CROS_EC_DEV_IOC_V2
# (New ioctl format, used by ChromeOS 4.4 or later as well as upstream 4.0+)
# Please refer to src/platform/ec/util/cros_ec_dev.h for more info.
ioctl: arg1 == 0xc01c3a00 || arg1 == 0xc108ec01 || arg1 == 0xc014ec00
brk: 1
rt_sigaction: 1
access: 1
faccessat: 1
faccessat2: 1
munmap: 1
set_tid_address: 1
set_robust_list: 1
rt_sigprocmask: 1
prlimit64: 1
uname: 1
exit_group: 1
restart_syscall: 1
exit: 1
rt_sigreturn: 1
connect: 1
lseek: 1
