aboutsummaryrefslogtreecommitdiffstats
path: root/docs/linux
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2024-11-26 15:25:16 +0100
committerDmitry Vyukov <dvyukov@google.com>2024-11-27 10:28:33 +0000
commit4f0d9df0078216bcadfc7d4a744a160a1d3659be (patch)
tree551a402090bd19e9d98e678dc28a6d2d19d3944b /docs/linux
parent52b38cc1f0ef7be017dc51c45e16a1054254f95f (diff)
pkg/ifaceprobe: add package
Package ifaceprobe implements dynamic component of automatic kernel interface extraction. Currently it discovers all /{dev,sys,proc} files, and collects coverage for open/read/write/mmap/ioctl syscalls on these files. Later this allows to build file path <-> file_operations mapping. I've tried 2 other approaches: 1. Immediately map file to file_operations callbacks similar to tools/fops_probe, and export only that. This required lots of hardcoding of kernel function/file names, did not work well in all cases, and presumably would produce more maintanance in future. 2. Automatically infer what kernel functions are common, and which correspond to file_operations callbacks by first collecting coverage for all files/programs, and then counting how many times wach PC is encountered in combined coverage. Presumably common functions (SYS_read, vfs_read) will be present in most/all traces, while the actual file_operations callback will be present in only one/few traces. This also did not work well and produced lots of bugs where common functions were somehow called in few programs, or common file_operations callbacks were called in too many traces.
Diffstat (limited to 'docs/linux')
0 files changed, 0 insertions, 0 deletions