From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 34752C61DB3 for ; Tue, 10 Jan 2023 19:37:28 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231309AbjAJTh0 (ORCPT ); Tue, 10 Jan 2023 14:37:26 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43026 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232398AbjAJThR (ORCPT ); Tue, 10 Jan 2023 14:37:17 -0500 X-Greylist: delayed 601 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Tue, 10 Jan 2023 11:37:10 PST Received: from netgeek.ovh (ks.netgeek.ovh [37.187.103.30]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9111F59522; Tue, 10 Jan 2023 11:37:10 -0800 (PST) Received: from quaddy.sgn (unknown [IPv6:2a01:cb19:83f8:d500:21d:60ff:fedb:90ab]) by ks.netgeek.ovh (Postfix) with ESMTPSA id 5A6F7282; Tue, 10 Jan 2023 20:20:20 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=netgeek.ovh; s=default; t=1673378420; bh=Nsili5B2oH3H+XD0KDMN6VzmJ6TVJTAgZN/YbIOyWKo=; h=From:To:Cc:Subject:Date; b=YAluGyVzARTxLTuRR+zM0F9yN03yYiQJ2GA0nKreSoTayHZx+WEALTHsQjKQtBykH eBg9H+m4ncCPd3qWREUuusCZANVU5wexI9hU8ZfdZ25t07exKyUijzhnaTBH9XTUy8 wPVMIIlSKIdqnVHD5omPgiBBryRuGJPDX+frA10Ke8CEu8Xr+3SDx3XMzgnAxMdqS4 /etKv8UaEOW7GzAIY3h7WgwBaIVJNQDTTu4AGJSitqOmtnOCOjfEBdCIekxTPrQ29S 5JeEUu/uBkDFPivKq3KhXamL9VA98skCFOD4hVk5qFIGOyvXmvaxgU8lcNuk243wcv g5aHBI/IHUEEg== From: =?UTF-8?q?Herv=C3=A9=20Boisse?= To: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, =?UTF-8?q?Herv=C3=A9=20Boisse?= Subject: [PATCH net 1/2] net/af_packet: fix tx skb protocol on SOCK_PACKET sockets Date: Tue, 10 Jan 2023 20:17:24 +0100 Message-Id: <20230110191725.22675-1-admin@netgeek.ovh> X-Mailer: git-send-email 2.38.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit 75c65772c3d1 ("net/packet: Ask driver for protocol if not provided by user") introduces packet_parse_headers() to extract protocol for SOCK_RAW sockets. But, SOCK_PACKET sockets which provide similar behaviour are not considered so far and packets sent by those sockets will have their protocol unset. Extract the skb protocol value from the packet for SOCK_PACKET sockets, as currently done for SOCK_RAW sockets. Fixes: 75c65772c3d1 ("net/packet: Ask driver for protocol if not provided by user") Signed-off-by: Hervé Boisse --- net/packet/af_packet.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c index b5ab98ca2511..c18274f65b17 100644 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c @@ -1928,7 +1928,7 @@ static void packet_parse_headers(struct sk_buff *skb, struct socket *sock) int depth; if ((!skb->protocol || skb->protocol == htons(ETH_P_ALL)) && - sock->type == SOCK_RAW) { + (sock->type == SOCK_RAW || sock->type == SOCK_PACKET)) { skb_reset_mac_header(skb); skb->protocol = dev_parse_header_protocol(skb); } -- 2.38.2