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 retitled this revision from to ARP request proper locking handling.Jun 15 2015, 4:59 PM
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.
eri updated this revision to Diff 6211.
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 added a reviewer: ae.Jun 15 2015, 10:10 PM
ae accepted this revision.
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 edited edge metadata.Jun 16 2015, 2:29 AM
gnn accepted this revision.

Accepted by mentor as well. Please commit.

This revision was automatically updated to reflect the committed changes.