|
Description
|
By inspection, the marked line in ip_ndp_recover() checks the wrong
field:
if (!(ipif->ipif_flags & IPIF_DUPLICATE) ||
--> (ipif->ipif_flags & IPIF_CONDEMNED)) {
mutex_exit(&ill->ill_lock);
continue;
}
That should be ipif_state_flags, not ipif_flags. IPIF_CONDEMNED
is the value 0x01, which is the same as IPIF_UP and never true
here (since we're about to call ipif_up_done_v6()), so this
check ends up doing nothing.
oss-bite-size
|