On Mon, 2013-08-19 at 19:00 +0800, Ding Tianhong wrote:
On 2013/8/19 16:00, Johannes Berg wrote:
quoted
quoted
3.11-rc6's commit 58ad436fcf49 ("genetlink: fix family dump race")
gives me the lockdep trace below at startup.
Hmm. Yes, I see now how this happens, not sure why I didn't run into it.
The problem is that genl_family_rcv_msg() is called with the genl_lock
held, and then calls netlink_dump_start() with it held, creating a
genl_lock->cb_mutex dependency, but obviously the dump continuation is
the other way around.
We could use the semaphore instead, I believe, but I don't really
understand the mutex vs. semaphore well enough to be sure that's
correct.
johannes
it is useless, the logic need to modify or otherwise it will still call lockdep trace.
I don't believe so, the semaphore and cb_mutex don't have a dependency
yet, afaict.
maybe i could send a patch for it, if you wish.
What do you mean?
johannes