cvs commit: src/sys/net if_atmsubr.c if_fwsubr.c if_iso88025subr.c route.c rtsock.c src/sys/netinet if_ether.c src/sys/netinet6 nd6.c

Gleb Smirnoff glebius at FreeBSD.org
Thu Nov 3 04:02:14 PST 2005


glebius     2005-11-03 12:02:11 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_5)
    sys/net              if_atmsubr.c if_fwsubr.c 
                         if_iso88025subr.c route.c rtsock.c 
    sys/netinet          if_ether.c 
    sys/netinet6         nd6.c 
  Log:
  Several fixes to ARP and route locking, that were done during 6.0 release
  cycle, and are also applicable to RELENG_5:
  
    o Make rt_check() return a locked rtentry.
    o Make rt_check() function more strict:
      - rt0 passed to rt_check() must not be NULL, assert this.
      - rt returned by rt_check() must be valid locked rtentry,
        if no error occured.
    o Modify callers, so that they never pass NULL rt0
      to rt_check().
    o Modify callers, so that they unlock rtentry.
  
    o Fix races in ARP code. See if_ether.c 1.139 for more information.
    o Fix LORs in ARP code. See if_ether.c 1.141 for more information.
  
    o Lock rtentry before dropping radix lock.
  
    o Send published ARP replies only on correct interface. [1]
  
    o Drop rtentry lock before calling rt_getifa(). [2]
  
    o Fixes to rt_setgate():
      - To avoid recursive rtentry locking.
      - Do not change routes in case of failure.
      - Return EADDRINUSE instead of bogus EDQUOT [3]
  
  Revisions merged:
    net/if_atmsubr.c      - 1.39, 1.41
    net/if_fwsubr.c       - 1.13, 1.15
    net/if_iso88025subr.c - 1.69, 1.71
    net/route.c           - 1.110, 1.111, 1.113
    net/rtsock.c          - 1.110, 1.111, 1.126, 1.130
    netinet6/nd6.c        - 1.51-1.53
    netinet/if_ether.c    - 1.139, 1.140, 1.141
  
  PR:             kern/75634 [1]
  PR:             kern/69356 [2]
  PR:             kern/64090 [3]
  
  Revision   Changes    Path
  1.35.2.2   +7 -4      src/sys/net/if_atmsubr.c
  1.5.2.4    +7 -4      src/sys/net/if_fwsubr.c
  1.65.2.2   +7 -4      src/sys/net/if_iso88025subr.c
  1.106.2.3  +70 -74    src/sys/net/route.c
  1.113.2.6  +7 -5      src/sys/net/rtsock.c
  1.128.2.8  +209 -165  src/sys/netinet/if_ether.c
  1.43.2.9   +11 -7     src/sys/netinet6/nd6.c


More information about the cvs-src mailing list