From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752960AbdCHMVr (ORCPT ); Wed, 8 Mar 2017 07:21:47 -0500 Received: from mail-vk0-f54.google.com ([209.85.213.54]:36810 "EHLO mail-vk0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752761AbdCHMVm (ORCPT ); Wed, 8 Mar 2017 07:21:42 -0500 MIME-Version: 1.0 In-Reply-To: References: <1488658514.9415.356.camel@edumazet-glaptop3.roam.corp.google.com> <4e4d7d51-82de-b21e-cb5d-d804f7b88999@cumulusnetworks.com> <14c01aea-6c2f-6ba5-6aee-52c55f410da7@cumulusnetworks.com> <2b60b1b8-4766-0e36-f6fb-79914bf1925d@cumulusnetworks.com> <328b1fa7-2d97-6ae3-3b87-e33a0d564ad9@cumulusnetworks.com> From: Dmitry Vyukov Date: Wed, 8 Mar 2017 12:55:35 +0100 Message-ID: Subject: Re: net: heap out-of-bounds in fib6_clean_node/rt6_fill_node/fib6_age/fib6_prune_clone To: David Ahern Cc: Eric Dumazet , Mahesh Bandewar , Eric Dumazet , David Miller , Alexey Kuznetsov , James Morris , Hideaki YOSHIFUJI , Patrick McHardy , netdev , LKML , Cong Wang , syzkaller Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Mar 7, 2017 at 9:00 PM, Dmitry Vyukov wrote: > On Tue, Mar 7, 2017 at 8:30 PM, Dmitry Vyukov 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. I've got a bunch of the crashes that I was getting previously, but no new warnings.