[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACT4Y+Yx1cgWCkC2c7bze1V1VaecgBfioMvKS2-FUeaRr4DGXg@mail.gmail.com>
Date: Tue, 7 Mar 2017 21:00:54 +0100
From: Dmitry Vyukov <dvyukov@...gle.com>
To: David Ahern <dsa@...ulusnetworks.com>
Cc: Eric Dumazet <eric.dumazet@...il.com>,
Mahesh Bandewar <maheshb@...gle.com>,
Eric Dumazet <edumazet@...gle.com>,
David Miller <davem@...emloft.net>,
Alexey Kuznetsov <kuznet@....inr.ac.ru>,
James Morris <jmorris@...ei.org>,
Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org>,
Patrick McHardy <kaber@...sh.net>,
netdev <netdev@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
Cong Wang <xiyou.wangcong@...il.com>,
syzkaller <syzkaller@...glegroups.com>
Subject: Re: net: heap out-of-bounds in fib6_clean_node/rt6_fill_node/fib6_age/fib6_prune_clone
On Tue, Mar 7, 2017 at 8:30 PM, Dmitry Vyukov <dvyukov@...gle.com> wrote:
>>> On 3/7/17 11:13 AM, Dmitry Vyukov wrote:
>>>>> on this warning:
>>>>>
>>>>> /* dst.next really should not be set at this point */
>>>>> if (rt->dst.next && rt->dst.next->ops->family != AF_INET6) {
>>>>> pr_warn("fib6_add: adding rt with bad next -- family %d dst
>>>>> flags %x\n",
>>>>> rt->dst.next->ops->family, rt->dst.next->flags);
>>>>>
>>>>> WARN_ON(1);
>>>>> }
>>>>>
>>>>> You should have seen the pr_warn in the log preceding the WARN_ON dump.
>>>>
>>>> Right. They all have the same "IPv6: fib6_add: adding rt with bad next
>>>> -- family 2 dst flags 6"
>>>
>>> remove the previous changes and try the attached.
>>
>>
>> Doing this now.
>> FWIW I've also applied your last patch with missing "iter->dst.flags
>> &= ~DST_IN_FIB;" and restored the warning in rt6_rcu_free and it did
>> not fire (in a limited run). I only saw the "WARNING in fib6_add" that
>> I already reported.
>
>
> So far I've hit only:
> [ 1103.840031] BUG: KASAN: slab-out-of-bounds in fib6_age+0x3fd/0x480
> at addr ffff8800799d2254
> without any preceeding warnings.
> But note that since the kernel is heavily stressed I can reliably get
> any pr_err output if it happens right before BUG/WARNING. Anything
> that happens minutes before will be lots because there are tons of
> output.
So far 6 "KASAN: slab-out-of-bounds Read in fib6_age" but no other warnings.
Powered by blists - more mailing lists