Re: [PATCH RFC] [PATCH] drivers/scsi/ch.c: Remove BKL in ch_open

From: Arjan van de Ven
Date: Sun Oct 11 2009 - 11:30:36 EST


On Sun, 11 Oct 2009 15:37:09 +0100
Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> wrote:

> On Sun, 11 Oct 2009 15:45:16 +0200 (CEST)
> John Kacur <jkacur@xxxxxxxxxx> wrote:
>
> [linux-scsi cc'd]
>
> > Locking in ch_open is covered by the spin_lock, it serializes the
> > calls to idr_find and scsi_device_get. The BKL appears redundant to
> > me here.
>
> I'm not so sure. In fact there are some quite umm interesting
> questions about this code, and some of them are shared with other
> modules too.
>
> Consider the following sequence
>
> CPU1 CPU2
> register_chrdev
> ok
> open device
> takes lock


but open does not take the BKL, so the BKL is not protecting you at
all against this..



--
Arjan van de Ven Intel Open Source Technology Centre
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
--
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/