All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org,
	linux-rt-users <linux-rt-users@vger.kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Carsten Emde <C.Emde@osadl.org>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	John Kacur <jkacur@redhat.com>,
	Paul Gortmaker <paul.gortmaker@windriver.com>,
	Julia Cartwright <julia@ni.com>,
	Daniel Wagner <daniel.wagner@siemens.com>,
	tom.zanussi@linux.intel.com, Alex Shi <alex.shi@linaro.org>,
	stable-rt@vger.kernel.org
Subject: [PATCH RT 05/13] md/raid5: do not disable interrupts
Date: Wed, 17 Jan 2018 10:14:09 -0500	[thread overview]
Message-ID: <20180117151431.274748142@goodmis.org> (raw)
In-Reply-To: 20180117151404.093229667@goodmis.org

[-- Attachment #1: 0005-md-raid5-do-not-disable-interrupts.patch --]
[-- Type: text/plain, Size: 1882 bytes --]

3.18.91-rt98-rc1 stable review patch.
If anyone has any objections, please let me know.

------------------

From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>

|BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:974
|in_atomic(): 0, irqs_disabled(): 1, pid: 2992, name: lvm
|CPU: 2 PID: 2992 Comm: lvm Not tainted 4.13.10-rt3+ #54
|Call Trace:
| dump_stack+0x4f/0x65
| ___might_sleep+0xfc/0x150
| atomic_dec_and_spin_lock+0x3c/0x80
| raid5_release_stripe+0x73/0x110
| grow_one_stripe+0xce/0xf0
| setup_conf+0x841/0xaa0
| raid5_run+0x7e7/0xa40
| md_run+0x515/0xaf0
| raid_ctr+0x147d/0x25e0
| dm_table_add_target+0x155/0x320
| table_load+0x103/0x320
| ctl_ioctl+0x1d9/0x510
| dm_ctl_ioctl+0x9/0x10
| do_vfs_ioctl+0x8e/0x670
| SyS_ioctl+0x3c/0x70
| entry_SYSCALL_64_fastpath+0x17/0x98

The interrupts were disabled because ->device_lock is taken with
interrupts disabled.

Cc: stable-rt@vger.kernel.org
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 drivers/md/raid5.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index 6a97d9e930c8..c206ed033542 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -433,7 +433,7 @@ static void release_stripe(struct stripe_head *sh)
 		md_wakeup_thread(conf->mddev->thread);
 	return;
 slow_path:
-	local_irq_save(flags);
+	local_irq_save_nort(flags);
 	/* we are ok here if STRIPE_ON_RELEASE_LIST is set or not */
 	if (atomic_dec_and_lock(&sh->count, &conf->device_lock)) {
 		INIT_LIST_HEAD(&list);
@@ -442,7 +442,7 @@ slow_path:
 		spin_unlock(&conf->device_lock);
 		release_inactive_stripe_list(conf, &list, hash);
 	}
-	local_irq_restore(flags);
+	local_irq_restore_nort(flags);
 }
 
 static inline void remove_hash(struct stripe_head *sh)
-- 
2.13.2

  parent reply	other threads:[~2018-01-17 15:19 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-17 15:14 [PATCH RT 00/13] Linux 3.18.91-rt98-rc1 Steven Rostedt
2018-01-17 15:14 ` [PATCH RT 01/13] rtmutex: Make lock_killable work Steven Rostedt
2018-01-17 15:14 ` [PATCH RT 02/13] random: avoid preempt_disable()ed section Steven Rostedt
2018-01-17 15:14 ` [PATCH RT 03/13] sched: Prevent task state corruption by spurious lock wakeup Steven Rostedt
2018-01-17 15:14 ` [PATCH RT 04/13] fs: convert two more BH_Uptodate_Lock related bitspinlocks Steven Rostedt
2018-01-17 15:14 ` Steven Rostedt [this message]
2018-01-17 15:14 ` [PATCH RT 06/13] locking/rt-mutex: fix deadlock in device mapper / block-IO Steven Rostedt
2018-01-17 15:14 ` [PATCH RT 07/13] Revert "fs: jbd2: pull your plug when waiting for space" Steven Rostedt
2018-01-17 15:46   ` Sebastian Andrzej Siewior
2018-01-17 17:13     ` Steven Rostedt
2018-01-17 15:14 ` [PATCH RT 08/13] cpu_pm: replace raw_notifier to atomic_notifier Steven Rostedt
2018-01-17 15:14 ` [PATCH RT 09/13] kernel/hrtimer: migrate deferred timer on CPU down Steven Rostedt
2018-01-17 15:14 ` [PATCH RT 10/13] kernel/hrtimer/hotplug: dont wake ktimersoftd while holding the hrtimer base lock Steven Rostedt
2018-01-17 15:14 ` [PATCH RT 11/13] rt/locking: allow recursive local_trylock() Steven Rostedt
2018-01-17 15:14 ` [PATCH RT 12/13] net: use trylock in icmp_sk Steven Rostedt
2018-01-17 15:14 ` [PATCH RT 13/13] Linux 3.18.91-rt98-rc1 Steven Rostedt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180117151431.274748142@goodmis.org \
    --to=rostedt@goodmis.org \
    --cc=C.Emde@osadl.org \
    --cc=alex.shi@linaro.org \
    --cc=bigeasy@linutronix.de \
    --cc=daniel.wagner@siemens.com \
    --cc=jkacur@redhat.com \
    --cc=julia@ni.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=paul.gortmaker@windriver.com \
    --cc=stable-rt@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tom.zanussi@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.