Page MenuHomeFreeBSD

ARP request proper locking handling
ClosedPublic

Authored by eri on Jun 15 2015, 4:59 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Dec 5, 7:08 AM
Unknown Object (File)
Fri, Nov 29, 10:36 AM
Unknown Object (File)
Nov 23 2024, 2:37 PM
Unknown Object (File)
Nov 20 2024, 4:25 AM
Unknown Object (File)
Nov 19 2024, 3:01 PM
Unknown Object (File)
Oct 27 2024, 1:07 PM
Unknown Object (File)
Oct 21 2024, 3:16 AM
Unknown Object (File)
Oct 18 2024, 7:04 AM

Details

Summary

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 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=200323

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

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 - subversion.

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.
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.

Accepted by mentor as well. Please commit.

This revision was automatically updated to reflect the committed changes.