NetBSD Problem Report #43137

From www@NetBSD.org  Thu Apr  8 06:38:38 2010
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by www.NetBSD.org (Postfix) with ESMTP id 07E6863C479
	for <gnats-bugs@gnats.NetBSD.org>; Thu,  8 Apr 2010 06:38:38 +0000 (UTC)
Message-Id: <20100408063837.983AC63BA59@www.NetBSD.org>
Date: Thu,  8 Apr 2010 06:38:37 +0000 (UTC)
From: shigeru@iij.ad.jp
Reply-To: shigeru@iij.ad.jp
To: gnats-bugs@NetBSD.org
Subject: should be pass 'rt->rt_gateway' and 'rt->rt_flags' to 'rtrequest(RTM_DELETE, ...)', which is in nd6_free() @sys/netinet6/nd6.c
X-Send-Pr-Version: www-1.0

>Number:         43137
>Category:       kern
>Synopsis:       should be pass 'rt->rt_gateway' and 'rt->rt_flags' to 'rtrequest(RTM_DELETE, ...)', which is in nd6_free() @sys/netinet6/nd6.c
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Thu Apr 08 06:40:01 +0000 2010
>Originator:     YAMAMOTO, Shigeru
>Release:        NetBSD 5.0.2
>Organization:
Internet Initiative Japan Inc.
>Environment:
NetBSD triton.iij.ad.jp 5.0.2 NetBSD 5.0.2 (GENERIC) #0: Sat Feb  6 17:53:27 UTC 2010  builds@b7.netbsd.org:/home/builds/ab/netbsd-5-0-2-RELEASE/i386/201002061851Z-obj/home/builds/ab/netbsd-5-0-2-RELEASE/src/sys/arch/i386/compile/GENERIC i386

>Description:
in nd6_free()@sys/netinet6/nd6.c, 'rtrequest()' is called without gateway/flags.

 rtrequest(RTM_DELETE, rt_getkey(rt), NULL, rt_mask(rt), 0, NULL);

in icmp6_mtudisc_timeout()@sys/netinet6/icmp6.c, 'rtrequest()' is called with gateway/flags.

 rtrequest((int) RTM_DELETE, rt_getkey(rt),
                    rt->rt_gateway, rt_mask(rt), rt->rt_flags, 0);

I think, rtrequest() in nd6_free() shoudl be called with gateway/flags, same as icmp6_mtudisc_timeout().

>How-To-Repeat:

>Fix:
I make a patch for -current.

------------------------------------------------------------------------
Index: sys/netinet6/nd6.c
===================================================================
RCS file: /share/cvsup/NetBSD/src/sys/netinet6/nd6.c,v
retrieving revision 1.135
diff -u -r1.135 nd6.c
--- sys/netinet6/nd6.c  6 Nov 2009 20:41:22 -0000       1.135
+++ sys/netinet6/nd6.c  8 Apr 2010 06:25:58 -0000
@@ -1077,7 +1077,8 @@
         * caches, and disable the route entry not to be used in already
         * cached routes.
         */
-       rtrequest(RTM_DELETE, rt_getkey(rt), NULL, rt_mask(rt), 0, NULL);
+       rtrequest(RTM_DELETE, rt_getkey(rt),
+                       rt->rt_gateway, rt_mask(rt), rt->rt_flags, NULL);

        return next;
 }
------------------------------------------------------------------------

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.