tracing: Introduce helpers to safely handle dynamic-sized sockaddrs
authorChuck Lever <chuck.lever@oracle.com>
Tue, 11 Jan 2022 17:43:55 +0000 (12:43 -0500)
committerChuck Lever <chuck.lever@oracle.com>
Mon, 14 Feb 2022 16:01:53 +0000 (11:01 -0500)
commit349e6ce41ef32f9028aab6bfa6fc842ce1a502b4
tree38b3eb88587183d1d49b6bf43033f75532f14756
parentf1b4c530314bcbaa17af254640bb886e6c18e369
tracing: Introduce helpers to safely handle dynamic-sized sockaddrs

Enable a struct sockaddr to be stored in a trace record as a
dynamically-sized field. The common cases are AF_INET and AF_INET6
which are different sizes, and are vastly smaller than a struct
sockaddr_storage.

These are safer because, when used properly, the size of the
sockaddr destination field in each trace record is now guaranteed
to be the same as the source address that is being copied into it.

Link: https://lore.kernel.org/all/164182978641.8391.8277203495236105391.stgit@bazille.1015granger.net/
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
include/trace/bpf_probe.h
include/trace/perf.h
include/trace/trace_events.h