Received: by 2002:ab2:6857:0:b0:1ef:ffd0:ce49 with SMTP id l23csp2589938lqp; Mon, 25 Mar 2024 03:47:07 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUcGsXKyYUSvn4nQCHMqhwVDeuJNiyzwdx4kyIUaTLNRoA0fNqN40Xye7pFTYPvCbUA6KX3HEDbQw+4vwcZ+ENxJO7y43J1oRvlZDX28A== X-Google-Smtp-Source: AGHT+IFMokFelRnVUUMbifVzJzBbDfyE6fmE17Aj3D2rotLua57A5ccR9Nq/d4UGRZgWJQm+DHET X-Received: by 2002:a05:6871:288e:b0:22a:2446:353f with SMTP id bq14-20020a056871288e00b0022a2446353fmr4078479oac.11.1711363627222; Mon, 25 Mar 2024 03:47:07 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711363627; cv=pass; d=google.com; s=arc-20160816; b=BrgLLBYYvYMVi33l8elZTvi0am3sH9M8MiodVtEzZNdDu5X+1y+FCfHqbRo+nj28f0 P0awZt3fa7xI5uJuRlEjHh1bMEk3u0Ohq8PbPNcHTIYVN8dywb+7EaeksQHDxH3mlTdg KYU0f4NNwf7K4BkDTgwsvVegUnb2vQ7HKEJTjyT4UaFt6p2WW23qN2oZ0hE5q7UjpfWu Nqcr9IWc2ez7qJHRN3vrJLh7FXj+dfy0iAOl+R17Q7oKJ9awy6mJRRsHmCBFq6RvE8um eX6Bt1CdahOVUmMhbWI/5nU2zAywpI9KBIr3bQC43U/TupXI1YdxZH+P4M+h87nxGJaT DRJA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=7bJVVG+5RTUzSzREFvUKbJHnFrV0nnydfyG88Q1qEDA=; fh=Nw5cgJ1qEuaHUM5eOUejOW/x18eA+gsen5dMLgcBFVY=; b=tDkwtM9QcnID00xloymPh5R5oJGnme/lrOsd2oPky+QKPzlMsiDkLeobw4wadnR6XV eA20fAXOdnaiPhIaHhDPN3xqLH5WHs6ZuSvLysWWri8JtG4HlK5mLeQk88QTS6Bqu6a8 pYf9LS8DLYMY0ceSjSXXcILW4PJHErGNB1xNUxHhUJVawTo5bqgiHrv3aZJE6YuKqR7n ueAXLxgMRHhF3Iy1wOqbPH7QChJ1m9B6uoNwoo8xW6N1gYFZEnPMTGPWjKVaTWu4e6DB pgXH5r/KczsitTR+Qr+uH2ITpMKyb67o518mF4IQRG0m2EQn7Zjbh9wqrndcBbOQwKjs gFYw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="Xh/3C/G3"; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-115340-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-115340-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id m18-20020a62f212000000b006e626b0647fsi4963909pfh.57.2024.03.25.03.47.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Mar 2024 03:47:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-115340-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="Xh/3C/G3"; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-115340-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-115340-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 880D52A3EBE for ; Mon, 25 Mar 2024 10:39:24 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 646F31E6F5B; Mon, 25 Mar 2024 02:33:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Xh/3C/G3" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 BF29F1CE6B3; Sun, 24 Mar 2024 22:48:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711320515; cv=none; b=iCCajK13Y9LI1/QjtFPsYqzCs48nQ0uCEaVeyw3LarUFXMnCxYkHwe6pt0z3mWmu0ujuZYOHKGLiZz2AB3qwcaGBA6BfeAMrOOTeJMdeZPsiG5V9WyPJ3dEWeSx2P+MMexgOvQhMmrOZX3w84wCsCkFvvHd3/4VPIBcMtkf8mn0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711320515; c=relaxed/simple; bh=KLNv6IZ5yEeP9+TzZ7XNfvS9hm4MRpt6kWqrQ9+/B+s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jwJPVqLz3Ka6Kda95TFr/YijBM8ziWI72dYF/umU6KLdTaZvvBKsgB9jJmwD5MZrUo/6X2WWqF111kyw/IIcJ1PQ4CezPA8F3QPOYiMcTcFoECn7CNM7sL3XX1L+KyIa5dQwRViyBc5Soj4LPG8cKO5WVpcdxIT+VY+0kT/HxYc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Xh/3C/G3; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 059C4C433C7; Sun, 24 Mar 2024 22:48:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711320515; bh=KLNv6IZ5yEeP9+TzZ7XNfvS9hm4MRpt6kWqrQ9+/B+s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Xh/3C/G3z/ETJBFT9HR6ng6c6K4GVcO1yuOXTPpM+hg5EZd7VblgXu8ft0Q1wuYM1 z4NHCD22WwXx0cosrxd1DNDcsqOjdWW6eSWu+7dG9St53CXfLzojpCgqy+4EGKpVOA iLFOWHykkTrJHRBbpidOJOTFPaCKuy2OIAsOlfaGccLgDaSEiPpYzQPIZ58VcFoqQF mb9CYJyTQ30u1N9w4P5npBe3t8kLcpwwUXAOFb4Gfttm4GlnAzN1u47B9HuIT5Mcik jk0wxUCJc+tIW8c26Bz0oQNc1DKd95MtUtmZAKSfEcvYdMbu9h94Zcut9TFNACZudH xAl1oLiIfBYnA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Mike Yu , Steffen Klassert , Sasha Levin Subject: [PATCH 6.7 076/713] xfrm: set skb control buffer based on packet offload as well Date: Sun, 24 Mar 2024 18:36:42 -0400 Message-ID: <20240324224720.1345309-77-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324224720.1345309-1-sashal@kernel.org> References: <20240324224720.1345309-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit From: Mike Yu [ Upstream commit 8688ab2170a5be0bc922195f7091c38b506bab2e ] In packet offload, packets are not encrypted in XFRM stack, so the next network layer which the packets will be forwarded to should depend on where the packet came from (either xfrm4_output or xfrm6_output) rather than the matched SA's family type. Test: verified IPv6-in-IPv4 packets on Android device with IPsec packet offload enabled Signed-off-by: Mike Yu Signed-off-by: Steffen Klassert Signed-off-by: Sasha Levin --- net/xfrm/xfrm_output.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/net/xfrm/xfrm_output.c b/net/xfrm/xfrm_output.c index 662c83beb345e..e5722c95b8bb3 100644 --- a/net/xfrm/xfrm_output.c +++ b/net/xfrm/xfrm_output.c @@ -704,9 +704,13 @@ int xfrm_output(struct sock *sk, struct sk_buff *skb) { struct net *net = dev_net(skb_dst(skb)->dev); struct xfrm_state *x = skb_dst(skb)->xfrm; + int family; int err; - switch (x->outer_mode.family) { + family = (x->xso.type != XFRM_DEV_OFFLOAD_PACKET) ? x->outer_mode.family + : skb_dst(skb)->ops->family; + + switch (family) { case AF_INET: memset(IPCB(skb), 0, sizeof(*IPCB(skb))); IPCB(skb)->flags |= IPSKB_XFRM_TRANSFORMED; -- 2.43.0