syzkaller/pkg/symbolizer
Dmitry Vyukov 02754a8f9a tools/syz-check: check netlink policy descriptions
Overall idea of netlink checking.
Currnetly we check netlink policies for common detectable mistakes.
First, we detect what looks like a netlink policy in our descriptions
(these are structs/unions only with nlattr/nlnext/nlnetw fields).
Then we find corresponding symbols (offset/size) in vmlinux using nm.
Then we read elf headers and locate where these symbols are in the rodata section.
Then read in the symbol data, which is an array of nla_policy structs.
These structs allow to easily figure out type/size of attributes.
Finally we compare our descriptions with the kernel policy description.

Update #590
2020-01-22 12:19:53 +01:00
..
testdata pkg/symbolizer: move from symbolizer 2017-06-17 14:41:15 +02:00
nm_test.go tools/syz-check: check netlink policy descriptions 2020-01-22 12:19:53 +01:00
nm.go tools/syz-check: check netlink policy descriptions 2020-01-22 12:19:53 +01:00
symbolizer_test.go .gometalinter.json: enable gofmt 2018-07-31 12:16:54 +02:00
symbolizer.go pkg/osutil: don't leace runaway processes 2017-11-16 12:48:02 +01:00