diff options
| author | David S. Miller <davem@davemloft.net> | 2021-06-29 11:28:21 -0700 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2021-06-29 11:28:21 -0700 |
| commit | c79fa61c94f7a7aa7a185509fca1e1ae5c44ab23 (patch) | |
| tree | e9b4fecafa57b087fc3c3692c9c6ac9bf6d07311 /drivers | |
| parent | 7f4e5c5b8cb00138ad1a10cab87bbd1e2d4d3376 (diff) | |
| parent | e6a3e4434000de5c36d606e5b5da5f7ba49444bd (diff) | |
| download | linux-next-c79fa61c94f7a7aa7a185509fca1e1ae5c44ab23.tar.gz linux-next-c79fa61c94f7a7aa7a185509fca1e1ae5c44ab23.zip | |
Merge branch 'inet-sk_error-tracers'
Alexander Aring says:
====================
net: sock: add tracers for inet socket errors
this patch series introduce tracers for sk_error_report socket callback
calls. The use-case is that a user space application can monitor them
and making an own heuristic about bad peer connections even over a
socket lifetime. To make a specific example it could be use in the Linux
cluster world to fence a "bad" behaving node. For now it's okay to only
trace inet sockets. Other socket families can introduce their own tracers
easily.
Example output with trace-cmd:
<idle>-0 [003] 201.799437: inet_sk_error_report: family=AF_INET protocol=IPPROTO_TCP sport=21064 dport=38941 saddr=192.168.122.57 daddr=192.168.122.251 saddrv6=::ffff:192.168.122.57 daddrv6=::ffff:192.168.122.251 error=104
- Alex
changes since v2:
- change "sk.sk_error_report(&ipc->sk);" to "sk_error_report(&ipc->sk);"
in net/qrtr/qrtr.c
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c | 2 | ||||
| -rw-r--r-- | drivers/vhost/vsock.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c b/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c index 19dc7dc054a2..bcad69c48074 100644 --- a/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c +++ b/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c @@ -2134,7 +2134,7 @@ static void chtls_abort_req_rss(struct sock *sk, struct sk_buff *skb) sk->sk_err = ETIMEDOUT; if (!sock_flag(sk, SOCK_DEAD)) - sk->sk_error_report(sk); + sk_error_report(sk); if (sk->sk_state == TCP_SYN_RECV && !abort_syn_rcv(sk, skb)) return; diff --git a/drivers/vhost/vsock.c b/drivers/vhost/vsock.c index 119f08491d3c..d38c996b4f46 100644 --- a/drivers/vhost/vsock.c +++ b/drivers/vhost/vsock.c @@ -734,7 +734,7 @@ static void vhost_vsock_reset_orphans(struct sock *sk) vsk->peer_shutdown = SHUTDOWN_MASK; sk->sk_state = SS_UNCONNECTED; sk->sk_err = ECONNRESET; - sk->sk_error_report(sk); + sk_error_report(sk); } static int vhost_vsock_dev_release(struct inode *inode, struct file *file) |
