Re: [PATCH] sound_core.c: Remove BKL from soundcore_open

From: Alan Cox
Date: Sat Oct 10 2009 - 19:43:06 EST


On Sun, 11 Oct 2009 01:24:14 +0200 (CEST)
John Kacur <jkacur@xxxxxxxxxx> wrote:

> >From 030af455d4f54482130c8eccb47fe90aaba8808c Mon Sep 17 00:00:00 2001
> From: John Kacur <jkacur@xxxxxxxxxx>
> Date: Sat, 10 Oct 2009 23:39:56 +0200
> Subject: [PATCH] This code is already protected by spin_lock, and doesn't require the bkl

Sorry but I don't think that is true becaue of:

spin_unlock(&sound_loader_lock);
if(file->f_op->open)
err = file->f_op->open(inode,file);


So the underlying driver open method expects lock_kernel status and you
don't propogate it down. You really need to track down each thing that
can be called into here and fix it, or maybe just punt for the moment and
push it down to

{
lock_kernel()
err = file-f_op->open ...
unlock_kernel()
}

so its obvious to the next person who takes up the war on the BKL what is
to be tackled.
--
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/