Netlink GENERIC protocol allows a process to talk with a subsystem of Linux kernel specified by its name(family name); the process asks the id(family id)for the name first, then talks to the subsystem with the id. The id is defined at run-time, when the subsystem is registered. Therefore strace cannot make a table mapping from a family id to its family name in build-time.
These change sets are for decoding family ids. strace gets the mapping and makes the table at run-time. Following case is not considered yet. The target process it self can ask registering a subsystem not registered yet to Linux kernel. When strace detects such action of the target process, strace should extend the table for decoding the family id of the newly registered subsystem. Highlight in v3: * Introduce xstrndup and use it for extracting a family name from a netlink packet. * Reflect suggestions from ldv. Changes in v2: * Fix the most of formatting issues reported by Linux kernel's checkpatch.pl script. Suggested by Dmitry V. Levin <l...@altlinux.org>. * keep NETLINK_* entries in nlmsg_types sorted. Suggested by JingPiao Chen <chenjingp...@gmail.com>. * Add tests/.gitignore to 6/6 change log. Suggested by JingPiao Chen <chenjingp...@gmail.com>. Masatake YAMATO (5): dyxlat: building xlat dynamically Introduce xstrndup function socketutils: build a xlat table dynamically for decoding "family" field of Netlink GENERIC protocol netlink: decode "family" field of Netlink GENERIC protocol tests: add check for decoding family field of netlink GENERIC protocol Makefile.am | 1 + configure.ac | 1 + defs.h | 9 ++++ dyxlat.c | 103 +++++++++++++++++++++++++++++++++++++++++ netlink.c | 8 +++- socketutils.c | 110 ++++++++++++++++++++++++++++++++++++++++++++ tests/.gitignore | 1 + tests/gen_tests.in | 1 + tests/netlink_generic.c | 80 ++++++++++++++++++++++++++++++++ tests/pure_executables.list | 1 + xmalloc.c | 12 +++++ 11 files changed, 325 insertions(+), 2 deletions(-) create mode 100644 dyxlat.c create mode 100644 tests/netlink_generic.c -- 2.9.4 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel