Re: [cgroup or VFS ?] INFO: possible recursive locking detected

From: Al Viro
Date: Mon Feb 09 2009 - 23:37:52 EST


On Tue, Feb 10, 2009 at 11:06:39AM +0800, Li Zefan wrote:

> BTW, I found another bug in current code:

Why is that a bug? If _anything_ had been trying to acquire the
rwsem in question, it would be fscked anyway. Not to mention
that nothing could have ever seen that struct super_block in this
particular case, as a general rule
* if something might be blocked on your mutex/rwsem or spinning
on a spinlock, releasing it before you free the object won't save your
arse.
You have no promise whatsoever that whoever's been trying to
get the lock in question will even get out of the locking primitive
before the memory that contains the lock gets freed. In case of superblocks
in general, you don't free them until ->s_count hits zero. At that point
anything as much as remembering the address of that superblock is already
FUBAR.
--
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/