Messages in this thread | | | Date | Sun, 11 Oct 2009 00:42:19 +0100 | From | Alan Cox <> | Subject | Re: [PATCH] sound_core.c: Remove BKL from soundcore_open |
| |
On Sun, 11 Oct 2009 01:24:14 +0200 (CEST) John Kacur <jkacur@redhat.com> wrote:
> >From 030af455d4f54482130c8eccb47fe90aaba8808c Mon Sep 17 00:00:00 2001 > From: John Kacur <jkacur@redhat.com> > 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.
| |