Re: [RFC PATCH 1/2] ext4: Fix possible deadlock with local interrupts disabled and page-draining IPI

From: Hillf Danton
Date: Fri Oct 09 2015 - 03:20:21 EST


> @@ -109,8 +109,8 @@ static void ext4_finish_bio(struct bio *bio)
> if (bio->bi_error)
> buffer_io_error(bh);
> } while ((bh = bh->b_this_page) != head);
> - bit_spin_unlock(BH_Uptodate_Lock, &head->b_state);
> local_irq_restore(flags);

What if it takes 100ms to unlock after IRQ restored?

> + bit_spin_unlock(BH_Uptodate_Lock, &head->b_state);
> if (!under_io) {
> #ifdef CONFIG_EXT4_FS_ENCRYPTION
> if (ctx)
> --
> 2.5.0

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