diff options
| author | shatoboar <57257492+shatoboar@users.noreply.github.com> | 2021-12-20 13:31:04 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-20 13:31:04 +0100 |
| commit | 6db1c30d5f4dfe75f2d6894fb8a3d6228d699d88 (patch) | |
| tree | 1afd1a4bd59125657e58c5d2aa21eed02433b0d1 /sys | |
| parent | 021b36cb024795a0e0098dd09a56214438422951 (diff) | |
sys/linux: add Damon description
* sys/linux/damon.txt: initial description
description of DAMON's interface mounted in debugfs: target_ids, attrs, init_regions, monitor_on
* sys/linux/damon.txt: additional damon interface description added
added DAMON interface descriptions for schemes, kdamond_pid, mk_contexts, rm_contexts
prefix of all the files with damon to avoid colliding naming
* sys/linux/damon.txt: standard copyright statement added
* sys/linux/damon.txt.const: const file of sys/linux/damon.txt added
* sys/linux/damon.txt: type fix of pid to fmt
* dashboard/config/linux/bits/subsystems.yml: damon configs added for Syzbot
* dashboard/config/linux: generated kernel configs with added damon config
* sys/linux/damon.txt: fmt type fix
* sys/linux/damon.txt: read and close syscalls removed
write and read mk_contexts summarized into one syscall
some refining of syscall interfaces
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/linux/damon.txt | 77 | ||||
| -rw-r--r-- | sys/linux/damon.txt.const | 5 |
2 files changed, 82 insertions, 0 deletions
diff --git a/sys/linux/damon.txt b/sys/linux/damon.txt new file mode 100644 index 000000000..35313faa0 --- /dev/null +++ b/sys/linux/damon.txt @@ -0,0 +1,77 @@ +# Copyright 2018 syzkaller project authors. All rights reserved. +# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. + +include <uapi/linux/fcntl.h> +include <uapi/linux/mount.h> + +resource fd_damon_target_ids[fd] +resource fd_damon_attrs[fd] +resource fd_damon_monitor_on[fd] +resource fd_damon_init_regions[fd] +resource fd_damon_schemes[fd] +resource fd_damon_contexts[fd] + +openat$damon_target_ids(fd const[AT_FDCWD], file ptr[in, string["/sys/kernel/debug/damon/target_ids"]], flags flags[open_flags], mode flags[open_mode]) fd_damon_target_ids +openat$damon_attrs(fd const[AT_FDCWD], file ptr[in, string["/sys/kernel/debug/damon/attrs"]], flags flags[open_flags], mode flags[open_mode]) fd_damon_attrs +openat$damon_init_regions(fd const[AT_FDCWD], file ptr[in, string["/sys/kernel/debug/damon/init_regions"]], flags flags[open_flags], mode flags[open_mode]) fd_damon_init_regions +openat$damon_monitor_on(fd const[AT_FDCWD], file ptr[in, string["/sys/kernel/debug/damon/monitor_on"]], flags flags[open_flags], mode flags[open_mode]) fd_damon_monitor_on +openat$damon_schemes(fd const[AT_FDCWD], file ptr[in, string["/sys/kernel/debug/damon/schemes"]], flags flags[open_flags], mode flags[open_mode]) fd_damon_schemes +openat$damon_kdamond_pid(fd const[AT_FDCWD], file ptr[in, string["/sys/kernel/debug/damon/kdamond_pid"]], flags flags[open_flags], mode flags[open_mode]) fd +openat$damon_mk_contexts(fd const[AT_FDCWD], file ptr[in, string["/sys/kernel/debug/damon/mk_contexts"]], flags flags[open_flags], mode flags[open_mode]) fd_damon_contexts +openat$damon_rm_contexts(fd const[AT_FDCWD], file ptr[in, string["/sys/kernel/debug/damon/rm_contexts"]], flags flags[open_flags], mode flags[open_mode]) fd_damon_contexts + +write$damon_target_ids(fd fd_damon_target_ids, buf ptr[in, damon_target_id_input], count len[buf]) +write$damon_attrs(fd fd_damon_attrs, buf ptr[in, damon_attrs], count len[buf]) +write$damon_init_regions(fd fd_damon_init_regions, buf ptr[in, damon_init_regions], count len[buf]) +write$damon_monitor_on(fd fd_damon_monitor_on, buf ptr[in, string["on"]], count len[buf]) +write$damon_schemes(fd fd_damon_schemes, buf ptr[in, damon_schemes], count len[buf]) +write$damon_contexts(fd fd_damon_contexts, buf ptr[in, array[damon_contexts]], count len[buf]) + +damon_schemes { + min_size fmt[dec, int32] + max_size fmt[dec, int32] + min_acc const[' ', int8] + max_acc const[' ', int8] + min_age fmt[dec, int32] + max_age fmt[dec, int32] + action fmt[dec, int32] +} [packed] + +damon_target_id_input { + paddr optional[string["paddr\n"]] + pids array[damon_target_pid] +} [packed] + +damon_target_pid { + space stringnoz[" "] + pid fmt[dec, pid] +} + +damon_attrs { + sampl_interval damon_attr + aggr_interval damon_attr + reg_upd_interval damon_attr + min damon_attr + max damon_attr +} [packed] + +damon_attr { + space stringnoz[" "] + val fmt[dec, int32] +} + +damon_init_regions { + target damon_target_pid + start damon_addr + end damon_addr +} [packed] + +damon_addr { + space stringnoz[" "] + val fmt[dec, int64] +} + +damon_contexts { + space stringnoz[" "] + dir_name stringnoz[filename] +} diff --git a/sys/linux/damon.txt.const b/sys/linux/damon.txt.const new file mode 100644 index 000000000..30259d4b7 --- /dev/null +++ b/sys/linux/damon.txt.const @@ -0,0 +1,5 @@ +# Code generated by syz-sysgen. DO NOT EDIT. +arches = 386, amd64, arm, arm64, mips64le, ppc64le, riscv64, s390x +AT_FDCWD = 18446744073709551516 +__NR_openat = 56, 386:295, amd64:257, arm:322, mips64le:5247, ppc64le:286, s390x:288 +__NR_write = 4, amd64:1, arm64:riscv64:64, mips64le:5001 |
