Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp2649075pxb; Fri, 17 Sep 2021 15:04:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxtaXzphAnvHvDL3Yr2unyzVNGuOjUoKmC17GGYmBbFz/BcwzHYAMat3/UxsDlAqJjxR7dt X-Received: by 2002:a05:6e02:12e2:: with SMTP id l2mr6561597iln.153.1631916246965; Fri, 17 Sep 2021 15:04:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631916246; cv=none; d=google.com; s=arc-20160816; b=rcb+DfYqeovAPO9JCo3o9IhqNPsIMkk51bNUt2wMIOUTh1YFCE6Bf+Ndf0ADwy/V0/ 5USnLBr8QPLKFrZa9xWlxIAmTiibOaJQkrQ6QA2wL4JvzscjRmYbtWe2LOsKGNMRHute 6BG9FlXwezCwOVmFbo2D7wB3gSmb2GE/hX/3GDpSYxD6M2g9IpVUAwaIn5FUGTT7gCB9 HfiAjbMkAW7y4WpuCmRFu9FmATGEyX/IEfUgvVJl1jcCFL0EGGbVAJq5jXMwqSOwPdZa MSytoTfZm5VcG3hWzZ/cTwFjAfFXK2NbZ1xIl3I7Ue7onqfiKDS1oVsqpC+tfOfC/kgJ WHcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:robot-unsubscribe :robot-id:message-id:mime-version:references:in-reply-to:cc:subject :to:reply-to:sender:from:dkim-signature:dkim-signature:date; bh=ZkWzICDmRF+TRzyFslvZ3rwCtSeGiN6dnAL7/P/W8Cs=; b=Az944TGU5dzQYip/9610m8tWXLlpMkuR1KfgQLlgKKgOQfr1UierPfUPYFSzFKM0ML l6ONp1qgVZUF7HCgBZa9LheGwhVATsXB/hxdmNyK5spomQ5xJliKTB3SzflvZC70oaOq sKvNXtMppKakBLz0GfydbbD5JfXjvW0rS5lPkQlR2aXM2mlw2UKfua64sL3WVGT6ftvR awcni23Tgg5Qb/2knAn6trtA3bp/LE4obo0MsiMdUNQgYLhWAfZM5kWiL+uWeTw8DSSr eqGqr4S2ceBOTCl9bteAgBMDWHT6odxbyHlGyUyRrCG19Pm8ybkls28Pyz8Ev/365cbC UJCw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=I75bpC5Q; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e; 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=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z22si8970293jan.81.2021.09.17.15.03.56; Fri, 17 Sep 2021 15:04:06 -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=@linutronix.de header.s=2020 header.b=I75bpC5Q; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e; 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=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240305AbhIQNSw (ORCPT + 99 others); Fri, 17 Sep 2021 09:18:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48006 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240252AbhIQNSq (ORCPT ); Fri, 17 Sep 2021 09:18:46 -0400 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1A4ACC061574; Fri, 17 Sep 2021 06:17:22 -0700 (PDT) Date: Fri, 17 Sep 2021 13:17:19 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1631884640; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ZkWzICDmRF+TRzyFslvZ3rwCtSeGiN6dnAL7/P/W8Cs=; b=I75bpC5QydGq6e1Wu+IfhJXp4lif0xqlb3l1NPnuD3CbCkjq9uozf3rraJWhisd8RcXDsK 2tO+8mPdHRA3vCI5P+OgDnkp/qV5u0PzkgTRzd/InkVl67zxA+/88CvDAG5pcntG5aozGb dtK8htGWAUPTS20v4H3aPLZRoPpvLLzWCDkXtEl9Xht0KcE6iGTavlpJwdITh+hztpJ5QQ FGcDDI7nPT6i7Y3BsR415ZqdhCI6xf0hUilGXWVJ72DI9MH3R/kPCo68SNYg+yDrPhFtTO cv4TZ7BIyi7ogTVWDTCd0iPqFWsj7jSzUTtpHwPAl0nJYj5uoBckYVPc96gxqg== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1631884640; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ZkWzICDmRF+TRzyFslvZ3rwCtSeGiN6dnAL7/P/W8Cs=; b=nrkfwmR9b8EjPQpZFmnmXcq4CJIB7DMdoJAbcyF0wlx7anDNo+2MNZ3hjrM+nL0cMmbIpN Os247f0eV3RMsDDA== From: "tip-bot2 for Sebastian Andrzej Siewior" Sender: tip-bot2@linutronix.de Reply-to: linux-kernel@vger.kernel.org To: linux-tip-commits@vger.kernel.org Subject: [tip: locking/core] lockdep: Let lock_is_held_type() detect recursive read as read Cc: Sebastian Andrzej Siewior , "Peter Zijlstra (Intel)" , Boqun Feng , Waiman Long , x86@kernel.org, linux-kernel@vger.kernel.org In-Reply-To: <20210903084001.lblecrvz4esl4mrr@linutronix.de> References: <20210903084001.lblecrvz4esl4mrr@linutronix.de> MIME-Version: 1.0 Message-ID: <163188463991.25758.18010584189127334945.tip-bot2@tip-bot2> Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The following commit has been merged into the locking/core branch of tip: Commit-ID: 2507003a1d10917c9158077bf6030719d02c941e Gitweb: https://git.kernel.org/tip/2507003a1d10917c9158077bf6030719d02c941e Author: Sebastian Andrzej Siewior AuthorDate: Fri, 03 Sep 2021 10:40:01 +02:00 Committer: Peter Zijlstra CommitterDate: Fri, 17 Sep 2021 15:08:44 +02:00 lockdep: Let lock_is_held_type() detect recursive read as read lock_is_held_type(, 1) detects acquired read locks. It only recognized locks acquired with lock_acquire_shared(). Read locks acquired with lock_acquire_shared_recursive() are not recognized because a `2' is stored as the read value. Rework the check to additionally recognise lock's read value one and two as a read held lock. Fixes: e918188611f07 ("locking: More accurate annotations for read_lock()") Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Peter Zijlstra (Intel) Acked-by: Boqun Feng Acked-by: Waiman Long Link: https://lkml.kernel.org/r/20210903084001.lblecrvz4esl4mrr@linutronix.de --- kernel/locking/lockdep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c index bf1c00c..bfa0a34 100644 --- a/kernel/locking/lockdep.c +++ b/kernel/locking/lockdep.c @@ -5366,7 +5366,7 @@ int __lock_is_held(const struct lockdep_map *lock, int read) struct held_lock *hlock = curr->held_locks + i; if (match_held_lock(hlock, lock)) { - if (read == -1 || hlock->read == read) + if (read == -1 || !!hlock->read == read) return LOCK_STATE_HELD; return LOCK_STATE_NOT_HELD;