lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-Id: <1371658756-7580-1-git-send-email-joern@logfs.org>
Date:	Wed, 19 Jun 2013 12:19:16 -0400
From:	Joern Engel <joern@...fs.org>
To:	linux-kernel@...r.kernel.org, target-devel@...r.kernel.org
Cc:	Joern Engel <joern@...fs.org>,
	Johannes Berg <johannes@...solutions.net>,
	Michael Buesch <mb@...sch.de>,
	David Ellingsworth <david@...ntd.dyndns.org>,
	Linus Torvalds <torvalds@...ux-foundation.org>,
	Ingo Molnar <mingo@...e.hu>,
	"Nicholas A. Bellinger" <nab@...ux-iscsi.org>
Subject: [PATCH] softirq: weaken warning in local_bh_enable_ip()

This reliably triggers with the following backtrace:

local_bh_enable_ip+0x128/0x140
_raw_spin_unlock_bh+0x15/0x20
iscsit_inc_conn_usage_count+0x37/0x50 [iscsi_target_mod]
iscsit_stop_session+0x1db/0x280 [iscsi_target_mod]
lio_tpg_shutdown_session+0xb2/0xf0 [iscsi_target_mod]
core_tpg_set_initiator_node_queue_depth+0x119/0x2f0 [target_core_mod]
iscsit_tpg_set_initiator_node_queue_depth+0x12/0x20 [iscsi_target_mod]
lio_target_nacl_store_cmdsn_depth+0x110/0x1e0 [iscsi_target_mod]
target_fabric_nacl_base_attr_store+0x39/0x40 [target_core_mod]
configfs_write_file+0xbd/0x120
vfs_write+0xc6/0x180
sys_write+0x51/0x90
system_call_fastpath+0x16/0x1b

core_tpg_set_initiator_node_queue_depth() calls
lio_tpg_shutdown_session() inside a spin_lock_irqsave-protected block.
Calling spin_unlock_bh later in the call chain always triggers the
warning.

Signed-off-by: Joern Engel <joern@...fs.org>
Cc: Johannes Berg <johannes@...solutions.net>
Cc: Michael Buesch <mb@...sch.de>
Cc: David Ellingsworth <david@...ntd.dyndns.org>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Ingo Molnar <mingo@...e.hu>
Cc: "Nicholas A. Bellinger" <nab@...ux-iscsi.org>
---
 kernel/softirq.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/softirq.c b/kernel/softirq.c
index 14d7758..d4ee1c6 100644
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -157,7 +157,7 @@ EXPORT_SYMBOL(_local_bh_enable);
 
 static inline void _local_bh_enable_ip(unsigned long ip)
 {
-	WARN_ON_ONCE(in_irq() || irqs_disabled());
+	WARN_ON_ONCE(in_irq());
 #ifdef CONFIG_TRACE_IRQFLAGS
 	local_irq_disable();
 #endif
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ