Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp1333669imm; Thu, 23 Aug 2018 01:00:27 -0700 (PDT) X-Google-Smtp-Source: AA+uWPwnTn5zvwPbC6VJzgabtsC4/dBVW+DokgS+m4ZsctpwdTCRUpMZhyvNLd8rRfFkOlBrxSrv X-Received: by 2002:a63:fe02:: with SMTP id p2-v6mr25496156pgh.148.1535011227426; Thu, 23 Aug 2018 01:00:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1535011227; cv=none; d=google.com; s=arc-20160816; b=zoalMHSuaF3XYZke6R4wal1Qh7M779yiBjJIAT4MYwcQYZjWDzKWHwgXsbYFE8sa0L 8cg5ehuRHDeYj4vkyuYChEW2SZoTwdWxsKiHkwvjRvVsv/Yb/uCUc0Vb3VQBWnq9JUUT gxfnknde7LoKtrkXrjGGzewtN52pxchZWBA2lVmDUpOL7kfV6OCChN/LcRPRBAXTRRFc 2zch4HPGYijjvIdG6MU6gZaOjddVpoJcpdsoVoKmZkm1YR6nNKKiTXZJJ9IBfgg1mVcr IyXTgkIREyb2ypL1zfoapLstqkCpnljghNAPzC6yzkBTyLNB+Vu8wR6aLMz9nYeLBX03 VBEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=Ct0D7Hww1cjRcP4hZa/GUhXEzWyQBksjkxECjdoWc2k=; b=06jaaI61/Xiu2zB8jmDsZP6TzPyQCScKktY/d2Lw9em3xP1QflP67SxTCtwk//RkE6 buUrg8xWfzc+IsyAwvSPo8opgfQkic3XueLXle434iSe7A8IEGYXnBEOLnGDdIWTEA/S 19c4OeEl7XxzFpSPfxABuo+Xaxd2/DdGmaHxMgZCesNHRQIoFxp5Os/WSP+65NSCgt27 ePTKjNvbUXvAlndozms0AGJVlDPgaM9jomKml/BssjZ3wkNL1kJPu6j5ne00Heueyh1C 98PXNtLar9R971lP6HpiOeyzICHoW6+01LDG6pBN7vESmt2BqnH0rl8F7mYXQV2zLICM bNnQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k193-v6si3697378pge.4.2018.08.23.01.00.12; Thu, 23 Aug 2018 01:00:27 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728140AbeHWL06 (ORCPT + 99 others); Thu, 23 Aug 2018 07:26:58 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:41832 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726898AbeHWL05 (ORCPT ); Thu, 23 Aug 2018 07:26:57 -0400 Received: from localhost (5355525A.cm-6-6b.dynamic.ziggo.nl [83.85.82.90]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 663529D2; Thu, 23 Aug 2018 07:58:34 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, "Steven Rostedt (VMware)" , Andrew Morton , Linus Torvalds , "Paul E. McKenney" , Peter Zijlstra , Thomas Gleixner , Will Deacon , Ingo Molnar , Sasha Levin Subject: [PATCH 4.4 20/79] locking/lockdep: Do not record IRQ state within lockdep code Date: Thu, 23 Aug 2018 09:52:56 +0200 Message-Id: <20180823074920.027247953@linuxfoundation.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180823074918.641878835@linuxfoundation.org> References: <20180823074918.641878835@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: "Steven Rostedt (VMware)" [ Upstream commit fcc784be837714a9173b372ff9fb9b514590dad9 ] While debugging where things were going wrong with mapping enabling/disabling interrupts with the lockdep state and actual real enabling and disabling interrupts, I had to silent the IRQ disabling/enabling in debug_check_no_locks_freed() because it was always showing up as it was called before the splat was. Use raw_local_irq_save/restore() for not only debug_check_no_locks_freed() but for all internal lockdep functions, as they hide useful information about where interrupts were used incorrectly last. Signed-off-by: Steven Rostedt (VMware) Cc: Andrew Morton Cc: Linus Torvalds Cc: Paul E. McKenney Cc: Peter Zijlstra Cc: Thomas Gleixner Cc: Will Deacon Link: https://lkml.kernel.org/lkml/20180404140630.3f4f4c7a@gandalf.local.home Signed-off-by: Ingo Molnar Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- kernel/locking/lockdep.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) --- a/kernel/locking/lockdep.c +++ b/kernel/locking/lockdep.c @@ -1264,11 +1264,11 @@ unsigned long lockdep_count_forward_deps this.parent = NULL; this.class = class; - local_irq_save(flags); + raw_local_irq_save(flags); arch_spin_lock(&lockdep_lock); ret = __lockdep_count_forward_deps(&this); arch_spin_unlock(&lockdep_lock); - local_irq_restore(flags); + raw_local_irq_restore(flags); return ret; } @@ -1291,11 +1291,11 @@ unsigned long lockdep_count_backward_dep this.parent = NULL; this.class = class; - local_irq_save(flags); + raw_local_irq_save(flags); arch_spin_lock(&lockdep_lock); ret = __lockdep_count_backward_deps(&this); arch_spin_unlock(&lockdep_lock); - local_irq_restore(flags); + raw_local_irq_restore(flags); return ret; } @@ -4123,7 +4123,7 @@ void debug_check_no_locks_freed(const vo if (unlikely(!debug_locks)) return; - local_irq_save(flags); + raw_local_irq_save(flags); for (i = 0; i < curr->lockdep_depth; i++) { hlock = curr->held_locks + i; @@ -4134,7 +4134,7 @@ void debug_check_no_locks_freed(const vo print_freed_lock_bug(curr, mem_from, mem_from + mem_len, hlock); break; } - local_irq_restore(flags); + raw_local_irq_restore(flags); } EXPORT_SYMBOL_GPL(debug_check_no_locks_freed);