When iterating through the list trying to find a router in
defrouter_select(), NULL the cached llentry after unlocking as we are no longer interested in it and with the second iteration would try to unlock it again resulting in panic: Lock (rw) lle not locked @ ... Reported by: Mark Atkinson <m.atkinson@f5.com> Tested by: Mark Atkinson <m.atkinson@f5.com> PR: kern/128247 (in follow-up, unrelated to original report)
This commit is contained in:
parent
1645994be5
commit
5f16e341d4
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=188113
@ -651,8 +651,10 @@ defrouter_select(void)
|
||||
selected_dr = dr;
|
||||
}
|
||||
IF_AFDATA_UNLOCK(dr->ifp);
|
||||
if (ln != NULL)
|
||||
if (ln != NULL) {
|
||||
LLE_RUNLOCK(ln);
|
||||
ln = NULL;
|
||||
}
|
||||
|
||||
if (dr->installed && installed_dr == NULL)
|
||||
installed_dr = dr;
|
||||
|
Loading…
Reference in New Issue
Block a user