Page MenuHomeFreeBSD

D34831.id104779.diff
No OneTemporary

D34831.id104779.diff

diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c
--- a/sys/netinet/if_ether.c
+++ b/sys/netinet/if_ether.c
@@ -1228,16 +1228,20 @@
/* Calculate full link prepend to use in lle */
linkhdrsize = sizeof(linkhdr);
if (lltable_calc_llheader(ifp, AF_INET, ar_sha(ah), linkhdr,
- &linkhdrsize, &lladdr_off) != 0)
+ &linkhdrsize, &lladdr_off) != 0) {
+ LLE_WUNLOCK(la);
return;
+ }
/* Check if something has changed */
if (memcmp(la->r_linkdata, linkhdr, linkhdrsize) != 0 ||
(la->la_flags & LLE_VALID) == 0) {
/* Try to perform LLE update */
if (lltable_try_set_entry_addr(ifp, la, linkhdr, linkhdrsize,
- lladdr_off) == 0)
+ lladdr_off) == 0) {
+ LLE_WUNLOCK(la);
return;
+ }
/* Clear fast path feedback request if set */
llentry_mark_used(la);
diff --git a/sys/netinet6/nd6_nbr.c b/sys/netinet6/nd6_nbr.c
--- a/sys/netinet6/nd6_nbr.c
+++ b/sys/netinet6/nd6_nbr.c
@@ -855,10 +855,8 @@
linkhdr, &linkhdrsize, &lladdr_off) != 0)
goto freeit;
if (lltable_try_set_entry_addr(ifp, ln, linkhdr,
- linkhdrsize, lladdr_off) == 0) {
- ln = NULL;
+ linkhdrsize, lladdr_off) == 0)
goto freeit;
- }
EVENTHANDLER_INVOKE(lle_event, ln,
LLENTRY_RESOLVED);
}

File Metadata

Mime Type
text/plain
Expires
Wed, Mar 5, 10:29 PM (3 h, 45 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16999770
Default Alt Text
D34831.id104779.diff (1 KB)

Event Timeline