Re: BUG: lock held when returning to user space

From: Jiri Kosina
Date: Sat Oct 27 2007 - 11:13:20 EST


On Sat, 27 Oct 2007, Gabriel C wrote:

> I found that today in dmesg after booting current git (
> ec3b67c11df42362ccda81261d62829042f223f0 ) :
> ...
> [ 592.752777]
> [ 592.752781] ================================================
> [ 592.753478] [ BUG: lock held when returning to user space! ]
> [ 592.753880] ------------------------------------------------
> [ 592.754262] hwclock/1452 is leaving the kernel with locks still held!
> [ 592.754655] 1 lock held by hwclock/1452:
> [ 592.755007] #0: (&rtc->char_lock){--..}, at: [<c02a7ebb>] rtc_dev_open+0x2e/0x7e

Yes, this is because rtc keeps a char_lock mutex locked as long as the
device is open, to avoid concurrent accessess.

It could be easily substituted by some counting -- setting and clearing
bit in struct rtc_device instead of using char_lock, but doing this just
to shut the lockdep off is questionable imho.

Peter, what is the preferred way to annotate these kinds of locking for
lockdep to express that it is intended?

--
Jiri Kosina
-
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/