Page MenuHomeFreeBSD

ARP request proper locking handling

Authored by eri on Jun 15 2015, 4:59 PM.



If there is a system with a bpf consumer running and with direct dispatch policy on an expired arp entry can crash the system if the bpf code wants to sleep when called.

Also described here

Diff Detail

rS FreeBSD src repository
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

eri updated this revision to Diff 6211.Jun 15 2015, 4:59 PM
eri retitled this revision from to ARP request proper locking handling.
eri updated this object.
eri edited the test plan for this revision. (Show Details)
eri added reviewers: network, gnn.
eri set the repository for this revision to rS FreeBSD src repository.
koobs added a subscriber: koobs.Jun 15 2015, 5:05 PM

It's highly likely that LLE_EXCLUSIVE is always set since la_preempt is being modified. The other code branch of arpresolve() calling arprequest() is modifying/unlocking la in the same way. Cheers for tracking this down.

ae accepted this revision.Jun 15 2015, 10:10 PM
ae added a reviewer: ae.
ae added a subscriber: ae.

Looks correct to me.

This revision is now accepted and ready to land.Jun 15 2015, 10:10 PM
gnn accepted this revision.Jun 16 2015, 2:29 AM
gnn edited edge metadata.

Accepted by mentor as well. Please commit.

This revision was automatically updated to reflect the committed changes.