Received: by 2002:ab2:710b:0:b0:1ef:a325:1205 with SMTP id z11csp605689lql; Mon, 11 Mar 2024 11:43:05 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXgHD+x0eP0p5MtuHSkC9eGdPcY2tIEuKezYPhxOyUZQuPp5xjb3Fgnyon5pgkZJMeOv0pe/hA+lFpjdgBSB5tTjABDZMD65nuolE9eig== X-Google-Smtp-Source: AGHT+IFe996l9NIBTngtqQXre9Nnp7fjdgCjxLU8X/QRxtAmycZhros57RDrs7FNNv1m2I4y+tHD X-Received: by 2002:a17:902:da81:b0:1dd:a03c:8fd5 with SMTP id j1-20020a170902da8100b001dda03c8fd5mr3840918plx.34.1710182585300; Mon, 11 Mar 2024 11:43:05 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1710182585; cv=pass; d=google.com; s=arc-20160816; b=GJTfQIOWV2ZBuoch3qkULN5xnRGEGxSVvYFo4ONCMP31kUfmzAZrhQg55AIr22fKp3 76XZ0xxWuk6/XG30i697huOge/CuEr25kRmpClzEy85ICMNz8tstCbF9nEvfautdN5z9 eYFtN2NJGoC5in3dbhuJfhL7DgSDxb1/USOfrJOzTd6J/Yzevszb4lh/SeRO5diNZCZX o/gc50SGBwk6bKr/3JwzMPZFsHz8Q5yxQmbWysaekCkOINSx7Q4H80QB++1QsHG3JXX6 BMef/qm8q6MqG8mMf7QTpLdttn9RxFZ8nv6xOLC2PTtmvm1gV+laLEhhpfMNTHw+KNLr INNQ== 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=ncgyEuEQsYz2Kipfjfc73bLQWRMBw0Efnou/6bdWPf4=; b=r6begCmK8ypyWYB2qJcKopRDpE/zJo4Fgpnd+xHjHPsK/UXWSJYtUV7IE0JJEeyGkW A5qfTk2jrGncX5+8Vq9GhKWEpjH2Qc+ES700S7wLFThlSdKzhlnQ4leHIqd7u3Tpz5B7 nywIAAuNtKtj09SRo1T/QVv/h4RYTcYCnydy/C3SvcVApPnV57lckUdQ70QAVkMyqNJH vWrKyNAcdVHLKnMc8kKMCt2ykiOXUMlW0nTzV9dljNsFZUe93IG2+0N+CyiKFV2dliWc 2C8WQh7/g5yi1bqn1CI/83ZlndvrVRsshttZqJun6SdQN4kZrb3KKPusyOEtw2paN7/q s8Hw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Cr3TvSrY; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-99384-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-99384-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id t13-20020a170902e84d00b001d93f31a19bsi5512565plg.345.2024.03.11.11.43.04 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Mar 2024 11:43:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-99384-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Cr3TvSrY; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-99384-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-99384-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 sy.mirrors.kernel.org (Postfix) with ESMTPS id 885CEB209A2 for ; Mon, 11 Mar 2024 18:39:51 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C01B159B57; Mon, 11 Mar 2024 18:37:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Cr3TvSrY" 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 D042159B41; Mon, 11 Mar 2024 18:37:08 +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=1710182228; cv=none; b=vGqxrXwMXR/Focw7tXHFJ8uC0ODp4b8VqabUt5ToptiJRxZUrcKui4+7cby+U+LmWJVvtAl5+UNsKgFOJkxizKacHa330JGalJr1mSdaPxYiaiQSSaALtnLfrySZ/p7NKBfJdx/Uh81y1q4moaebRymjTT0j2PFiUZsOoyFuTso= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710182228; c=relaxed/simple; bh=KLNv6IZ5yEeP9+TzZ7XNfvS9hm4MRpt6kWqrQ9+/B+s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bREuUpHWwXyGqFHuYeI1vipLUcwaKwsDdTp+wnMI3P3LewpTtlzY1aLHnrCCbKacNTofIpduS+lFYE9FgW9BGs6G2azAp9OpmnVQK8gy7MhFvzn2t2fUb94JGwIRDmWLyDed7+hJa1hvGxiIKCVrbCVDXgoPE4smikQ43Ie2Fk8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Cr3TvSrY; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id B4063C43390; Mon, 11 Mar 2024 18:37:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710182228; bh=KLNv6IZ5yEeP9+TzZ7XNfvS9hm4MRpt6kWqrQ9+/B+s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Cr3TvSrY+aQkDeabwVvMaB2Svs1Fsf2GpQiO9LtYIeS84IimCcI195o8ZsF/xUvNs 9uN4zDbhaJbMSUVazDsvmraAtqXc1QYjvAqu6dXWhJ5pY2A8mIxbAnV+T9qGexpVjQ By4Gkeq8dWy0T1Wq4i/D24bVQo9w7JcETnshNLu4GNJrANvBPVL3C+ExVjXUlegHzb uyr+ujIdhPwlIbeRn794IhDzjfIw3mSwJZim/47B+YtjJFE5XQzg/wWiKVM2N/wkb4 k6/dr83KSoFtVAddUYLIwamL/Qk1oZj+IG6Jt6anIfM1RdiFUjzhPAbA3zpfN8BrDG HpgAZiWqGBEYQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Mike Yu , Steffen Klassert , Sasha Levin , davem@davemloft.net, netdev@vger.kernel.org Subject: [PATCH AUTOSEL 6.7 10/14] xfrm: set skb control buffer based on packet offload as well Date: Mon, 11 Mar 2024 14:36:13 -0400 Message-ID: <20240311183618.327694-10-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240311183618.327694-1-sashal@kernel.org> References: <20240311183618.327694-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 X-stable-base: Linux 6.7.9 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