netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Hemminger <shemminger@vyatta.com>
To: Andreas Klauer <Andreas.Klauer@metamorpher.de>,
	David Miller <davem@davemloft.net>
Cc: Hagen Paul Pfeifer <hagen@jauu.net>,
	netdev@vger.kernel.org, Octavian Purdila <opurdila@ixiacom.com>
Subject: [PATCH] ipv6: fix NULL reference in proxy neighbor discovery
Date: Mon, 21 Jun 2010 14:00:13 -0700	[thread overview]
Message-ID: <20100621140013.508741df@nehalam> (raw)
In-Reply-To: <20100621200413.GA2280@EIS>

The addition of TLLAO option created a kernel OOPS regression
for the case where neighbor advertisement is being sent via
proxy path.  When using proxy, ipv6_get_ifaddr() returns NULL
causing the NULL dereference.

Change causing the bug was:
commit f7734fdf61ec6bb848e0bafc1fb8bad2c124bb50
Author: Octavian Purdila <opurdila@ixiacom.com>
Date:   Fri Oct 2 11:39:15 2009 +0000

    make TLLAO option for NA packets configurable

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

---
Patch for -net and -stable.
Applies to 2.6.33 and later.

--- a/net/ipv6/ndisc.c	2010-06-11 08:13:13.008657498 -0700
+++ b/net/ipv6/ndisc.c	2010-06-21 13:52:57.961486303 -0700
@@ -586,6 +586,7 @@ static void ndisc_send_na(struct net_dev
 		src_addr = solicited_addr;
 		if (ifp->flags & IFA_F_OPTIMISTIC)
 			override = 0;
+		inc_opt |= ifp->idev->cnf.force_tllao;
 		in6_ifa_put(ifp);
 	} else {
 		if (ipv6_dev_get_saddr(dev_net(dev), dev, daddr,
@@ -599,7 +600,6 @@ static void ndisc_send_na(struct net_dev
 	icmp6h.icmp6_solicited = solicited;
 	icmp6h.icmp6_override = override;
 
-	inc_opt |= ifp->idev->cnf.force_tllao;
 	__ndisc_send(dev, neigh, daddr, src_addr,
 		     &icmp6h, solicited_addr,
 		     inc_opt ? ND_OPT_TARGET_LL_ADDR : 0);

  reply	other threads:[~2010-06-21 21:00 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-19 17:53 2.6.34 + IPv6: Oops? Andreas Klauer
2010-06-21 15:30 ` Andreas Klauer
2010-06-21 16:19   ` Stephen Hemminger
2010-06-21 16:26     ` Andreas Klauer
2010-06-21 16:25   ` Hagen Paul Pfeifer
2010-06-21 17:25     ` Stephen Hemminger
2010-06-21 20:04       ` Andreas Klauer
2010-06-21 21:00         ` Stephen Hemminger [this message]
2010-06-23 14:44           ` [PATCH] ipv6: fix NULL reference in proxy neighbor discovery YOSHIFUJI Hideaki
2010-06-26  4:31           ` David Miller
2010-06-22 12:29         ` 2.6.34 + IPv6: Oops? Andreas Klauer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100621140013.508741df@nehalam \
    --to=shemminger@vyatta.com \
    --cc=Andreas.Klauer@metamorpher.de \
    --cc=davem@davemloft.net \
    --cc=hagen@jauu.net \
    --cc=netdev@vger.kernel.org \
    --cc=opurdila@ixiacom.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).