Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Oct 2010 11:25:37 +0000 (UTC)
From:      Xin LI <delphij@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/netinet in_rmx.c src/sys/netinet6 in6_rmx.c
Message-ID:  <201010111126.o9BBQI9r046237@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
delphij     2010-10-11 11:25:37 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_8)
    sys/netinet          in_rmx.c 
    sys/netinet6         in6_rmx.c 
  Log:
  SVN rev 213687 on 2010-10-11 11:25:37Z by delphij
  
  MFC r213225:
  
  Add a bandaid for a long-standing race condition during route entry
  un-expiring.
  
  The previous version of code have no locking when testing rt_refcnt.
  The result of the lack of locking may result in a condition where
  a routing entry have a reference count but at the same time have
  RTPRF_OURS bit set and an expiration timer.  These would eventually
  lead to a panic:
  
          panic: rtqkill route really not free
  
  When the system have ICMP redirects accepted from local gateway
  in a moderate frequency, for instance.
  
  Commit this workaround for now until we have some better solution.
  
  PR:             kern/149804
  Reviewed by:    bz
  Tested by:      Zhao Xin, Pete French
  
  Revision  Changes    Path
  1.79.2.4  +3 -2      src/sys/netinet/in_rmx.c
  1.46.2.3  +3 -1      src/sys/netinet6/in6_rmx.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201010111126.o9BBQI9r046237>