mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-12 01:20:14 +00:00
net: add sk_drops_skbadd() helper
Existing sk_drops_add() helper is renamed to sk_drops_skbadd(). Add sk_drops_add() and convert sk_drops_inc() to use it. Signed-off-by: Eric Dumazet <edumazet@google.com> Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com> Link: https://patch.msgid.link/20250826125031.1578842-3-edumazet@google.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
f86f42ed2c
commit
cb4d5a6eb6
@ -315,7 +315,7 @@ static inline bool sk_psock_test_state(const struct sk_psock *psock,
|
||||
|
||||
static inline void sock_drop(struct sock *sk, struct sk_buff *skb)
|
||||
{
|
||||
sk_drops_add(sk, skb);
|
||||
sk_drops_skbadd(sk, skb);
|
||||
kfree_skb(skb);
|
||||
}
|
||||
|
||||
|
||||
@ -2682,9 +2682,14 @@ struct sock_skb_cb {
|
||||
#define sock_skb_cb_check_size(size) \
|
||||
BUILD_BUG_ON((size) > SOCK_SKB_CB_OFFSET)
|
||||
|
||||
static inline void sk_drops_add(struct sock *sk, int segs)
|
||||
{
|
||||
atomic_add(segs, &sk->sk_drops);
|
||||
}
|
||||
|
||||
static inline void sk_drops_inc(struct sock *sk)
|
||||
{
|
||||
atomic_inc(&sk->sk_drops);
|
||||
sk_drops_add(sk, 1);
|
||||
}
|
||||
|
||||
static inline int sk_drops_read(const struct sock *sk)
|
||||
@ -2704,11 +2709,11 @@ sock_skb_set_dropcount(const struct sock *sk, struct sk_buff *skb)
|
||||
sk_drops_read(sk) : 0;
|
||||
}
|
||||
|
||||
static inline void sk_drops_add(struct sock *sk, const struct sk_buff *skb)
|
||||
static inline void sk_drops_skbadd(struct sock *sk, const struct sk_buff *skb)
|
||||
{
|
||||
int segs = max_t(u16, 1, skb_shinfo(skb)->gso_segs);
|
||||
|
||||
atomic_add(segs, &sk->sk_drops);
|
||||
sk_drops_add(sk, segs);
|
||||
}
|
||||
|
||||
static inline ktime_t sock_read_timestamp(struct sock *sk)
|
||||
|
||||
@ -627,7 +627,7 @@ static inline struct sk_buff *udp_rcv_segment(struct sock *sk,
|
||||
return segs;
|
||||
|
||||
drop:
|
||||
atomic_add(drop_count, &sk->sk_drops);
|
||||
sk_drops_add(sk, drop_count);
|
||||
SNMP_ADD_STATS(__UDPX_MIB(sk, ipv4), UDP_MIB_INERRORS, drop_count);
|
||||
kfree_skb(skb);
|
||||
return NULL;
|
||||
|
||||
@ -4830,7 +4830,7 @@ static bool tcp_ooo_try_coalesce(struct sock *sk,
|
||||
noinline_for_tracing static void
|
||||
tcp_drop_reason(struct sock *sk, struct sk_buff *skb, enum skb_drop_reason reason)
|
||||
{
|
||||
sk_drops_add(sk, skb);
|
||||
sk_drops_skbadd(sk, skb);
|
||||
sk_skb_reason_drop(sk, skb, reason);
|
||||
}
|
||||
|
||||
|
||||
@ -2254,7 +2254,7 @@ lookup:
|
||||
&iph->saddr, &iph->daddr,
|
||||
AF_INET, dif, sdif);
|
||||
if (unlikely(drop_reason)) {
|
||||
sk_drops_add(sk, skb);
|
||||
sk_drops_skbadd(sk, skb);
|
||||
reqsk_put(req);
|
||||
goto discard_it;
|
||||
}
|
||||
@ -2399,7 +2399,7 @@ discard_it:
|
||||
return 0;
|
||||
|
||||
discard_and_relse:
|
||||
sk_drops_add(sk, skb);
|
||||
sk_drops_skbadd(sk, skb);
|
||||
if (refcounted)
|
||||
sock_put(sk);
|
||||
goto discard_it;
|
||||
|
||||
@ -1809,7 +1809,7 @@ lookup:
|
||||
&hdr->saddr, &hdr->daddr,
|
||||
AF_INET6, dif, sdif);
|
||||
if (drop_reason) {
|
||||
sk_drops_add(sk, skb);
|
||||
sk_drops_skbadd(sk, skb);
|
||||
reqsk_put(req);
|
||||
goto discard_it;
|
||||
}
|
||||
@ -1948,7 +1948,7 @@ discard_it:
|
||||
return 0;
|
||||
|
||||
discard_and_relse:
|
||||
sk_drops_add(sk, skb);
|
||||
sk_drops_skbadd(sk, skb);
|
||||
if (refcounted)
|
||||
sock_put(sk);
|
||||
goto discard_it;
|
||||
|
||||
@ -137,7 +137,7 @@ struct sock *__mptcp_nmpc_sk(struct mptcp_sock *msk)
|
||||
|
||||
static void mptcp_drop(struct sock *sk, struct sk_buff *skb)
|
||||
{
|
||||
sk_drops_add(sk, skb);
|
||||
sk_drops_skbadd(sk, skb);
|
||||
__kfree_skb(skb);
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user