...And then we get to pid 858. This is in set_device_name(), whichwas called from led_trigger_set() and led_trigger_register().We know from pid 663 that led_trigger_register() can take a readon leds_list_lock, and indeed it does and then callsled_match_default_trigger(), which then goes on to callled_trigger_set(). Bingo, this is why pid 666 is blocked, whichthen blocks pid 663. pid 663 takes the rtnl lock, which blockseverything else _and_ also blocks pid 858 in set_device_name().Lockdep would've found this... this is a classic AB-BA deadlockbetween the leds_list_lock rwsem and the rtnl mutex.I haven't checked to see how that deadlock got introduced, that'sfor someone else to do.
--
Attachment:
signature.asc
Description: This is a digitally signed message part