aboutsummaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/bin/export-to-postgresql-report
diff options
context:
space:
mode:
authorAlexander Mikhalitsyn <[email protected]>2023-05-11 15:25:06 +0200
committerDavid S. Miller <[email protected]>2023-05-12 10:07:16 +0100
commit2598619e012cee5273a2821441b9a051ad931249 (patch)
treec512bd1483ee4b4b4acbd1e8b5c1f2f639d03b27 /tools/perf/scripts/python/bin/export-to-postgresql-report
parente7ea5080ef3fd433b42acda80138e6c7dd8371eb (diff)
sctp: add bpf_bypass_getsockopt proto callback
Implement ->bpf_bypass_getsockopt proto callback and filter out SCTP_SOCKOPT_PEELOFF, SCTP_SOCKOPT_PEELOFF_FLAGS and SCTP_SOCKOPT_CONNECTX3 socket options from running eBPF hook on them. SCTP_SOCKOPT_PEELOFF and SCTP_SOCKOPT_PEELOFF_FLAGS options do fd_install(), and if BPF_CGROUP_RUN_PROG_GETSOCKOPT hook returns an error after success of the original handler sctp_getsockopt(...), userspace will receive an error from getsockopt syscall and will be not aware that fd was successfully installed into a fdtable. As pointed by Marcelo Ricardo Leitner it seems reasonable to skip bpf getsockopt hook for SCTP_SOCKOPT_CONNECTX3 sockopt too. Because internaly, it triggers connect() and if error is masked then userspace will be confused. This patch was born as a result of discussion around a new SCM_PIDFD interface: https://lore.kernel.org/all/[email protected]/ Fixes: 0d01da6afc54 ("bpf: implement getsockopt and setsockopt hooks") Cc: Daniel Borkmann <[email protected]> Cc: Christian Brauner <[email protected]> Cc: Stanislav Fomichev <[email protected]> Cc: Neil Horman <[email protected]> Cc: Marcelo Ricardo Leitner <[email protected]> Cc: Xin Long <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Suggested-by: Stanislav Fomichev <[email protected]> Acked-by: Stanislav Fomichev <[email protected]> Signed-off-by: Alexander Mikhalitsyn <[email protected]> Acked-by: Xin Long <[email protected]> Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/bin/export-to-postgresql-report')
0 files changed, 0 insertions, 0 deletions