From patchwork Mon Jan 20 10:43:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denis Arefev X-Patchwork-Id: 13944997 X-Patchwork-Delegate: kuba@kernel.org Received: from mx.swemel.ru (mx.swemel.ru [95.143.211.150]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7D97314387B; Mon, 20 Jan 2025 10:44:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.143.211.150 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737369850; cv=none; b=uzBBCChUYQKfxSnkSo0f8oQzoha2uKzIWCXspf4+BG/NudL2sTup+VCF1kzUTR+TAyCtrzHHmY4fIPXehKThL8UYpkCYOeazCI5sdLzjfrpVNu7NeVnz7omFs1SF2loVoMf1VeT2C9COyKPLvO4s6aGHjHAMGAFWzY3xf7XG51c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737369850; c=relaxed/simple; bh=GxV3g3AVZ7Hjv5VGE/3z76p6K6JyCTtgXGpii5Ce31E=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=QrNUFZwIUXJmY8UlJ2PwL7bXKfH/r01nZmXsbmQIPPFkK87OU4vrgFzEvtUFY8dp3g/anGzFD/VDtTr1Y/m+vraWkdT/AxXQhUxHCZzIoYDpAAyOwLlZ2nGoyrZ1GSpKLbmwT46KjR0YcEJP68cVLM+AllADYdahvHUwfRmLEsk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=swemel.ru; spf=pass smtp.mailfrom=swemel.ru; dkim=pass (1024-bit key) header.d=swemel.ru header.i=@swemel.ru header.b=cn9D4d0s; arc=none smtp.client-ip=95.143.211.150 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=swemel.ru Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=swemel.ru Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=swemel.ru header.i=@swemel.ru header.b="cn9D4d0s" From: Denis Arefev DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=swemel.ru; s=mail; t=1737369838; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=DLQ6qsNzGZFppIPo7gttmGGIzVGvIyXbtulBIFZZLno=; b=cn9D4d0s0CRBeGp00S5Mm/qLFQDsax3ac1mXJEGQYpHuL0r1FrspxekTqeHzSwlDwJ59se XEfsJBUuHtlDbDOwx+0+81uAikVQgbIa506TxsOh4q4za3rorR3p3uIZIrv1y9O3u47Cjf Fb+NFGg/oOfQEA1sRfBY+IylUlNiMQE= To: stable@vger.kernel.org, Greg Kroah-Hartman Cc: "David S. Miller" , Alexey Kuznetsov , Hideaki YOSHIFUJI , Jakub Kicinski , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, lvc-project@linuxtesting.org, Willem de Bruijn , Eric Dumazet Subject: [PATCH 5.10] fou: remove warn in gue_gro_receive on unsupported protocol Date: Mon, 20 Jan 2025 13:43:57 +0300 Message-ID: <20250120104358.21574-1-arefev@swemel.ru> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org From: Willem de Bruijn commit dd89a81d850fa9a65f67b4527c0e420d15bf836c upstream. Drop the WARN_ON_ONCE inn gue_gro_receive if the encapsulated type is not known or does not have a GRO handler. Such a packet is easily constructed. Syzbot generates them and sets off this warning. Remove the warning as it is expected and not actionable. The warning was previously reduced from WARN_ON to WARN_ON_ONCE in commit 270136613bf7 ("fou: Do WARN_ON_ONCE in gue_gro_receive for bad proto callbacks"). Signed-off-by: Willem de Bruijn Reviewed-by: Eric Dumazet Link: https://lore.kernel.org/r/20240614122552.1649044-1-willemdebruijn.kernel@gmail.com Signed-off-by: Jakub Kicinski Signed-off-by: Denis Arefev --- Backport fix for CVE-2024-44940 Link: https://www.cve.org/CVERecord/?id=CVE-2024-44940 --- net/ipv4/fou.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/ipv4/fou.c b/net/ipv4/fou.c index 1d67df4d8ed6..b1a8e4eec3f6 100644 --- a/net/ipv4/fou.c +++ b/net/ipv4/fou.c @@ -453,7 +453,7 @@ static struct sk_buff *gue_gro_receive(struct sock *sk, offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads; ops = rcu_dereference(offloads[proto]); - if (WARN_ON_ONCE(!ops || !ops->callbacks.gro_receive)) + if (!ops || !ops->callbacks.gro_receive) goto out; pp = call_gro_receive(ops->callbacks.gro_receive, head, skb);