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 X-Spam-Level: X-Spam-Status: No, score=-10.7 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B8C02C43381 for ; Mon, 18 Feb 2019 15:57:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 799222184A for ; Mon, 18 Feb 2019 15:57:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1550505468; bh=Ml9k6c9iGIFcFBydFCnuMvugCNIT1OQ3o1bRAQldlWQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-ID:From; b=C5/UNQPRkdh6jxJ3w0joilHeNgk4UW79LzLRvl+jK/upYz1URefmFIn7P4TLV6msv l7wfvsJGA5UDDqIhiILUw3BTTKrT8ieuKY1pWGeIrrHZYi+VgFgUxJb60KKpDGtwby duQwu2b0qfnRA2R2klnwLscj46A7iRHa4HL+l+mQ= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388137AbfBRP5r (ORCPT ); Mon, 18 Feb 2019 10:57:47 -0500 Received: from mail.kernel.org ([198.145.29.99]:58024 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730199AbfBRP5r (ORCPT ); Mon, 18 Feb 2019 10:57:47 -0500 Received: from localhost (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 3F315217F5; Mon, 18 Feb 2019 15:57:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1550505466; bh=Ml9k6c9iGIFcFBydFCnuMvugCNIT1OQ3o1bRAQldlWQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=wWV0XTE4xWMWqHhilLUChVV/YEsZ54Vr0bZJ+8SG9tPglEi3KEPSASbCQLrcGc1Kh ji1wEdKgFwfqskYTU2mlJQhEKjPW/9cl+hklSzZ4QxlffpCCCuCxD/8x734jGMB0PN aEOf+BY3CpFx/iIECOX05I9aY8Z+Cdgn/F91uXHw= Date: Mon, 18 Feb 2019 10:57:45 -0500 From: Sasha Levin To: David Miller Cc: nicolas.dichtel@6wind.com, netdev@vger.kernel.org, willemb@google.com, maximmi@mellanox.com Subject: Re: [PATCH net v2] af_packet: fix raw sockets over 6in4 tunnel Message-ID: <20190218155745.GU10616@sasha-vm> References: <20190117102722.14474-1-nicolas.dichtel@6wind.com> <20190117.155527.717258097202066512.davem@davemloft.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: <20190117.155527.717258097202066512.davem@davemloft.net> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Thu, Jan 17, 2019 at 03:55:27PM -0800, David Miller wrote: >From: Nicolas Dichtel >Date: Thu, 17 Jan 2019 11:27:22 +0100 > >> Since commit cb9f1b783850, scapy (which uses an AF_PACKET socket in >> SOCK_RAW mode) is unable to send a basic icmp packet over a sit tunnel: >> >> Here is a example of the setup: >> $ ip link set ntfp2 up >> $ ip addr add 10.125.0.1/24 dev ntfp2 >> $ ip tunnel add tun1 mode sit ttl 64 local 10.125.0.1 remote 10.125.0.2 dev ntfp2 >> $ ip addr add fd00:cafe:cafe::1/128 dev tun1 >> $ ip link set dev tun1 up >> $ ip route add fd00:200::/64 dev tun1 >> $ scapy >>>>> p = [] >>>>> p += IPv6(src='fd00:100::1', dst='fd00:200::1')/ICMPv6EchoRequest() >>>>> send(p, count=1, inter=0.1) >>>>> quit() >> $ ip -s link ls dev tun1 | grep -A1 "TX.*errors" >> TX: bytes packets errors dropped carrier collsns >> 0 0 1 0 0 0 >> >> The problem is that the network offset is set to the hard_header_len of the >> output device (tun1, ie 14 + 20) and in our case, because the packet is >> small (48 bytes) the pskb_inet_may_pull() fails (it tries to pull 40 bytes >> (ipv6 header) starting from the network offset). >> >> This problem is more generally related to device with variable hard header >> length. To avoid a too intrusive patch in the current release, a (ugly) >> workaround is proposed in this patch. It has to be cleaned up in net-next. >> >> Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=993675a3100b1 >> Link: http://patchwork.ozlabs.org/patch/1024489/ >> Fixes: cb9f1b783850 ("ip: validate header length on virtual device xmit") >> CC: Willem de Bruijn >> CC: Maxim Mikityanskiy >> Signed-off-by: Nicolas Dichtel >> --- >> >> v1 -> v2: >> reset nh offset only for small packets sent on a variable hard hdr len device > >Applied. Should this go to -stable as well? The patch it fixes is in 4.20. -- Thanks, Sasha