[Bug 200323] BPF userland misuse can crash the system
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Mon Jun 15 14:36:05 UTC 2015
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=200323
--- Comment #3 from Ermal Luçi <eri at pfsense.org> ---
Here is a patch against HEAD of FreeBSD.
Also take a look at this link for a trace
https://redmine.pfsense.org/issues/4685
If its ok with you Andrey i would like to commit this one.
diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c
index fec6aa0..91e9568 100644
--- a/sys/netinet/if_ether.c
+++ b/sys/netinet/if_ether.c
@@ -364,6 +364,10 @@ retry:
if ((la->la_flags & LLE_VALID) &&
((la->la_flags & LLE_STATIC) || la->la_expire > time_uptime)) {
bcopy(&la->ll_addr, desten, ifp->if_addrlen);
+ if (flags & LLE_EXCLUSIVE)
+ LLE_WUNLOCK(la);
+ else
+ LLE_RUNLOCK(la);
/*
* If entry has an expiry time and it is approaching,
* see if we need to send an ARP request within this
@@ -377,8 +381,7 @@ retry:
if (pflags != NULL)
*pflags = la->la_flags;
- error = 0;
- goto done;
+ return (0);
}
if (la->la_flags & LLE_STATIC) { /* should not happen! */
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-net
mailing list