All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Miller <davem@davemloft.net>
To: Jason@zx2c4.com
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Subject: Re: [PATCH] ipv6: do not free rt if FIB_LOOKUP_NOREF is set on suppress rule
Date: Tue, 24 Sep 2019 14:52:57 +0200 (CEST)	[thread overview]
Message-ID: <20190924.145257.2013712373872209531.davem@davemloft.net> (raw)
In-Reply-To: <20190924073615.31704-1-Jason@zx2c4.com>

From: "Jason A. Donenfeld" <Jason@zx2c4.com>
Date: Tue, 24 Sep 2019 09:36:15 +0200

> Commit 7d9e5f422150 removed references from certain dsts, but accounting
> for this never translated down into the fib6 suppression code. This bug
> was triggered by WireGuard users who use wg-quick(8), which uses the
> "suppress-prefix" directive to ip-rule(8) for routing all of their
> internet traffic without routing loops. The test case in the link of
> this commit reliably triggers various crashes due to the use-after-free
> caused by the reference underflow.
> 
> Cc: stable@vger.kernel.org
> Fixes: 7d9e5f422150 ("ipv6: convert major tx path to use RT6_LOOKUP_F_DST_NOREF")
> Test-case: https://git.zx2c4.com/WireGuard/commit/?id=ad66532000f7a20b149e47c5eb3a957362c8e161
> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>

Please make such test cases integratabe into the selftests area for networking
and submit it along with this fix.

Otherwise this code will regress.

Thank you.


  parent reply	other threads:[~2019-09-24 12:53 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-24  7:36 [PATCH] ipv6: do not free rt if FIB_LOOKUP_NOREF is set on suppress rule Jason A. Donenfeld
2019-09-24  9:35 ` Jason A. Donenfeld
2019-09-24 12:52 ` David Miller [this message]
2019-09-24 12:55   ` Jason A. Donenfeld
2019-09-24 13:30     ` David Miller
2019-09-24 13:49       ` Jason A. Donenfeld
2019-09-24 14:01   ` [PATCH v2] " Jason A. Donenfeld
2019-09-24 17:02     ` Wei Wang
2019-09-26  7:35     ` David Miller
2019-09-26 14:43     ` David Ahern

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=20190924.145257.2013712373872209531.davem@davemloft.net \
    --to=davem@davemloft.net \
    --cc=Jason@zx2c4.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /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.