# 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 include 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 bytesize[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] }