[Differential] [Request, 51 lines] D1777: Associated fix for arp/nd6 timer usage.

rrs (Randall Stewart) phabric-noreply at FreeBSD.org
Wed Feb 4 19:30:40 UTC 2015


rrs created this revision.
rrs added reviewers: jhb, imp, sbruno, gnn, rwatson, lstewart, kostikbel, adrian.
rrs added subscribers: hselasky, julian, hiren, emaste, freebsd-net.

REVISION SUMMARY
  There is a hole in the timer code that when you give it
  a lock, it will lock that lock and then check to see if
  its been canceled. If the API user actually deletes the memory
  out from under the callout has its being processed this could
  (and did in nd6/arp case) lead to a panic when you try to lock
  (in the callout code) a lock thats been removed. If you use
  the MPSAFE version, you don't get that since the non-stoppable
  timers proceed and does the right thing.

TEST PLAN
  After running witness and invariant I will put this on a couple of netflix caches and make
  sure I see no adverse results (leaked nd6 or arp entries).

REVISION DETAIL
  https://reviews.freebsd.org/D1777

AFFECTED FILES
  sys/netinet/if_ether.c
  sys/netinet/in.c
  sys/netinet6/in6.c
  sys/netinet6/nd6.c

To: rrs, jhb, imp, sbruno, gnn, rwatson, lstewart, kostikbel, adrian
Cc: freebsd-net, emaste, hiren, julian, hselasky


More information about the freebsd-net mailing list