Eric W. Biederman wrote: > Amerigo Wang writes: > >> bond_uninit() is invoked with rtnl_lock held, when it does destroy_workqueue() >> which will potentially flush all works in this workqueue, if we hold rtnl_lock >> again in the work function, it will deadlock. >> >> So move destroy_workqueue() to destructor where rtnl_lock is not held any more, >> suggested by Eric. > > The error handling on creating a bond device needs to be updated as well. > Done.