Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp7151580ybi; Mon, 8 Jul 2019 15:41:12 -0700 (PDT) X-Google-Smtp-Source: APXvYqwrAZhUI3cNM4T+VFTwjYnVJJVSfKtLEi9wp+2Ea0E8ZVxLt5xmEgCJvn16+B5MGQsKMd+n X-Received: by 2002:a17:90a:cf0d:: with SMTP id h13mr28554235pju.63.1562625672035; Mon, 08 Jul 2019 15:41:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562625672; cv=none; d=google.com; s=arc-20160816; b=yFn7dyOgiOrFfB4ybIAZcJdBDXmVOk+yWtWAiDAKVwbw1GpKhCDQG3GUcnzmlsNIdq /Wja/uoqc12pAZ626htlqKxTX8tK8H+B3xMqsAnC5RM96I0N9XUqkHxsVy+OGW+baMRn rLJ8M4pBWMjCnuSbUMJsgelTGsLfjcgO2UoT8c1P2gMmV4ri+yAfCajR1byt0c5BHUED 5JKlU4YWxbPkTy90VXae5WeWUYBfRRr+hYzM33sak6+9/HskaipUWFlt8Co7ZjkDLP64 AXvKfBJ9JeElKznRUho/RDSWt2/WiDUcg9U66r6N4+bQfdi9Udbx1hpV2NF8i55jE7is eaJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=REp4EZjU61onADROgyGQjOKmiJmdDBifGlU6ub9YQ8M=; b=Ymyf7oj2sAtjgHf549T5jTm7IgEn+IkG0CoUb9x6XTenrkNdhz4yA/kTU4s8ad/J4V nLAgj5jQ0CXWONVg91WB0WmYMRjDcTX2dKn+wCrZkYppYpqCEa4QL+CQG0yiGqqZGhCJ 7jMbi/DeSReuF8hvon4z0p2cWcDLqtSoSuteJy22bK2cRaPCbCuBd/vwc0r8d3+7HNMg vpFDBzRw8HLWVz8jPsHQRYdvEQfzbkUPAlQA744C4Td1CMAlzZYnGZVEIr8PTmK0DPmC 80k5v61yFRB3R/2vJosF7h+o1i99r3nyE8+SFh0wWl2Pr9pLCz5GrtwFj/A2lVEsWOTN uaDg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=v+bSbra1; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h18si735374pjt.9.2019.07.08.15.40.57; Mon, 08 Jul 2019 15:41:12 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=v+bSbra1; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390782AbfGHPqR (ORCPT + 99 others); Mon, 8 Jul 2019 11:46:17 -0400 Received: from mail.kernel.org ([198.145.29.99]:46870 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387491AbfGHPVQ (ORCPT ); Mon, 8 Jul 2019 11:21:16 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 8C7E62173C; Mon, 8 Jul 2019 15:21:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1562599276; bh=2SFi4Fqdpu8OLy4mfpNj84nLI+1c2zg3gYH+XC3PBEM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=v+bSbra1jsJOw3uonHFM8xE3tM0+czpRWO4prVUoQ8H24Uj+rcy1IV7ONQXx+4CXd QmbEsY1uazlCVCO4QQT1nV5PSy7aFZIovGQBC8OjUoxwjKDwP5f1o1btpZ0hQ4Msga 2LO6G7CBOLzMi572HZuwrPvHaDtRqYaswemywaXI= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Tom Herbert , Martin KaFai Lau , Song Liu , Alexei Starovoitov Subject: [PATCH 4.9 062/102] bpf: udp: Avoid calling reuseports bpf_prog from udp_gro Date: Mon, 8 Jul 2019 17:12:55 +0200 Message-Id: <20190708150529.667339334@linuxfoundation.org> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190708150525.973820964@linuxfoundation.org> References: <20190708150525.973820964@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Martin KaFai Lau commit 257a525fe2e49584842c504a92c27097407f778f upstream. When the commit a6024562ffd7 ("udp: Add GRO functions to UDP socket") added udp[46]_lib_lookup_skb to the udp_gro code path, it broke the reuseport_select_sock() assumption that skb->data is pointing to the transport header. This patch follows an earlier __udp6_lib_err() fix by passing a NULL skb to avoid calling the reuseport's bpf_prog. Fixes: a6024562ffd7 ("udp: Add GRO functions to UDP socket") Cc: Tom Herbert Signed-off-by: Martin KaFai Lau Acked-by: Song Liu Signed-off-by: Alexei Starovoitov Signed-off-by: Greg Kroah-Hartman --- net/ipv4/udp.c | 6 +++++- net/ipv6/udp.c | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c @@ -569,7 +569,11 @@ static inline struct sock *__udp4_lib_lo struct sock *udp4_lib_lookup_skb(struct sk_buff *skb, __be16 sport, __be16 dport) { - return __udp4_lib_lookup_skb(skb, sport, dport, &udp_table); + const struct iphdr *iph = ip_hdr(skb); + + return __udp4_lib_lookup(dev_net(skb->dev), iph->saddr, sport, + iph->daddr, dport, inet_iif(skb), + &udp_table, NULL); } EXPORT_SYMBOL_GPL(udp4_lib_lookup_skb); --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c @@ -294,7 +294,7 @@ struct sock *udp6_lib_lookup_skb(struct return __udp6_lib_lookup(dev_net(skb->dev), &iph->saddr, sport, &iph->daddr, dport, inet6_iif(skb), - &udp_table, skb); + &udp_table, NULL); } EXPORT_SYMBOL_GPL(udp6_lib_lookup_skb);