Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/netinet XXX: Disable KASSERT for now since locking is br...



details:   https://anonhg.NetBSD.org/src/rev/b72c1b1d5693
branches:  trunk
changeset: 340375:b72c1b1d5693
user:      christos <christos%NetBSD.org@localhost>
date:      Wed Sep 02 09:28:13 2015 +0000

description:
XXX: Disable KASSERT for now since locking is broken for interface removals.

diffstat:

 sys/netinet/if_arp.c |  17 +++++++++++++++--
 1 files changed, 15 insertions(+), 2 deletions(-)

diffs (39 lines):

diff -r dab9575bc40c -r b72c1b1d5693 sys/netinet/if_arp.c
--- a/sys/netinet/if_arp.c      Wed Sep 02 08:03:10 2015 +0000
+++ b/sys/netinet/if_arp.c      Wed Sep 02 09:28:13 2015 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: if_arp.c,v 1.175 2015/08/31 08:06:30 ozaki-r Exp $     */
+/*     $NetBSD: if_arp.c,v 1.176 2015/09/02 09:28:13 christos Exp $    */
 
 /*-
  * Copyright (c) 1998, 2000, 2008 The NetBSD Foundation, Inc.
@@ -68,7 +68,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_arp.c,v 1.175 2015/08/31 08:06:30 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_arp.c,v 1.176 2015/09/02 09:28:13 christos Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_ddb.h"
@@ -1428,7 +1428,20 @@
 {
        struct rtentry *rt = la->la_rt;
 
+#ifdef notyet
+       /*
+        * This is racy; arptfree() is called without a lock from
+        * arptimer(), and something can delete the route before
+        * we get here. This happens for me when a ppp interface
+        * gets deleted.
+        */
        KASSERT(rt != NULL);
+#else
+       if (rt == NULL) {
+               aprint_error("%s: llentry without rt\n", __func__);
+               return;
+       }
+#endif
 
        if (la->la_rt != NULL) {
                rtfree(la->la_rt);



Home | Main Index | Thread Index | Old Index