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, Apr 11, 3:22 PM
Unknown Object (File)
Mon, Apr 1, 12:33 AM
Unknown Object (File)
Feb 23 2024, 5:20 AM
Unknown Object (File)
Jan 3 2024, 7:52 AM
Unknown Object (File)
Dec 20 2023, 1:20 AM
Unknown Object (File)
Nov 26 2023, 11:56 AM
Unknown Object (File)
Nov 25 2023, 9:27 PM
Unknown Object (File)
Nov 23 2023, 4:30 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 Not Applicable
Unit
Tests Not Applicable

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.