Received: by 2002:a05:7412:b112:b0:f9:3106:f1c0 with SMTP id az18csp123283rdb; Mon, 18 Dec 2023 00:43:57 -0800 (PST) X-Google-Smtp-Source: AGHT+IF4X7HW8cXe2oSg0hIxAx2BPl4WkWabkabgerPa2qMmgFTN/jlHkdVqAWfWAXP0tWqpBrdK X-Received: by 2002:a17:90a:9ce:b0:28b:4750:c85a with SMTP id 72-20020a17090a09ce00b0028b4750c85amr4532291pjo.43.1702889036958; Mon, 18 Dec 2023 00:43:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702889036; cv=none; d=google.com; s=arc-20160816; b=Guha3Ph+qqSoJfDRjYEeQ3kUAeiFDa7W3LxLbImr8X3vIEGajkGEHaMG68+YAQ3+sC 7uzOWsILLBzWOKhgqGAMC/13HyOKfFhFlSZO+sWnA1JudvClJ23CPS5SO+JnuJF9wesS P+ZxdwLHQw9VcdNbvmPlwiPR9rIhwV8jkXgn8wcjIPXo7EXs2XD05ZzYDJJdWL+As6W6 vt29F/UzzHOylepENokpM1nydJo74cUjm26TvRU7mt1unS6KARQYUCa3FpvdGMgal4VB qrvaLT/ExWtsvS82ahwl+ZNCi3R7ikjba6sMdnxxC9UrMdyCim580+bdY5UZg8H8JoVH NNWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-id:precedence:message-id:date :subject:cc:to:from; bh=gt9exmEWSk+yaVSPCeRTM+8bM6dpvMSZgUMiqHkIZf4=; fh=EDeOuclciBnc2sI324OXnxV+CIeomUqb6phFkDS/DJQ=; b=vAcgB9vkSZgiBiD7NL9ElY4i4u4Xgt8r50A4BabtOIk7MYQVrErcjj2zAKsvZcagHP vS9rBCA7r4iabtBlhvWPU83XV8FoH8ecTQWUSiwJZsLoIH3fp3JyE+Q2P48AXbKc7Qvn apla8DBggUFTT2+4NnQHgutNEmAG6jgFN9wwotG7eyr7d+Cl/ch8oVNqqWZdCT4BU6Xf 2TJHwgCAk6MEJ8CCkBKNkc93ty1nWV2UJX4lf17016lssHFUdsb+Wzz0nhnytAI6Txcw pmvGvddQzC5l78uSfz13ugnz33h+knM9iXLGy66vnwvTfyStGb39Tmeg+vc6IRAvriZG 1Q+w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel+bounces-3180-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-3180-linux.lists.archive=gmail.com@vger.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 g8-20020a17090a300800b0028b6d6802c4si2515343pjb.119.2023.12.18.00.43.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Dec 2023 00:43:56 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-3180-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; spf=pass (google.com: domain of linux-kernel+bounces-3180-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-3180-linux.lists.archive=gmail.com@vger.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 387C0B20DAA for ; Mon, 18 Dec 2023 08:43:42 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 87C9610941; Mon, 18 Dec 2023 08:43:31 +0000 (UTC) X-Original-To: linux-kernel@vger.kernel.org Received: from zg8tmtyylji0my4xnjqumte4.icoremail.net (zg8tmtyylji0my4xnjqumte4.icoremail.net [162.243.164.118]) by smtp.subspace.kernel.org (Postfix) with ESMTP id EAA9111C91; Mon, 18 Dec 2023 08:43:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=phytium.com.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=phytium.com.cn Received: from prodtpl.icoremail.net (unknown [10.12.1.20]) by hzbj-icmmx-7 (Coremail) with SMTP id AQAAfwBnbmoeBoBlde5bAw--.9111S2; Mon, 18 Dec 2023 16:43:10 +0800 (CST) Received: from phytium.com.cn (unknown [111.160.237.26]) by mail (Coremail) with SMTP id AQAAfwDXjmgYBoBloWMAAA--.124S3; Mon, 18 Dec 2023 16:43:04 +0800 (CST) From: Zhang Yiqun To: steffen.klassert@secunet.com, herbert@gondor.apana.org.au, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Zhang Yiqun Subject: [PATCH] xfrm: Use spin_lock_bh() in xfrm_input() Date: Mon, 18 Dec 2023 16:42:52 +0800 Message-Id: <20231218084252.7644-1-zhangyiqun@phytium.com.cn> X-Mailer: git-send-email 2.17.1 X-CM-TRANSID:AQAAfwDXjmgYBoBloWMAAA--.124S3 X-CM-SenderInfo: x2kd0wp1lt30o6sk53xlxphulrpou0/ Authentication-Results: hzbj-icmmx-7; spf=neutral smtp.mail=zhangyiqun @phytium.com.cn; X-Coremail-Antispam: 1Uk129KBjvdXoW7Jr4kCr4rKF4DAry7tF1kKrg_yoWkXFg_ur yfWay8GwnIqrnaya1kJwsxJr1q9w4fXFWxWry2yrZrXryxX3s5X3yI9ry5Ar4xuF48uas5 uFyqqrZ7Gw129jkaLaAFLSUrUUUU1b8apTn2vfkv8UJUUUU8wcxFpf9Il3svdxBIdaVrnU Uv73VFW2AGmfu7jjvjm3AaLaJ3UjIYCTnIWjDUYxBIdaVFxhVjvjDU0xZFpf9x0zRUUUUU UUUU= Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: This patch is to change spin_lock() into spin_lock_bh(), which can disable bottem half in calling. If we leave this as spin_lock(), it may stuck in a deadlock, because the callback in bottem half in crypto driver will also call xfrm_input() again. Signed-off-by: Zhang Yiqun --- net/xfrm/xfrm_input.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/xfrm/xfrm_input.c b/net/xfrm/xfrm_input.c index bd4ce21d76d7..f4cd46d73b1e 100644 --- a/net/xfrm/xfrm_input.c +++ b/net/xfrm/xfrm_input.c @@ -581,7 +581,7 @@ int xfrm_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type) } lock: - spin_lock(&x->lock); + spin_lock_bh(&x->lock); if (unlikely(x->km.state != XFRM_STATE_VALID)) { if (x->km.state == XFRM_STATE_ACQ) @@ -607,7 +607,7 @@ int xfrm_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type) goto drop_unlock; } - spin_unlock(&x->lock); + spin_unlock_bh(&x->lock); if (xfrm_tunnel_check(skb, x, family)) { XFRM_INC_STATS(net, LINUX_MIB_XFRMINSTATEMODEERROR); -- 2.17.1