Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp3949858pxb; Mon, 8 Feb 2021 04:25:29 -0800 (PST) X-Google-Smtp-Source: ABdhPJzQW/0sTVIL8tGKhgVGI4YHMtrsnYgBYvVsiSk3A9Bk2qIQRS6QhJ7eTutgbmFS9SCgophx X-Received: by 2002:a17:907:7252:: with SMTP id ds18mr16705604ejc.239.1612787129452; Mon, 08 Feb 2021 04:25:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612787129; cv=none; d=google.com; s=arc-20160816; b=TsgD37OVyWrYXATKVGSLhN2WizXZk/ktmYAVIQOy07r1PXIlXQTEeE7ZAWKSozdBtY 8X4yYXEgyjpP1z6MfAsI3FyLHPWgtPodeoOKs0hgVTUa6tUczCeOdAXWMJ6fhnx5aP/o z+g+oMVJLRiPnKJfBGo2Dq1kZuakx82ASAq5mTYsazKqip0bjz3PC/w45VnqXhCRxATT 2x/4QlXL5tfkfcBnAo4j14csZdWja4Ixex2P5psciFu0aR8PvzZb4VBah17kNPzcUmiQ +Hz6QX+I94S51l/Ws/exbNg2bmZc9QEKnOIjvJ2R+CF9vw2K40kuKlWB6QdrVMFgkWXO Tazg== 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=vkcgDtiq9H22ESNjGl4kiZJBKyWKACV97G6szrgnwR0=; b=H0hY/D9vKh/wY/WSKwv50MnMlWHjC7HIldjfczKH+X2Xlj3Yu3d+6ZRHt4lA8le7mf hgmzrrk0jCy3wp2/Vq/AFD4SUCVHYjvdF9UseQpVXxHTEMe8fxthESEnU84iyOt9GFxD l33HrKs7hYN8TM4BEAe78dpvf7XGqxaQED7OkyzrLMdviInUsGXqMvlJ7cOBo+NllG4n mbiALDm2yxQN3cnKcQ5FT+Pf8CH/Iq0kkf0mJiH/tcAhLLi03IQiluXYfU50gslX/GVU dnnfLcyV0q1mtzjolbTqCE2rfF8r/p/C60RyfVrrCIK8HA0NKC57M1ehkR2De8Lx5kwf zwoA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=H2o3R20R; dkim=neutral (no key) header.i=@linutronix.de; 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 d17si12442330edv.89.2021.02.08.04.25.05; Mon, 08 Feb 2021 04:25:29 -0800 (PST) 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=H2o3R20R; dkim=neutral (no key) header.i=@linutronix.de; 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 S232676AbhBHMYJ (ORCPT + 99 others); Mon, 8 Feb 2021 07:24:09 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40378 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233598AbhBHMHR (ORCPT ); Mon, 8 Feb 2021 07:07:17 -0500 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8D4ECC06178A; Mon, 8 Feb 2021 04:06:36 -0800 (PST) Date: Mon, 08 Feb 2021 12:06:34 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1612785995; 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=vkcgDtiq9H22ESNjGl4kiZJBKyWKACV97G6szrgnwR0=; b=H2o3R20RwagCtBgHh1IBA5s2BJzLR+cxtS6+yYIMp1ZTADj+SYdq73KXnmAIg361L1ZX2U 3LkT9rKiiVvRuaIz7yZ8aUYQ8DlfU2aBwbpVaaXQl4/lfQOgpSL2E5rbfmyph+MmtPm/JY 0D3G0s3/zRE0OUJVEGLk/zqXJMvL79ey+U670iqo72wo8W58ywzL4ZSgGvoJJNeNuBmPEp yCn2ATUmgU6Kayr8jjy8APktMLfLkmakWe8MXXJhEMsPdlixmOM6aOJpwIL1QeZsO97bS0 g4nAa4JOiaqaJJWaSybHceTTfOmMeVqP4W31FRBVrCp3ql7FBACjJA34ApUoVA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1612785995; 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=vkcgDtiq9H22ESNjGl4kiZJBKyWKACV97G6szrgnwR0=; b=h/Bnftcz+PI9rybm51aR8OhYjjfDPcdphnRuqv6cKTOCLwjtz9jawKCVKGcpKsvE0MLzs8 VWlexhBgO2FO7hBw== From: "tip-bot2 for Peter Zijlstra" Sender: tip-bot2@linutronix.de Reply-to: linux-kernel@vger.kernel.org To: linux-tip-commits@vger.kernel.org Subject: [tip: locking/core] locking/lockdep: Avoid unmatched unlock Cc: Dmitry Vyukov , "Peter Zijlstra (Intel)" , Waiman Long , x86@kernel.org, linux-kernel@vger.kernel.org In-Reply-To: References: MIME-Version: 1.0 Message-ID: <161278599436.23325.6481139637302751711.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: 7f82e631d236cafd28518b998c6d4d8dc2ef68f6 Gitweb: https://git.kernel.org/tip/7f82e631d236cafd28518b998c6d4d8dc2ef68f6 Author: Peter Zijlstra AuthorDate: Mon, 01 Feb 2021 11:55:38 +01:00 Committer: Peter Zijlstra CommitterDate: Fri, 05 Feb 2021 17:20:15 +01:00 locking/lockdep: Avoid unmatched unlock Commit f6f48e180404 ("lockdep: Teach lockdep about "USED" <- "IN-NMI" inversions") overlooked that print_usage_bug() releases the graph_lock and called it without the graph lock held. Fixes: f6f48e180404 ("lockdep: Teach lockdep about "USED" <- "IN-NMI" inversions") Reported-by: Dmitry Vyukov Signed-off-by: Peter Zijlstra (Intel) Acked-by: Waiman Long Link: https://lkml.kernel.org/r/YBfkuyIfB1+VRxXP@hirez.programming.kicks-ass.net --- kernel/locking/lockdep.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c index ad9afd8..5104db0 100644 --- a/kernel/locking/lockdep.c +++ b/kernel/locking/lockdep.c @@ -3773,7 +3773,7 @@ static void print_usage_bug(struct task_struct *curr, struct held_lock *this, enum lock_usage_bit prev_bit, enum lock_usage_bit new_bit) { - if (!debug_locks_off_graph_unlock() || debug_locks_silent) + if (!debug_locks_off() || debug_locks_silent) return; pr_warn("\n"); @@ -3814,6 +3814,7 @@ valid_state(struct task_struct *curr, struct held_lock *this, enum lock_usage_bit new_bit, enum lock_usage_bit bad_bit) { if (unlikely(hlock_class(this)->usage_mask & (1 << bad_bit))) { + graph_unlock(); print_usage_bug(curr, this, bad_bit, new_bit); return 0; }