[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAMArcTWPFhe2O9Jw8_zW=bJwHe5vPXeh=L-8efxJFE=4bJxVaA@mail.gmail.com>
Date: Tue, 16 Jun 2020 23:28:35 +0900
From: Taehee Yoo <ap420073@...il.com>
To: David Miller <davem@...emloft.net>
Cc: Jakub Kicinski <kuba@...nel.org>, Netdev <netdev@...r.kernel.org>,
xeb@...l.ru
Subject: Re: [PATCH net] ip6_gre: fix use-after-free in ip6gre_tunnel_lookup()
On Tue, 16 Jun 2020 at 10:17, David Miller <davem@...emloft.net> wrote:
>
Hi David,
Thank you for the review :)
> From: Taehee Yoo <ap420073@...il.com>
> Date: Mon, 15 Jun 2020 15:07:51 +0000
>
> > In the datapath, the ip6gre_tunnel_lookup() is used and it internally uses
> > fallback tunnel device pointer, which is fb_tunnel_dev.
> > This pointer is protected by RTNL. It's not enough to be used
> > in the datapath.
> > So, this pointer would be used after an interface is deleted.
> > It eventually results in the use-after-free problem.
> >
> > In order to avoid the problem, the new tunnel pointer variable is added,
> > which indicates a fallback tunnel device's tunnel pointer.
> > This is protected by both RTNL and RCU.
> > So, it's safe to be used in the datapath.
> ...
>
> I'm marking this changes requested because it seems like the feedback Eric
> Dumazet provided for the ip_tunnel version of this fix applies here too.
>
> Thank you.
I will send a v2 patch soon.
Thanks a lot!
Taehee Yoo
Powered by blists - more mailing lists