This commit, moving ip_mroutet_done outside a lock is only to silence a warning when invariants are enabled - no functional changes to the root problem were made here.
Wojtek niedz., 23 sty 2022, 19:24 użytkownik Wojciech Macek <w...@semihalf.com> napisał: > This is an orginal fix. The issue was visible due to race between ip > input/output and mrouter uninit. > https://reviews.freebsd.org/D29946 > > niedz., 23 sty 2022, 17:41 użytkownik Gleb Smirnoff <gleb...@freebsd.org> > napisał: > >> On Sat, Jan 22, 2022 at 08:50:54AM +0100, Wojciech Macek wrote: >> W> I will prepare a fix later today. Basically, the whole "if" condition >> must >> W> be inside rwlock block to avoid race during module unload. >> W> Maybe adding else and rwunlock in rip_detach will suffice.... I need >> to try >> W> it out. >> >> May I ask you to post a review and add me as reviewer? Please also include >> a description of the problem we are fighting with. At least, a short >> version >> of it, for example "fix race between module unload and packet received". >> >> -- >> Gleb Smirnoff >> >