]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/commit
Merge from stable/9 SVN r250927: MFC: r249628, r249742
authordteske <dteske@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 11 Sep 2013 07:24:46 +0000 (07:24 +0000)
committerdteske <dteske@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 11 Sep 2013 07:24:46 +0000 (07:24 +0000)
commit02dd9b0d5b7e0984930c7d95628bcd574ffed76a
tree28300da1bc04fc547facd76d7256d24f75bfb7fa
parentb363600668417bb2a489b5dbb9b5c52852ec8550
Merge from stable/9 SVN r250927: MFC: r249628, r249742

- recover missing arp_ifinit() call.
- plug static llentry leak (ipv4 & ipv6 were affected).

PR: kern/172985

Also merge from stable/9 SVN r240313:

Merge r238990 (manually resolving absence of r237263):
  Fix races between in_lltable_prefix_free(), lla_lookup(),
  llentry_free() and arptimer():

  o Use callout_init_rw() for lle timeout, this allows us safely
    disestablish them.
    - This allows us to simplify the arptimer() and make it
      race safe.
  o Consistently use ifp->if_afdata_lock to lock access to
    linked lists in the lle hashes.
  o Introduce new lle flag LLE_LINKED, which marks an entry that
    is attached to the hash.
    - Use LLE_LINKED to avoid double unlinking via consequent
      calls to llentry_free().
    - Mark lle with LLE_DELETED via |= operation istead of =,
      so that other flags won't be lost.
  o Make LLE_ADDREF(), LLE_REMREF() and LLE_FREE_LOCKED() more
    consistent and provide more informative KASSERTs.

  The patch is a collaborative work of all submitters and myself.

  PR: kern/165863
  Submitted by: zont, rstone
  Submitted by: Eric van Gyzen <eric_van_gyzen dell.com>

git-svn-id: svn://svn.freebsd.org/base/stable/8@255470 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/net/if_llatbl.c
sys/net/if_llatbl.h
sys/net/if_var.h
sys/net/if_vlan.c
sys/netinet/if_ether.c
sys/netinet/in.c
sys/netinet6/in6.c