Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp911300pxb; Wed, 1 Sep 2021 12:29:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyI5FGUYBqZsudVswYweMJioia/X+/5eydl+FXz43ZIRNJzCiLaToYaojAtYw9ziixCRVY6 X-Received: by 2002:a50:f1c6:: with SMTP id y6mr1239236edl.354.1630524589590; Wed, 01 Sep 2021 12:29:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1630524589; cv=none; d=google.com; s=arc-20160816; b=cBqhtmJT9aRMgZ+D7GOJ5MjOBhNUzImMTAmL+ExIO0a+cxSsHlZED4FfUd9TWpGTp4 OER5LgiVQxYoPnKosB4SymDU21GLmsWf9ScwuJPGpwizWfr5+Udz6Ytf2iFKf/b1YuBs pCTV/ndMJEoaAN/8QVUEfMEM6NoY6eyhkq6FE+JHqvrfGip++QlmCuCNmV21PNqA8Imp YfWPhOemNc8F4QUAijcJc+0utFlBz2fLwNcu3M2qQvEEEFoIoEw3D58B3cNuQux5WNYq 8h5ayPq3JQKTNuazKACglS4sNJ/UKz6jwClqKMN/2OP1mDy09PlFWTk8TyLnV1e/kb9n rvkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=/6tMcIDe5s8w3xuFBVUCoe99wdqUaqd/OSbDwHH4MZg=; b=BN2BBqPpMGBSQQ/LmvABLoCbmq9llaMJwTwgCHraD/Ql8GI/YgcVqqAbxO2UfoxJJt nwQCVY2VezqlinitSEgUhGnbugbwmz9C93Bp7IT85VYenmLEhdlQaXYz0VAVn1w1Gsxk +5+JDHKuHZesYSe5umwhrS2FvPpIk7fbmnTfYqUmKySnmanUcAhWX46kojFuIz8Tjuc0 60gARHFNOeVqvyvmXcwgR6lyqdIOIiV38Q8goepOkb4Kh5/gRjBm2bD/r9BeGXjf7Weq 186PGexnxgP9XF4oYL61s/9L9qqRCiZMy9A5P7ZEZVQbMWZsg+nBl1iamO29+ZJhas9o D/Tg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=mbR1piCA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c15si663330ejz.158.2021.09.01.12.29.08; Wed, 01 Sep 2021 12:29:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=mbR1piCA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244476AbhIAMbX (ORCPT + 99 others); Wed, 1 Sep 2021 08:31:23 -0400 Received: from mail.kernel.org ([198.145.29.99]:60954 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244603AbhIAMaq (ORCPT ); Wed, 1 Sep 2021 08:30:46 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 91E9760ED4; Wed, 1 Sep 2021 12:29:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1630499390; bh=NfwsYjf7WGiV3nGH6I7Tki7h7cfIT8cSvUGBslzuQXA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mbR1piCAT9tgQsw+KCJRhJL6P7joOQos9ONTcjGSAxih3Z267uigA0UmwETQICzhF 1IoKz/gqjxcEV02XnfbmYuWngGhoArFl3cVQOWNK3VaS7j+L4yorICtzDosc/5A+bp 6zEpJ5ZIp+gTWuU03mT8+GqWkHc8TWK8ak4spjSo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, syzbot+ff8e1b9f2f36481e2efc@syzkaller.appspotmail.com, Shreyansh Chouhan , Willem de Bruijn , "David S. Miller" , Sasha Levin Subject: [PATCH 4.19 15/33] ip_gre: add validation for csum_start Date: Wed, 1 Sep 2021 14:28:04 +0200 Message-Id: <20210901122251.282344640@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210901122250.752620302@linuxfoundation.org> References: <20210901122250.752620302@linuxfoundation.org> User-Agent: quilt/0.66 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 From: Shreyansh Chouhan [ Upstream commit 1d011c4803c72f3907eccfc1ec63caefb852fcbf ] Validate csum_start in gre_handle_offloads before we call _gre_xmit so that we do not crash later when the csum_start value is used in the lco_csum function call. This patch deals with ipv4 code. Fixes: c54419321455 ("GRE: Refactor GRE tunneling code.") Reported-by: syzbot+ff8e1b9f2f36481e2efc@syzkaller.appspotmail.com Signed-off-by: Shreyansh Chouhan Reviewed-by: Willem de Bruijn Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- net/ipv4/ip_gre.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index de6f89511a21..a8a37d112820 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c @@ -449,6 +449,8 @@ static void __gre_xmit(struct sk_buff *skb, struct net_device *dev, static int gre_handle_offloads(struct sk_buff *skb, bool csum) { + if (csum && skb_checksum_start(skb) < skb->data) + return -EINVAL; return iptunnel_handle_offloads(skb, csum ? SKB_GSO_GRE_CSUM : SKB_GSO_GRE); } -- 2.30.2