hc
2024-01-31 f9004dbfff8a3fbbd7e2a88c8a4327c7f2f8e5b2
kernel/include/trace/events/sock.h
....@@ -19,7 +19,8 @@
1919 #define inet_protocol_names \
2020 EM(IPPROTO_TCP) \
2121 EM(IPPROTO_DCCP) \
22
- EMe(IPPROTO_SCTP)
22
+ EM(IPPROTO_SCTP) \
23
+ EMe(IPPROTO_MPTCP)
2324
2425 #define tcp_state_names \
2526 EM(TCP_ESTABLISHED) \
....@@ -82,7 +83,7 @@
8283 TP_fast_assign(
8384 __entry->rmem_alloc = atomic_read(&sk->sk_rmem_alloc);
8485 __entry->truesize = skb->truesize;
85
- __entry->sk_rcvbuf = sk->sk_rcvbuf;
86
+ __entry->sk_rcvbuf = READ_ONCE(sk->sk_rcvbuf);
8687 ),
8788
8889 TP_printk("rmem_alloc=%d truesize=%u sk_rcvbuf=%d",
....@@ -97,7 +98,7 @@
9798
9899 TP_STRUCT__entry(
99100 __array(char, name, 32)
100
- __field(long *, sysctl_mem)
101
+ __array(long, sysctl_mem, 3)
101102 __field(long, allocated)
102103 __field(int, sysctl_rmem)
103104 __field(int, rmem_alloc)
....@@ -109,13 +110,15 @@
109110
110111 TP_fast_assign(
111112 strncpy(__entry->name, prot->name, 32);
112
- __entry->sysctl_mem = prot->sysctl_mem;
113
+ __entry->sysctl_mem[0] = READ_ONCE(prot->sysctl_mem[0]);
114
+ __entry->sysctl_mem[1] = READ_ONCE(prot->sysctl_mem[1]);
115
+ __entry->sysctl_mem[2] = READ_ONCE(prot->sysctl_mem[2]);
113116 __entry->allocated = allocated;
114117 __entry->sysctl_rmem = sk_get_rmem0(sk, prot);
115118 __entry->rmem_alloc = atomic_read(&sk->sk_rmem_alloc);
116119 __entry->sysctl_wmem = sk_get_wmem0(sk, prot);
117120 __entry->wmem_alloc = refcount_read(&sk->sk_wmem_alloc);
118
- __entry->wmem_queued = sk->sk_wmem_queued;
121
+ __entry->wmem_queued = READ_ONCE(sk->sk_wmem_queued);
119122 __entry->kind = kind;
120123 ),
121124
....@@ -147,7 +150,7 @@
147150 __field(__u16, sport)
148151 __field(__u16, dport)
149152 __field(__u16, family)
150
- __field(__u8, protocol)
153
+ __field(__u16, protocol)
151154 __array(__u8, saddr, 4)
152155 __array(__u8, daddr, 4)
153156 __array(__u8, saddr_v6, 16)