From nobody Sun Dec 14 02:17:06 2025 Received: from mail-yb1-f180.google.com (mail-yb1-f180.google.com [209.85.219.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B20FC6FB6 for ; Sat, 1 Jun 2024 01:42:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717206169; cv=none; b=OzGoZ7cg1WCFtt7Xh7AYrwl7hyOPOxw9YZgj+TgCM6kvWTXENCrn2A6wO+lkwNzv3Z9seLHlZv3q1JpTAN4RrDI7N0hSq653LUyXqsmzR0aKY8CIh2ZclrriwdMdIoeqOfeaSoNzBkIleyI9NNGbtqVaqdAiW52YFmmDdvBVTq4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717206169; c=relaxed/simple; bh=fMhS89j65J/ioJctAsELK69LYt7rCRTJv5kJAJc12O8=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=kVcSGxeRTtvXQuxJ+apGnTSRYFqUB0cf0U+3D9K69LKYoMk6WaroGoatIJeZ2mx6zHrtuqNt8UTlnirw21D94THMMfczqHwU0CTUSWlUtGIwdssaFEbs8osip7ZeGtu66M8o4SZa/RZRTNYc4cCLZHmp/oK0kzlVfybzV5Pa6EY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=cloudflare.com; spf=pass smtp.mailfrom=cloudflare.com; dkim=pass (2048-bit key) header.d=cloudflare.com header.i=@cloudflare.com header.b=EZEulQPL; arc=none smtp.client-ip=209.85.219.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=cloudflare.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=cloudflare.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cloudflare.com header.i=@cloudflare.com header.b="EZEulQPL" Received: by mail-yb1-f180.google.com with SMTP id 3f1490d57ef6-dfa79233c48so1147377276.1 for ; Fri, 31 May 2024 18:42:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cloudflare.com; s=google09082023; t=1717206167; x=1717810967; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=cundJu+cYnxxw8687bE9Xl3Y+llWE0GOh77B0ua/CNI=; b=EZEulQPLbNS0NM15eeqKtV9wFeLGCPEme9p9MxydLAhDWvxVpmc43mkyJD3lgqbHXR gwMG7e7eAxQzsVvz+brmbu/uZvfH4D9aGhPFlMVBWYSGaab5kn9Ggb31RKkT+KsCEi3i cq5R+J6SZUrwaQASzn05t6gmqiUXEaHfkdWYFjeBDHen/QBz4ceYUl1NPZQKNwlV0T29 8GZA9YUVTndFYXQNs+shzcvBN4qeekaOAbLmE9UZ9fDETaKxmGaBEvtW5AIDI9Ghz0Lo HNGw0ZwI6wU3YOysfGBIVn4mYqwExGOnSgqSIctwuFR2oqhfRGQCh8tuNyuvdBIONmJH M91Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717206167; x=1717810967; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=cundJu+cYnxxw8687bE9Xl3Y+llWE0GOh77B0ua/CNI=; b=X3GI2x3RQQbM42qtkKLLPjB4q2HCVwd/QqYUdMr59XTsWymkcGJ1r3evVevhmn/Qu9 Cb6U59dFITkQBIM1zaTV2nbrH4h7mf/rZTsQqiYcD2hfLohcwKMp3yvz/+IA34GOpv9d Rgn0c34y03XXT6cQUKt/diWIjYkwjuWm+nZ0REi0gMRdXv4p4w/JPJ38a0TWGGWlGkmL dNHINBE37kuZpb+0k7ShG+TYFPIJ7e2DPFS5Wm2mZyThS+Z0JXremSVAHqWZxgwukevn W84RW0nlsEaSiNGFSL/6ejO4EqiR/R5ngXCDuudPrYRU2ASFrzuFsHDH1HOfF4fBqtuk 5qUw== X-Forwarded-Encrypted: i=1; AJvYcCXnJTlgkTBpapsL5UG8xg0eSmu5LrvUnTJXky09zGfrFicKC42m6ge8XIwsPraLrLynjMHV+PyFm/4EVVWn8O52NLipc/BGhr6Wz87j X-Gm-Message-State: AOJu0Yw+x4g8QWO5KcE7fnGr4Y3Xn+4hj2zL8ne/PDkkiRjA0av5tyYQ /Csrl8R5BxkgABVz+xtvxL/oxoS/C91tEiICndiM23U2l2ptC32DUrMG6ad3DPs= X-Google-Smtp-Source: AGHT+IF8/QXX/W3z+6+bPU1EZTN+wOS5BbuypuBo+0m5XNlSWCNf1UxNrXiBYmUihxaQr4gR5LJW8w== X-Received: by 2002:a25:abd1:0:b0:df4:dcb6:75bd with SMTP id 3f1490d57ef6-dfa73bc31f9mr4195161276.9.1717206166653; Fri, 31 May 2024 18:42:46 -0700 (PDT) Received: from debian.debian ([2a09:bac5:7a49:f9b::18e:1c]) by smtp.gmail.com with ESMTPSA id 3f1490d57ef6-dfa6f011334sm561875276.4.2024.05.31.18.42.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 May 2024 18:42:45 -0700 (PDT) Date: Fri, 31 May 2024 18:42:43 -0700 From: Yan Zhai To: netdev@vger.kernel.org Cc: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , David Ahern , Abhishek Chauhan , Mina Almasry , Florian Westphal , Alexander Lobakin , David Howells , Jiri Pirko , Daniel Borkmann , Sebastian Andrzej Siewior , Lorenzo Bianconi , Pavel Begunkov , linux-kernel@vger.kernel.org, kernel-team@cloudflare.com, Jesper Dangaard Brouer Subject: [RFC v2 net-next 1/7] net: add rx_sk to trace_kfree_skb Message-ID: <451ae2a5c2ddb3c127cfddaf4a6579d6e85791f3.1717206060.git.yan@cloudflare.com> References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" skb does not include enough information to find out receiving sockets/services and netns/containers on packet drops. In theory skb->dev tells about netns, but it can get cleared/reused, e.g. by TCP stack for OOO packet lookup. Similarly, skb->sk often identifies a local sender, and tells nothing about a receiver. Allow passing an extra receiving socket to the tracepoint to improve the visibility on receiving drops. Signed-off-by: Yan Zhai --- include/trace/events/skb.h | 11 +++++++---- net/core/dev.c | 2 +- net/core/skbuff.c | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/include/trace/events/skb.h b/include/trace/events/skb.h index 07e0715628ec..aa6b46b6172c 100644 --- a/include/trace/events/skb.h +++ b/include/trace/events/skb.h @@ -24,15 +24,16 @@ DEFINE_DROP_REASON(FN, FN) TRACE_EVENT(kfree_skb, =20 TP_PROTO(struct sk_buff *skb, void *location, - enum skb_drop_reason reason), + enum skb_drop_reason reason, struct sock *rx_sk), =20 - TP_ARGS(skb, location, reason), + TP_ARGS(skb, location, reason, rx_sk), =20 TP_STRUCT__entry( __field(void *, skbaddr) __field(void *, location) __field(unsigned short, protocol) __field(enum skb_drop_reason, reason) + __field(void *, rx_skaddr) ), =20 TP_fast_assign( @@ -40,12 +41,14 @@ TRACE_EVENT(kfree_skb, __entry->location =3D location; __entry->protocol =3D ntohs(skb->protocol); __entry->reason =3D reason; + __entry->rx_skaddr =3D rx_sk; ), =20 - TP_printk("skbaddr=3D%p protocol=3D%u location=3D%pS reason: %s", + TP_printk("skbaddr=3D%p protocol=3D%u location=3D%pS reason: %s rx_skaddr= =3D%p", __entry->skbaddr, __entry->protocol, __entry->location, __print_symbolic(__entry->reason, - DEFINE_DROP_REASON(FN, FNe))) + DEFINE_DROP_REASON(FN, FNe)), + __entry->rx_skaddr) ); =20 #undef FN diff --git a/net/core/dev.c b/net/core/dev.c index 85fe8138f3e4..7844227ecbfd 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -5233,7 +5233,7 @@ static __latent_entropy void net_tx_action(struct sof= tirq_action *h) trace_consume_skb(skb, net_tx_action); else trace_kfree_skb(skb, net_tx_action, - get_kfree_skb_cb(skb)->reason); + get_kfree_skb_cb(skb)->reason, NULL); =20 if (skb->fclone !=3D SKB_FCLONE_UNAVAILABLE) __kfree_skb(skb); diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 466999a7515e..2854afdd713f 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -1203,7 +1203,7 @@ bool __kfree_skb_reason(struct sk_buff *skb, enum skb= _drop_reason reason) if (reason =3D=3D SKB_CONSUMED) trace_consume_skb(skb, __builtin_return_address(0)); else - trace_kfree_skb(skb, __builtin_return_address(0), reason); + trace_kfree_skb(skb, __builtin_return_address(0), reason, NULL); return true; } =20 --=20 2.30.2 From nobody Sun Dec 14 02:17:06 2025 Received: from mail-yw1-f181.google.com (mail-yw1-f181.google.com [209.85.128.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 99736F9D4 for ; Sat, 1 Jun 2024 01:42:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717206172; cv=none; b=G+OLp0GhBLHnAc3/7vH1MoIYBw/2LpVy2MXrSnCyokeuwyEk6/t5tNAY8FOJDOze+CGcdI942AnVBK2toP7PS/dicvNXdqsAf3mQWD4FZccN8NDfBgNQximpF5Yy87cgR+vYAtbeHTIDX5MxfZjWlZM3ohPjex5zLsmYrbYcfYE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717206172; c=relaxed/simple; bh=Gs30pldD4IYhwgM9Z2RPF0lE51iD4CooDjoR4sEXvh0=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=ZpV4GYuAAqSr5qHH46gWmA4E8yISUjXwN9ZR0qisg4/UHC3m5F4YtvhP336wAZ0a3CCwYK7YKPFcKUP7xw4l1GuSGFe5GxcqdPt0qYLaG109idRQFqLSkWeicF2J493tS6dx+gqgWC78/Uw1x4uqtMeesa9ag8tQG5Tn8k6eBxQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=cloudflare.com; spf=pass smtp.mailfrom=cloudflare.com; dkim=pass (2048-bit key) header.d=cloudflare.com header.i=@cloudflare.com header.b=XQ15/Q1X; arc=none smtp.client-ip=209.85.128.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=cloudflare.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=cloudflare.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cloudflare.com header.i=@cloudflare.com header.b="XQ15/Q1X" Received: by mail-yw1-f181.google.com with SMTP id 00721157ae682-62a0894f1d3so21045117b3.1 for ; Fri, 31 May 2024 18:42:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cloudflare.com; s=google09082023; t=1717206169; x=1717810969; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=8Z9GdxrPO2MLCd8f731wHDlufWSwkyCPNseSHb6h3wQ=; b=XQ15/Q1XETdGOTRLWhBTT3gErcVCeO0uprAAVCdu9YptwBW9E4SMhhg5H0RaJoLh1f 6/v7f6XrurPJGgL6kJDcPJLKhY9IbbUEIgpe+uJb88cwcweR3/JIJOLCVA/HHPFcnhYc gFNIj0uV7OWHxaT2utpa0gYWNRfd3i5G7CvDWX6RBe0Y8m2KDBWhVa1jNbd/6hiXxWjj E8uEUk1645Zwv1sHPhuUcE+O+xaijnVYoBGqoiTsuDnKlrC2+YMwtmsOIxFLeEXCQuBO 8liIhGRJNiJXL5zMEdbkrgVI+KFvAyMpLxE4sgvHCEwQRNrTpR8t9n8442O6m+3oQEot 1psQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717206169; x=1717810969; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=8Z9GdxrPO2MLCd8f731wHDlufWSwkyCPNseSHb6h3wQ=; b=djEnHCXhH/xUYMH/Fp7zUD4weklf7jkxyB/cLF0AoWPcGOUfqHiX2o9We/u+FWyfnh unVvYFSi28eBSG5gacIaoG6lFkRPYcEYBEPuVLCCewan8Tljl3WxIhMzWYwD6eBba3ro +cZEwKAsoY8ifjBnE1RqhoJLc5iZj4odnrrhxG3us86ODSzhRG1OzqgB3KDatpPWiA8I bSukmHkrEOgo8gW/KoXoLHQV8Q+mj2+VbDuoIeqLE1hP6JnplK79Z7WLq/yi81q/FSn0 8I0kY9r6yEJSsSTrVR5LqBLXHlUF4gKVTn3klI1fDLgyrDV8CGnddidwdqnz8WNMuTEs dsMw== X-Forwarded-Encrypted: i=1; AJvYcCUMWKC0GkA+RJRwcd1eRBZqBQ3vt5KthuR6vuFSV7SKEs/vSHv982FWnQ/b909Y41htOH7NaL5CFq+BwGJoKdhguvrCG5zdTNir2R5/ X-Gm-Message-State: AOJu0YzR19dUPZ9VdJzjqbxCdaooUXfnGDWv2rfxygBff3pV/8XeUf5M YLGDT1Rk0Q1shxIotnjfRE+SxxB1UBJLzwwidgE1mPvV/3YPY16i4mPz8K7T6wd3ymMyK0zQwZB ctqo= X-Google-Smtp-Source: AGHT+IG/p7TPTItF3rbnoq/hG8AoVbSWCKhcw+n9wi696EyChGLv7ahUjI/js3/etNq+svJTYAOu4w== X-Received: by 2002:a05:690c:d17:b0:61b:e694:2225 with SMTP id 00721157ae682-62c6cc6ba10mr53472687b3.5.1717206169542; Fri, 31 May 2024 18:42:49 -0700 (PDT) Received: from debian.debian ([2a09:bac5:7a49:f9b::18e:1c]) by smtp.gmail.com with ESMTPSA id 00721157ae682-62c766c8db1sm5386287b3.138.2024.05.31.18.42.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 May 2024 18:42:48 -0700 (PDT) Date: Fri, 31 May 2024 18:42:46 -0700 From: Yan Zhai To: netdev@vger.kernel.org Cc: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , David Ahern , Abhishek Chauhan , Mina Almasry , Florian Westphal , Alexander Lobakin , David Howells , Jiri Pirko , Daniel Borkmann , Sebastian Andrzej Siewior , Lorenzo Bianconi , Pavel Begunkov , linux-kernel@vger.kernel.org, kernel-team@cloudflare.com, Jesper Dangaard Brouer Subject: [RFC v2 net-next 2/7] net: introduce sk_skb_reason_drop function Message-ID: <0cb76a7cc4fc9967ea901d5cb638d8c0e118e7bd.1717206060.git.yan@cloudflare.com> References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Long used destructors kfree_skb and kfree_skb_reason do not pass receiving socket to packet drop tracepoints trace_kfree_skb. This makes it hard to track packet drops of a certain netns (container) or a socket (user application). The naming of these destructors are also not consistent with most sk/skb operating functions, i.e. functions named "sk_xxx" or "skb_xxx". Introduce a new functions sk_skb_reason_drop as drop-in replacement for kfree_skb_reason on local receiving path. Callers can now pass receiving sockets to the tracepoints. kfree_skb and kfree_skb_reason are still usable but they are now just inline helpers that call sk_skb_reason_drop. Note it is not feasible to do the same to consume_skb. Packets not dropped can flow through multiple receive handlers, and have multiple receiving sockets. Leave it untouched for now. Suggested-by: Eric Dumazet Signed-off-by: Yan Zhai --- v1->v2: changes function names to be more consistent with common sk/skb operations --- include/linux/skbuff.h | 10 ++++++++-- net/core/skbuff.c | 22 ++++++++++++---------- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index fe7d8dbef77e..c479a2515a62 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -1251,8 +1251,14 @@ static inline bool skb_data_unref(const struct sk_bu= ff *skb, return true; } =20 -void __fix_address -kfree_skb_reason(struct sk_buff *skb, enum skb_drop_reason reason); +void __fix_address sk_skb_reason_drop(struct sock *sk, struct sk_buff *skb, + enum skb_drop_reason reason); + +static inline void +kfree_skb_reason(struct sk_buff *skb, enum skb_drop_reason reason) +{ + sk_skb_reason_drop(NULL, skb, reason); +} =20 /** * kfree_skb - free an sk_buff with 'NOT_SPECIFIED' reason diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 2854afdd713f..9def11fe42c4 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -1190,7 +1190,8 @@ void __kfree_skb(struct sk_buff *skb) EXPORT_SYMBOL(__kfree_skb); =20 static __always_inline -bool __kfree_skb_reason(struct sk_buff *skb, enum skb_drop_reason reason) +bool __sk_skb_reason_drop(struct sock *sk, struct sk_buff *skb, + enum skb_drop_reason reason) { if (unlikely(!skb_unref(skb))) return false; @@ -1203,26 +1204,27 @@ bool __kfree_skb_reason(struct sk_buff *skb, enum s= kb_drop_reason reason) if (reason =3D=3D SKB_CONSUMED) trace_consume_skb(skb, __builtin_return_address(0)); else - trace_kfree_skb(skb, __builtin_return_address(0), reason, NULL); + trace_kfree_skb(skb, __builtin_return_address(0), reason, sk); return true; } =20 /** - * kfree_skb_reason - free an sk_buff with special reason + * sk_skb_reason_drop - free an sk_buff with special reason + * @sk: the socket to receive @skb, or NULL if not applicable * @skb: buffer to free * @reason: reason why this skb is dropped * - * Drop a reference to the buffer and free it if the usage count has - * hit zero. Meanwhile, pass the drop reason to 'kfree_skb' - * tracepoint. + * Drop a reference to the buffer and free it if the usage count has hit + * zero. Meanwhile, pass the receiving socket and drop reason to + * 'kfree_skb' tracepoint. */ void __fix_address -kfree_skb_reason(struct sk_buff *skb, enum skb_drop_reason reason) +sk_skb_reason_drop(struct sock *sk, struct sk_buff *skb, enum skb_drop_rea= son reason) { - if (__kfree_skb_reason(skb, reason)) + if (__sk_skb_reason_drop(sk, skb, reason)) __kfree_skb(skb); } -EXPORT_SYMBOL(kfree_skb_reason); +EXPORT_SYMBOL(sk_skb_reason_drop); =20 #define KFREE_SKB_BULK_SIZE 16 =20 @@ -1261,7 +1263,7 @@ kfree_skb_list_reason(struct sk_buff *segs, enum skb_= drop_reason reason) while (segs) { struct sk_buff *next =3D segs->next; =20 - if (__kfree_skb_reason(segs, reason)) { + if (__sk_skb_reason_drop(NULL, segs, reason)) { skb_poison_list(segs); kfree_skb_add_bulk(segs, &sa, reason); } --=20 2.30.2 From nobody Sun Dec 14 02:17:06 2025 Received: from mail-yw1-f179.google.com (mail-yw1-f179.google.com [209.85.128.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4010A6FB6 for ; Sat, 1 Jun 2024 01:42:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717206174; cv=none; b=jEuNuh28CuBJ9aEBQPfQWMJVrSUiSh6Z7mafrQ3tlpHzdX3AYmHu+P4TTFyK0ch3A3FGAQ0rPwl3tlPFI2cRF04kOYpv/BJRBMosRExJJzfnSWJgNdvwoOIutjco5nJAhVA0iHE3JzFzHXV2KNRWG/1735y8i/BnQR41lTaeDgo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717206174; c=relaxed/simple; bh=jkzjDY7vnEB8DqdbcGuw7ABHpoGpOOOicO2KkYgqYYM=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=gWm38VSWdh0bvNMcvIu78FxwtMR8WT75WZBxTy/s0tpBXjdMgqz4ZhGZR7QW+8gQkyX8goBqJ4rBI8pJ6cujUoPF9KUjHljOvlyJiWUT13FxZXztG47j7d/RiqgHCX9cxUtRrBpxebCap8WgEzYlCN+Gek+UI9b+iLNRqK7l1jI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=cloudflare.com; spf=pass smtp.mailfrom=cloudflare.com; dkim=pass (2048-bit key) header.d=cloudflare.com header.i=@cloudflare.com header.b=P6BCgOqj; arc=none smtp.client-ip=209.85.128.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=cloudflare.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=cloudflare.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cloudflare.com header.i=@cloudflare.com header.b="P6BCgOqj" Received: by mail-yw1-f179.google.com with SMTP id 00721157ae682-62a2424ed01so27974957b3.1 for ; Fri, 31 May 2024 18:42:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cloudflare.com; s=google09082023; t=1717206172; x=1717810972; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=ZokBvFXzTLhgVv1PaHNF9XfQX0m9YCf5c4LTRhvqEjE=; b=P6BCgOqjCwEYkeAdeHdpygNBK/qpkaaRTAoG3Srt734tzOsdCer3T7xSEb8QjSZy+2 DCoioOQojDkxUysL/G2PvHNUmDcM9YU0jKUERh8K1jpIt9kQeOALk4V4WaR4rY09speE G8eYlu48+epL/jS9HWmK4Mwy3V/c8H1IUyxUa4QZPFozfnxFTRt+JOAoG+omCPo7jKvf SXG8vFVQNcv+v827gegNe/z6fkWaphPaYenKBwVSr2bdW9LD4MAnTwdcTLbZz/MJ6Q02 RaQWwT3nLZUhqYff2Rgqi9BlDjPOep9vpDxbzDUuReLbDtM9aOyYCDlY5ngsA+6yQyre D+kQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717206172; x=1717810972; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=ZokBvFXzTLhgVv1PaHNF9XfQX0m9YCf5c4LTRhvqEjE=; b=QXygvMGc7a0e7kjndAaLih7JvBxxPBbigANIoxN2GsepfVgd65bVln9Wx/sKqqHvcb KmiD3/mEOjuhB2iNvwroOXxuxlvxqMOB4z7vTBn72n4XOUPVXY0QaowobVlOmF4xEqiC Pz/IcHvdoNfXZonnCmp0TfVNopXz9oLid3yNDYO8IxU04evY/W4zZiKcAWinX171jG3f NjMwcjhmrAfFjVQKcfrdArykGjMOjhb5blsSiLpSUFRSanxFyHMxlcI6kAUgxYfEItrG n3+OmOPhT7DzezRUpRcP44wz7xRZZwVwXd0ylZsAhSLQPkjiGElq36A8fN9jz0V8ttvH 56/A== X-Forwarded-Encrypted: i=1; AJvYcCUfeypby0GTvmOZnVK64PrM3GhBxp1G6RZDvp9XE0JB//O3giwqVGSebptzkPb0dGzR6dnySK9BGN4YOimVQRMpWF9TyZ2DQvmGAX5i X-Gm-Message-State: AOJu0YzlkffLC8Y/pDU9xKrIqPnxsackuArxTBBwMwxU9vYpDzYA+YNH Biw5oWTLmz7r4JQnxMIXRvk92Pw1U4mAWd4CJEUnwFDS75lultpqBA/fm3YPVl8= X-Google-Smtp-Source: AGHT+IHxVHyrr3VrYHe1OY427vM5xOxlLkkCH+3te1HypqOSqMSXO5Gncg6Y43GhkUSd/fqXGDmlUw== X-Received: by 2002:a81:e302:0:b0:61a:cd65:3010 with SMTP id 00721157ae682-62c7971cf21mr35315987b3.30.1717206172275; Fri, 31 May 2024 18:42:52 -0700 (PDT) Received: from debian.debian ([2a09:bac5:7a49:f9b::18e:1c]) by smtp.gmail.com with ESMTPSA id 00721157ae682-62c765b8c28sm5377187b3.28.2024.05.31.18.42.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 May 2024 18:42:51 -0700 (PDT) Date: Fri, 31 May 2024 18:42:49 -0700 From: Yan Zhai To: netdev@vger.kernel.org Cc: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , David Ahern , Abhishek Chauhan , Mina Almasry , Florian Westphal , Alexander Lobakin , David Howells , Jiri Pirko , Daniel Borkmann , Sebastian Andrzej Siewior , Lorenzo Bianconi , Pavel Begunkov , linux-kernel@vger.kernel.org, kernel-team@cloudflare.com, Jesper Dangaard Brouer Subject: [RFC v2 net-next 3/7] ping: use sk_skb_reason_drop to free rx packets Message-ID: <71a5ce50c3a2657bc9b28d5030e33bef112e74cc.1717206060.git.yan@cloudflare.com> References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Replace kfree_skb_reason with sk_skb_reason_drop and pass the receiving socket to the tracepoint. Signed-off-by: Yan Zhai --- net/ipv4/ping.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/ipv4/ping.c b/net/ipv4/ping.c index 823306487a82..619ddc087957 100644 --- a/net/ipv4/ping.c +++ b/net/ipv4/ping.c @@ -946,7 +946,7 @@ static enum skb_drop_reason __ping_queue_rcv_skb(struct= sock *sk, pr_debug("ping_queue_rcv_skb(sk=3D%p,sk->num=3D%d,skb=3D%p)\n", inet_sk(sk), inet_sk(sk)->inet_num, skb); if (sock_queue_rcv_skb_reason(sk, skb, &reason) < 0) { - kfree_skb_reason(skb, reason); + sk_skb_reason_drop(sk, skb, reason); pr_debug("ping_queue_rcv_skb -> failed\n"); return reason; } --=20 2.30.2 From nobody Sun Dec 14 02:17:06 2025 Received: from mail-yw1-f182.google.com (mail-yw1-f182.google.com [209.85.128.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CFDDE182AE for ; Sat, 1 Jun 2024 01:42:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717206178; cv=none; b=fb89NMY62Oa9ltGY8H29xYyguw3WOvmYGsIcdO+z13hWoYXsUDiaR+80y9HoJwctjJcuVwv8RVL/29r+cPamElK7Tz8LIM+x1riC4dsJyoL9VE8h0sIiyzsD1LjDBKprRQN7iX1PpqMpk2V0orYVKOTgQ4F2ir+AEc6AjcksEu0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717206178; c=relaxed/simple; bh=kSyvuVmoawm0A1229Z9cjCnSswrtkKHtT2WgaP8HoEM=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=XxHama5uTnfQqgg5cCQU6XgVsBVPIcpViTjQukmTBSt8kgJ//GHYGAlVgKRzYj35lzWsmSGFXOiGZV9dAcUrH10pjaaqTyCCFeQrLqfZsA2H+5KYoEcxrB7a487dxU/6/kNbXIDkc7skUK8Y9kK0qM+PW82c6pLpJh10mWku930= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=cloudflare.com; spf=pass smtp.mailfrom=cloudflare.com; dkim=pass (2048-bit key) header.d=cloudflare.com header.i=@cloudflare.com header.b=YD4BtylA; arc=none smtp.client-ip=209.85.128.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=cloudflare.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=cloudflare.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cloudflare.com header.i=@cloudflare.com header.b="YD4BtylA" Received: by mail-yw1-f182.google.com with SMTP id 00721157ae682-62a08b250a2so26622847b3.3 for ; Fri, 31 May 2024 18:42:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cloudflare.com; s=google09082023; t=1717206176; x=1717810976; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=GJDm6iwovalgWz0sxMpvGD5PNxGmSKas+lavj2Qq0ow=; b=YD4BtylARo6CiEtgUKYej8A3xKc7kvOxKEg7U2CcUZeVW/+6hz6E6WEAJkuzo9hnQl Bn25RhH4kyt0BUK9NirWMskx1dcIZvxAmB+iiime/jhO4R2ibp1nWjNsb9xu2R3niQRo v4OnhKU3uzkd9vasOojq8uwWvXB5PHwx2LQiIcMdrkf30TunowZoeJe2c746vO08gagK /38xK/4ya0qqXp4DSd7vYVSGKgGHzDoZ8E+Dzv8HRQKpbY4fXjRsWj/qRxgD5TSZfMZ8 yxUbC0oOV3nifgyUtsVJZHJ+9RW9LksglHg63o83I0M1r4vymnprh/+E091i3PIkVLOP wPNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717206176; x=1717810976; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=GJDm6iwovalgWz0sxMpvGD5PNxGmSKas+lavj2Qq0ow=; b=Ms+cM+MU8WfUhn3h3HC4s8Hq6NG+R9xHnroXcVXxQP+WnTFIFDX+M6xpEol9eJ+2yg Wd2f6TZz6SN6dY/Oe7QSCOGo8T1FjhuPPIEHwPMxq+FNoT+vjIprVp7Tb0t7S907SfzW Hn+zwROuyFeoXk0RM2+4Yfp0BpiWM2gkiOkgSC1+5MQAeNkIRTu3KvqVMM5eVelH3MIM m8u30iiAHXp2co0y0gYfXqy2ZZ50P5u7JB1Btkkd6++LQxadjJcMTnyYzWj+1VLAmm/r NZVB+gnN1cCpiAjFwK0LNWvR+xyiEKyX1FYOBORVVG8wpVY+FCXWnKx/eWoR04JHJvwt f+FA== X-Forwarded-Encrypted: i=1; AJvYcCU6D5szF5YsZiw2WKBipuW/IeqozG3WafKFZVmo2CFC1TjdpmPIR4CmMVRqNMMn+8HRnMIm/pt3NKvyiHJRpQZJF6jB8tcNyPl3dAVe X-Gm-Message-State: AOJu0YwzMR66i0rqVvOxFd6Ofp0nlySTldHpY98OewH+WO1C4dA+2qsD fz1kacT3KsJkab978O/gdkled1WFHeB3hcdlc4pOaGuzgg0KOnTBtzUS4wxnvBM= X-Google-Smtp-Source: AGHT+IH/j2vzJwaTlUPRMs2EMQDMQa6P7RZLullnU/Y5B7uu39vSuoijNLKOBF04J9MmRcLjvexeoQ== X-Received: by 2002:a81:ce03:0:b0:618:8e76:af45 with SMTP id 00721157ae682-62c797ef694mr32229037b3.52.1717206174989; Fri, 31 May 2024 18:42:54 -0700 (PDT) Received: from debian.debian ([2a09:bac5:7a49:f9b::18e:1c]) by smtp.gmail.com with ESMTPSA id 00721157ae682-62c765e6efesm5424497b3.42.2024.05.31.18.42.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 May 2024 18:42:54 -0700 (PDT) Date: Fri, 31 May 2024 18:42:52 -0700 From: Yan Zhai To: netdev@vger.kernel.org Cc: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , David Ahern , Abhishek Chauhan , Mina Almasry , Florian Westphal , Alexander Lobakin , David Howells , Jiri Pirko , Daniel Borkmann , Sebastian Andrzej Siewior , Lorenzo Bianconi , Pavel Begunkov , linux-kernel@vger.kernel.org, kernel-team@cloudflare.com, Jesper Dangaard Brouer Subject: [RFC v2 net-next 4/7] net: raw: use sk_skb_reason_drop to free rx packets Message-ID: <0ecd499cd2e43560f22997b3aed0b72eb585dd7a.1717206060.git.yan@cloudflare.com> References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Replace kfree_skb_reason with sk_skb_reason_drop and pass the receiving socket to the tracepoint. Signed-off-by: Yan Zhai --- net/ipv4/raw.c | 4 ++-- net/ipv6/raw.c | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c index 1a0953650356..474dfd263c8b 100644 --- a/net/ipv4/raw.c +++ b/net/ipv4/raw.c @@ -301,7 +301,7 @@ static int raw_rcv_skb(struct sock *sk, struct sk_buff = *skb) =20 ipv4_pktinfo_prepare(sk, skb, true); if (sock_queue_rcv_skb_reason(sk, skb, &reason) < 0) { - kfree_skb_reason(skb, reason); + sk_skb_reason_drop(sk, skb, reason); return NET_RX_DROP; } =20 @@ -312,7 +312,7 @@ int raw_rcv(struct sock *sk, struct sk_buff *skb) { if (!xfrm4_policy_check(sk, XFRM_POLICY_IN, skb)) { atomic_inc(&sk->sk_drops); - kfree_skb_reason(skb, SKB_DROP_REASON_XFRM_POLICY); + sk_skb_reason_drop(sk, skb, SKB_DROP_REASON_XFRM_POLICY); return NET_RX_DROP; } nf_reset_ct(skb); diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c index f838366e8256..608fa9d05b55 100644 --- a/net/ipv6/raw.c +++ b/net/ipv6/raw.c @@ -362,14 +362,14 @@ static inline int rawv6_rcv_skb(struct sock *sk, stru= ct sk_buff *skb) if ((raw6_sk(sk)->checksum || rcu_access_pointer(sk->sk_filter)) && skb_checksum_complete(skb)) { atomic_inc(&sk->sk_drops); - kfree_skb_reason(skb, SKB_DROP_REASON_SKB_CSUM); + sk_skb_reason_drop(sk, skb, SKB_DROP_REASON_SKB_CSUM); return NET_RX_DROP; } =20 /* Charge it to the socket. */ skb_dst_drop(skb); if (sock_queue_rcv_skb_reason(sk, skb, &reason) < 0) { - kfree_skb_reason(skb, reason); + sk_skb_reason_drop(sk, skb, reason); return NET_RX_DROP; } =20 @@ -390,7 +390,7 @@ int rawv6_rcv(struct sock *sk, struct sk_buff *skb) =20 if (!xfrm6_policy_check(sk, XFRM_POLICY_IN, skb)) { atomic_inc(&sk->sk_drops); - kfree_skb_reason(skb, SKB_DROP_REASON_XFRM_POLICY); + sk_skb_reason_drop(sk, skb, SKB_DROP_REASON_XFRM_POLICY); return NET_RX_DROP; } nf_reset_ct(skb); @@ -415,7 +415,7 @@ int rawv6_rcv(struct sock *sk, struct sk_buff *skb) if (inet_test_bit(HDRINCL, sk)) { if (skb_checksum_complete(skb)) { atomic_inc(&sk->sk_drops); - kfree_skb_reason(skb, SKB_DROP_REASON_SKB_CSUM); + sk_skb_reason_drop(sk, skb, SKB_DROP_REASON_SKB_CSUM); return NET_RX_DROP; } } --=20 2.30.2 From nobody Sun Dec 14 02:17:06 2025 Received: from mail-yb1-f177.google.com (mail-yb1-f177.google.com [209.85.219.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EA6916FBE for ; Sat, 1 Jun 2024 01:42:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717206180; cv=none; b=chxKeXcR7eoGHCReCo0mm6GEtQoUbEJsd+KhN0e00ISrHTcSS5AH00ylSNb3kAzJGZzAljugSRa1EFT6rEf7/TL/COoh5QNvFts2bDU5yNIF/vNMq8UDliCZC8jFziqp5qf3y6qKNUxB8ArpZ/Bed7AAyStAHEhH1sm7loKViBQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717206180; c=relaxed/simple; bh=1LVHRhrSMWEwJpOY/aznILauVa0NivSWY+f+CAqnbvA=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=Q7NLfKaenEbkrpFMsZph99/OXis2NJDBHAPv99w0LeczSHB/xNPSdlwVq+D0hcmLwzvGWiHvcBwPmgxiXJmPb4ehbsR+lyU71ctFX+CN+QMP09WJSoQajP0GgjS35bXiRtw54oVJLmo0FiSdKZXaWwtYQZ7kB5e4sLI2czPudUg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=cloudflare.com; spf=pass smtp.mailfrom=cloudflare.com; dkim=pass (2048-bit key) header.d=cloudflare.com header.i=@cloudflare.com header.b=Xv0WToc1; arc=none smtp.client-ip=209.85.219.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=cloudflare.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=cloudflare.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cloudflare.com header.i=@cloudflare.com header.b="Xv0WToc1" Received: by mail-yb1-f177.google.com with SMTP id 3f1490d57ef6-dfa48f505dfso2630917276.3 for ; Fri, 31 May 2024 18:42:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cloudflare.com; s=google09082023; t=1717206178; x=1717810978; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=dYA4sm5ZJWs2eGhWm2n7K+ofN7tUeRmWPht1RYEuz58=; b=Xv0WToc1MxZYkw9/ypiCWj7FEmuwkczmpehZ0DufYqltgqrX7JDaeZDrOki/09xyvU AQy2YzDMP3ScLeqgyv09ZDPSpzyJA7rx8qQjEHXbzfOmdoTdGAPGmMEakDJERmsm0nDU fSKeMYiBDcrkM0BqpZBshezHRoxsiPNrsSstqML0tnyfPd0qSrBLGAMOty84sVnyrgg7 CluutMd5s+Hzbe2tSE4h9+NbGiv9u27k7ndjaxH/unCEjxkwsbYhQmeS3u3ItcAdUcXf jsK2geImaHkqYeTUgaIa/lUOjECIu1rPaj92vc8aFL7+QlEHJVQCzxpqy8g5Kjy4o4UJ SKzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717206178; x=1717810978; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=dYA4sm5ZJWs2eGhWm2n7K+ofN7tUeRmWPht1RYEuz58=; b=Wr9Jre7dARn5dHKiMnWza4z6OSvCo5dock0/bonZfGDHSVAkHenjTOISCIGW9g2z2M kUDbuPR/pSrGzliJEDjP4HamfQUKq43pg9VBpmCbdKoI4b3SeCBwZMvEi0nUmMHfzmrs yzkSrcoMm19z+wF/F6yUjBNDOfxkPBIFx9pTZRvn2em6itKAgC26QaCd/VaJcTbpd1Pc 9Gx5wQnhX9W6rDsKMDvm0HxwJMB54eL5E8GyvGmXKG/LOm89EAZOeqyB38CezyMasGNA feGTxOLk0MBJkeDFd4u6PaZR+0d506lHrDl0E5VuZpdArz8r42uetpI2m6/fm4m6aC70 inSA== X-Forwarded-Encrypted: i=1; AJvYcCWUUVNr7POlnu1rpvg7N1cm0FSgTdjedxU7UDMjtDLFPthBDWeNLHXI+d66oVoxmqARg40vyOulEdoHDfYoDYszGYlS6+G4JX5+oCCf X-Gm-Message-State: AOJu0YyzQn+olFgqkfb70Bn81cLMNktMROHmBuLHgGe1PLVyBnJh01uK F6cN3Od/VN4Esy/FiYiBZOpDiwKGBUBAK2YaJwyh8VUP98ncASNUDJ+XVWLv94g= X-Google-Smtp-Source: AGHT+IHFKpM9VUj5fPdAjZri6ASqCbW12U8KkE2PQMXK9hGY4p9KtRo4Ib8XzSacGGYo3hFMh5BQkg== X-Received: by 2002:a25:1387:0:b0:df4:d7e2:aa2f with SMTP id 3f1490d57ef6-dfa73dbfb85mr3516117276.59.1717206177923; Fri, 31 May 2024 18:42:57 -0700 (PDT) Received: from debian.debian ([2a09:bac5:7a49:f9b::18e:1c]) by smtp.gmail.com with ESMTPSA id 3f1490d57ef6-dfa6f150099sm555136276.60.2024.05.31.18.42.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 May 2024 18:42:57 -0700 (PDT) Date: Fri, 31 May 2024 18:42:55 -0700 From: Yan Zhai To: netdev@vger.kernel.org Cc: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , David Ahern , Abhishek Chauhan , Mina Almasry , Florian Westphal , Alexander Lobakin , David Howells , Jiri Pirko , Daniel Borkmann , Sebastian Andrzej Siewior , Lorenzo Bianconi , Pavel Begunkov , linux-kernel@vger.kernel.org, kernel-team@cloudflare.com, Jesper Dangaard Brouer Subject: [RFC v2 net-next 5/7] tcp: use sk_skb_reason_drop to free rx packets Message-ID: <40d89398347be8d269f49f604bf82bdb9855d00d.1717206060.git.yan@cloudflare.com> References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Replace kfree_skb_reason with sk_skb_reason_drop and pass the receiving socket to the tracepoint. Signed-off-by: Yan Zhai --- net/ipv4/syncookies.c | 2 +- net/ipv4/tcp_input.c | 2 +- net/ipv4/tcp_ipv4.c | 6 +++--- net/ipv6/syncookies.c | 2 +- net/ipv6/tcp_ipv6.c | 6 +++--- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/net/ipv4/syncookies.c b/net/ipv4/syncookies.c index b61d36810fe3..1948d15f1f28 100644 --- a/net/ipv4/syncookies.c +++ b/net/ipv4/syncookies.c @@ -496,6 +496,6 @@ struct sock *cookie_v4_check(struct sock *sk, struct sk= _buff *skb) out_free: reqsk_free(req); out_drop: - kfree_skb_reason(skb, reason); + sk_skb_reason_drop(sk, skb, reason); return NULL; } diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 5aadf64e554d..bedb079de1f0 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -4859,7 +4859,7 @@ static void tcp_drop_reason(struct sock *sk, struct s= k_buff *skb, enum skb_drop_reason reason) { sk_drops_add(sk, skb); - kfree_skb_reason(skb, reason); + sk_skb_reason_drop(sk, skb, reason); } =20 /* This one checks to see if we can put data from the diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index 041c7eda9abe..f7a046bc4b27 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c @@ -1939,7 +1939,7 @@ int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *sk= b) reset: tcp_v4_send_reset(rsk, skb, sk_rst_convert_drop_reason(reason)); discard: - kfree_skb_reason(skb, reason); + sk_skb_reason_drop(sk, skb, reason); /* Be careful here. If this function gets more complicated and * gcc suffers from register pressure on the x86, sk (in %ebx) * might be destroyed here. This current version compiles correctly, @@ -2176,8 +2176,8 @@ int tcp_v4_rcv(struct sk_buff *skb) int dif =3D inet_iif(skb); const struct iphdr *iph; const struct tcphdr *th; + struct sock *sk =3D NULL; bool refcounted; - struct sock *sk; int ret; u32 isn; =20 @@ -2376,7 +2376,7 @@ int tcp_v4_rcv(struct sk_buff *skb) discard_it: SKB_DR_OR(drop_reason, NOT_SPECIFIED); /* Discard frame. */ - kfree_skb_reason(skb, drop_reason); + sk_skb_reason_drop(sk, skb, drop_reason); return 0; =20 discard_and_relse: diff --git a/net/ipv6/syncookies.c b/net/ipv6/syncookies.c index bfad1e89b6a6..9d83eadd308b 100644 --- a/net/ipv6/syncookies.c +++ b/net/ipv6/syncookies.c @@ -275,6 +275,6 @@ struct sock *cookie_v6_check(struct sock *sk, struct sk= _buff *skb) out_free: reqsk_free(req); out_drop: - kfree_skb_reason(skb, reason); + sk_skb_reason_drop(sk, skb, reason); return NULL; } diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index 1ac7502e1bf5..93967accc35d 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c @@ -1678,7 +1678,7 @@ int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *sk= b) discard: if (opt_skb) __kfree_skb(opt_skb); - kfree_skb_reason(skb, reason); + sk_skb_reason_drop(sk, skb, reason); return 0; csum_err: reason =3D SKB_DROP_REASON_TCP_CSUM; @@ -1751,8 +1751,8 @@ INDIRECT_CALLABLE_SCOPE int tcp_v6_rcv(struct sk_buff= *skb) int dif =3D inet6_iif(skb); const struct tcphdr *th; const struct ipv6hdr *hdr; + struct sock *sk =3D NULL; bool refcounted; - struct sock *sk; int ret; u32 isn; struct net *net =3D dev_net(skb->dev); @@ -1944,7 +1944,7 @@ INDIRECT_CALLABLE_SCOPE int tcp_v6_rcv(struct sk_buff= *skb) =20 discard_it: SKB_DR_OR(drop_reason, NOT_SPECIFIED); - kfree_skb_reason(skb, drop_reason); + sk_skb_reason_drop(sk, skb, drop_reason); return 0; =20 discard_and_relse: --=20 2.30.2 From nobody Sun Dec 14 02:17:06 2025 Received: from mail-yw1-f182.google.com (mail-yw1-f182.google.com [209.85.128.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BD7791F934 for ; Sat, 1 Jun 2024 01:43:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717206183; cv=none; b=KvgOnXu5QYZozVH1OFBIhTb82sDOWftOpug5IuiKSDR8WF5KIt78O/bDPYHk8F01qyPxVVzIHglavl12ihSLU41PpVJjb6TCF6c0kVAEqMF3dCPJLkGMzhm57xJkfyC8H4UYEE0gTAMDmAQYl18DG+1BbYlM7v28uxXIqv7BGn8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717206183; c=relaxed/simple; bh=8vUlbvEH7gTZvH1D61OBJNrvJ28CeUyHOjmFolkGer4=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=JNAy8BPLlRMEljg3Kutl7r7Wc+hG4HFQcya6eDoo2lHhWuf/Zml8wxSBekfdDYE9CjxOUXtzuLeUSYlTe6ePo982VlZWDb5tDlzebtVX+3kPsmBZrST2d5Z/COWmH5oZ5dD7YLpCzza9LHCjfFrv9bUPTSc7SWTv6j9J0p4Cu88= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=cloudflare.com; spf=pass smtp.mailfrom=cloudflare.com; dkim=pass (2048-bit key) header.d=cloudflare.com header.i=@cloudflare.com header.b=RILy/egF; arc=none smtp.client-ip=209.85.128.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=cloudflare.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=cloudflare.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cloudflare.com header.i=@cloudflare.com header.b="RILy/egF" Received: by mail-yw1-f182.google.com with SMTP id 00721157ae682-62a2424ed01so27975597b3.1 for ; Fri, 31 May 2024 18:43:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cloudflare.com; s=google09082023; t=1717206181; x=1717810981; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=y2xdFUxWobdQwEfx7YLKH85Utfki6HaKV/+RpyucODI=; b=RILy/egFZdUJ5NO8K+QHWKFHGDB9ns+IJtwcOqMfJCHojQo8GWz6eereq+V3ZdX7n/ VzyJ1nkcFK37h085zjQomjfjsnchbiREb2IknrJMRwHcctmrbbk7rYwV78yO9QcF+Gf9 /LK8Ap9Pl4eCthhlRVdrbrH2tBT9njfgJYePH5Yr6frADthoxyW13zUFL7Xkd0rsoNEg cibX84nrINkVH1JYpeJLuNKN3XVgYWm9kHZjxXsywhImWa94zRBiwkCMMCmf2hbzmvS5 w04hC3eB3QeHWL6ODMD00ltPOwrnuivceOsPXHQ93LO9ullid1CAY7uik0T0UM3rF2vg Pu4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717206181; x=1717810981; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=y2xdFUxWobdQwEfx7YLKH85Utfki6HaKV/+RpyucODI=; b=ivBu0OQCiCBkvXkkLJxnVJg5vbP4qIy2FhlPGR4NMB1orqEybPYR2lC9SkDzo1aQfx 7yaiyEF7rdE9J9ztezN5gAPFaz66vzU7AbzEEss1UZ7OwZudFlYNuNaOpLr4drFE9wXM ySewUJORcdqC42oPKjbTdsy5socgPzhqw0uWrowRk/NuDKnLm1Y+Tjbo43J4e+5sVJW+ RZi9XeLsHZhCqwPZg72yJP6wHksuQJXVUVT9vrvnzu8sKwN5qzpTV0Jc7FYsnvoF5wur Vvi0UwLZ912Ra3TNW3cEAAPuPk4HqmXCEq9+w8vetUPOU3bD30r86vYc/y3OBnvKZQRX eY6g== X-Forwarded-Encrypted: i=1; AJvYcCVvylluPyQakuCYML3T2cqcpvL91a5fWfOcdyyxAadeJkl8S3bE6icdUmZBw4yf10gNqZjexpvwXaVxxIz99BT00dWa3Z7A0UGv6qQd X-Gm-Message-State: AOJu0YwcZyyFoVLRAYvXalaw4XQm7vwzQsreyCFFoJJjFDOyBZTfm8U9 dq542i+k+srcjMVSX7bBkk8jEXzRZI67LTYVCpyMDni73AfvOLx5wSDMLMGqF/0= X-Google-Smtp-Source: AGHT+IEjR0Ljn4HhOxXhAh7n33Q2xIPS6LzvX1WnMQFcShl7OzOwraUD/JRB815GeeImrjbnCz0LRg== X-Received: by 2002:a0d:cb81:0:b0:622:cc0d:62c3 with SMTP id 00721157ae682-62c7971cbcemr36155437b3.28.1717206180717; Fri, 31 May 2024 18:43:00 -0700 (PDT) Received: from debian.debian ([2a09:bac5:7a49:f9b::18e:1c]) by smtp.gmail.com with ESMTPSA id 00721157ae682-62c7667cad3sm5394697b3.87.2024.05.31.18.42.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 May 2024 18:43:00 -0700 (PDT) Date: Fri, 31 May 2024 18:42:58 -0700 From: Yan Zhai To: netdev@vger.kernel.org Cc: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , David Ahern , Abhishek Chauhan , Mina Almasry , Florian Westphal , Alexander Lobakin , David Howells , Jiri Pirko , Daniel Borkmann , Sebastian Andrzej Siewior , Lorenzo Bianconi , Pavel Begunkov , linux-kernel@vger.kernel.org, kernel-team@cloudflare.com, Jesper Dangaard Brouer Subject: [RFC v2 net-next 6/7] udp: use sk_skb_reason_drop to free rx packets Message-ID: <76cb47137dc232e88a0707d1d863749c5f35ec89.1717206060.git.yan@cloudflare.com> References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Replace kfree_skb_reason with sk_skb_reason_drop and pass the receiving socket to the tracepoint. Signed-off-by: Yan Zhai --- net/ipv4/udp.c | 10 +++++----- net/ipv6/udp.c | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 189c9113fe9a..ecafb1695999 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c @@ -2074,7 +2074,7 @@ static int __udp_queue_rcv_skb(struct sock *sk, struc= t sk_buff *skb) } UDP_INC_STATS(sock_net(sk), UDP_MIB_INERRORS, is_udplite); trace_udp_fail_queue_rcv_skb(rc, sk, skb); - kfree_skb_reason(skb, drop_reason); + sk_skb_reason_drop(sk, skb, drop_reason); return -1; } =20 @@ -2196,7 +2196,7 @@ static int udp_queue_rcv_one_skb(struct sock *sk, str= uct sk_buff *skb) drop: __UDP_INC_STATS(sock_net(sk), UDP_MIB_INERRORS, is_udplite); atomic_inc(&sk->sk_drops); - kfree_skb_reason(skb, drop_reason); + sk_skb_reason_drop(sk, skb, drop_reason); return -1; } =20 @@ -2383,7 +2383,7 @@ static int udp_unicast_rcv_skb(struct sock *sk, struc= t sk_buff *skb, int __udp4_lib_rcv(struct sk_buff *skb, struct udp_table *udptable, int proto) { - struct sock *sk; + struct sock *sk =3D NULL; struct udphdr *uh; unsigned short ulen; struct rtable *rt =3D skb_rtable(skb); @@ -2460,7 +2460,7 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct udp_ta= ble *udptable, * Hmm. We got an UDP packet to a port to which we * don't wanna listen. Ignore it. */ - kfree_skb_reason(skb, drop_reason); + sk_skb_reason_drop(sk, skb, drop_reason); return 0; =20 short_packet: @@ -2485,7 +2485,7 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct udp_ta= ble *udptable, __UDP_INC_STATS(net, UDP_MIB_CSUMERRORS, proto =3D=3D IPPROTO_UDPLITE); drop: __UDP_INC_STATS(net, UDP_MIB_INERRORS, proto =3D=3D IPPROTO_UDPLITE); - kfree_skb_reason(skb, drop_reason); + sk_skb_reason_drop(sk, skb, drop_reason); return 0; } =20 diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index c81a07ac0463..b56f0b9f4307 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c @@ -673,7 +673,7 @@ static int __udpv6_queue_rcv_skb(struct sock *sk, struc= t sk_buff *skb) } UDP6_INC_STATS(sock_net(sk), UDP_MIB_INERRORS, is_udplite); trace_udp_fail_queue_rcv_skb(rc, sk, skb); - kfree_skb_reason(skb, drop_reason); + sk_skb_reason_drop(sk, skb, drop_reason); return -1; } =20 @@ -776,7 +776,7 @@ static int udpv6_queue_rcv_one_skb(struct sock *sk, str= uct sk_buff *skb) drop: __UDP6_INC_STATS(sock_net(sk), UDP_MIB_INERRORS, is_udplite); atomic_inc(&sk->sk_drops); - kfree_skb_reason(skb, drop_reason); + sk_skb_reason_drop(sk, skb, drop_reason); return -1; } =20 @@ -940,8 +940,8 @@ int __udp6_lib_rcv(struct sk_buff *skb, struct udp_tabl= e *udptable, enum skb_drop_reason reason =3D SKB_DROP_REASON_NOT_SPECIFIED; const struct in6_addr *saddr, *daddr; struct net *net =3D dev_net(skb->dev); + struct sock *sk =3D NULL; struct udphdr *uh; - struct sock *sk; bool refcounted; u32 ulen =3D 0; =20 @@ -1033,7 +1033,7 @@ int __udp6_lib_rcv(struct sk_buff *skb, struct udp_ta= ble *udptable, __UDP6_INC_STATS(net, UDP_MIB_NOPORTS, proto =3D=3D IPPROTO_UDPLITE); icmpv6_send(skb, ICMPV6_DEST_UNREACH, ICMPV6_PORT_UNREACH, 0); =20 - kfree_skb_reason(skb, reason); + sk_skb_reason_drop(sk, skb, reason); return 0; =20 short_packet: @@ -1054,7 +1054,7 @@ int __udp6_lib_rcv(struct sk_buff *skb, struct udp_ta= ble *udptable, __UDP6_INC_STATS(net, UDP_MIB_CSUMERRORS, proto =3D=3D IPPROTO_UDPLITE); discard: __UDP6_INC_STATS(net, UDP_MIB_INERRORS, proto =3D=3D IPPROTO_UDPLITE); - kfree_skb_reason(skb, reason); + sk_skb_reason_drop(sk, skb, reason); return 0; } =20 --=20 2.30.2 From nobody Sun Dec 14 02:17:06 2025 Received: from mail-yw1-f180.google.com (mail-yw1-f180.google.com [209.85.128.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EE448AD31 for ; Sat, 1 Jun 2024 01:43:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717206186; cv=none; b=Y4xOEIKh/5x+wx3bp/Dbu2nxz7FhXRNDIR3ertGCo3Vrv6hT1eOB53pEE6v5EiyHBxzJHULqW7UHXLoL5d4t5cwE05/aUPX87J1NOa3RIm7NyitoT1fWH8vG462IQuCpODpDMAs0kgmBpEgnpVu59GqhvFgke9GbkK8XOhPHUJk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717206186; c=relaxed/simple; bh=S72Ki5HHkpC2an6q78XTrK7f5rHLvP6MDa6qVibaFlc=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=FvugragMgDtxNd4hbjbbAv7vm8TTuxaQpglO+uvg8vKZAKTBu/HMHVvGxWkao3yrq/XSiKv7nRpfyDxPz5GJnuYPRnpzETJ31LwsfoO2H1ddZzc8B11/0SEU3J8YKw8bHbPz73WxqSld18zQRRpxmI5K+xz/y0I8OT2YsGOGNco= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=cloudflare.com; spf=pass smtp.mailfrom=cloudflare.com; dkim=pass (2048-bit key) header.d=cloudflare.com header.i=@cloudflare.com header.b=Nqtbt4To; arc=none smtp.client-ip=209.85.128.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=cloudflare.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=cloudflare.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cloudflare.com header.i=@cloudflare.com header.b="Nqtbt4To" Received: by mail-yw1-f180.google.com with SMTP id 00721157ae682-62a2424ecb8so28465097b3.1 for ; Fri, 31 May 2024 18:43:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cloudflare.com; s=google09082023; t=1717206184; x=1717810984; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=D/La4XSUTmNeuu9YRTxpONiBsYW4Mtyght862Rg0qE8=; b=Nqtbt4To/8w3O533vKLdhzuG6bV8QHLsQcNSVonu1qpDl5SgF/4KYfk29909tebBhi WVxQBeiOpIj4hSnG4N3SbvbvAP09w43N2AA4msyptg1qlsnL3X8bG4BXiwmNPX9+Wi27 OUoiiwavqaF0wLRjpXWp2t7cMbielEuSFKVwS859mtQ7VSCjJ0+NC0k3rLlpy/xifv8k vMzETkn8EPC06xlFzAmorGs0zsZ4nyD/V0xPaq8tmHX/YUsye/PteJfGctczQougjzbu PiGyMPt5FzR5UQ420aqx4rlCvIOFZmoaSD8/SuyzTqu/8pkQc0SSvUmZhbVSKa9L5EMT /bOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717206184; x=1717810984; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=D/La4XSUTmNeuu9YRTxpONiBsYW4Mtyght862Rg0qE8=; b=OnjQm3hxPOjN3L1EjjR9hsIQZqkhE/Pn2EWNvIQatDQDNQ8nNdkfzD1gNTiZUH94dO P0Dtc5L14kmPMPRUdw8HmRO7rhzSqa9lfTwTQgMYOBIK+4o991TgbSrLFcKgiN2li3iB niI+EtsFWx3sDMwQIBQ1B/kl7OD3oCSBfR3a3RN14Aqj9yDU+HFEDZba4kucl6ZE4xKn aj/ec/Nf8CYlaaIpLWHOC0GaZc8Xt+AGvn45g8XieDRNN/92GQrjaE2XkezeU24UeV75 S+Vk35U3wi008UEwqSqQuCO8LXmQaHAXjRkGiTECwqKmF6Bl49wyRXJWL1vHozP7DWtG q/BA== X-Forwarded-Encrypted: i=1; AJvYcCUKPRq2E/re3YcWMyVu1fEqFuLkPLEFvWwMhZ97E8K2Oc4tqh1iVHpBFuDPcaJ/BUSC4v1tDobGfR2ISMXwpF5AZ7jto9go0QPnZVzY X-Gm-Message-State: AOJu0YzlXBnAtTGIVrbTh5Q0IcmQV8sGDaT1AH7u307XUhq1eEiy2KUp y3U3b+v8fds5SpSB1zFUt4bBs9W07wiS3OVXXoWaujK4cn5TYzWCJm3spA33PFE= X-Google-Smtp-Source: AGHT+IEua05S7PDRoCJza0EQl0jMFsfegyLK1tQ6xf+usXIX97QNBaJMtekX4NLQSbhGYbhg72SnZg== X-Received: by 2002:a81:4520:0:b0:61b:3364:32db with SMTP id 00721157ae682-62c797fac84mr38162817b3.36.1717206183488; Fri, 31 May 2024 18:43:03 -0700 (PDT) Received: from debian.debian ([2a09:bac5:7a49:f9b::18e:1c]) by smtp.gmail.com with ESMTPSA id 00721157ae682-62c7667dc7esm5397227b3.81.2024.05.31.18.43.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 May 2024 18:43:02 -0700 (PDT) Date: Fri, 31 May 2024 18:43:00 -0700 From: Yan Zhai To: netdev@vger.kernel.org Cc: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , David Ahern , Abhishek Chauhan , Mina Almasry , Florian Westphal , Alexander Lobakin , David Howells , Jiri Pirko , Daniel Borkmann , Sebastian Andrzej Siewior , Lorenzo Bianconi , Pavel Begunkov , linux-kernel@vger.kernel.org, kernel-team@cloudflare.com, Jesper Dangaard Brouer Subject: [RFC v2 net-next 7/7] af_packet: use sk_skb_reason_drop to free rx packets Message-ID: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Replace kfree_skb_reason with sk_skb_reason_drop and pass the receiving socket to the tracepoint. Signed-off-by: Yan Zhai --- net/packet/af_packet.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c index fce390887591..3133d4eb4a1b 100644 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c @@ -2226,7 +2226,7 @@ static int packet_rcv(struct sk_buff *skb, struct net= _device *dev, skb->len =3D skb_len; } drop: - kfree_skb_reason(skb, drop_reason); + sk_skb_reason_drop(sk, skb, drop_reason); return 0; } =20 @@ -2494,7 +2494,7 @@ static int tpacket_rcv(struct sk_buff *skb, struct ne= t_device *dev, skb->len =3D skb_len; } drop: - kfree_skb_reason(skb, drop_reason); + sk_skb_reason_drop(sk, skb, drop_reason); return 0; =20 drop_n_account: @@ -2503,7 +2503,7 @@ static int tpacket_rcv(struct sk_buff *skb, struct ne= t_device *dev, drop_reason =3D SKB_DROP_REASON_PACKET_SOCK_ERROR; =20 sk->sk_data_ready(sk); - kfree_skb_reason(copy_skb, drop_reason); + sk_skb_reason_drop(sk, copy_skb, drop_reason); goto drop_n_restore; } =20 --=20 2.30.2