All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.