Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1426234AbdD1PlG (ORCPT ); Fri, 28 Apr 2017 11:41:06 -0400 Received: from mail-io0-f194.google.com ([209.85.223.194]:34935 "EHLO mail-io0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1163700AbdD1Pk6 (ORCPT ); Fri, 28 Apr 2017 11:40:58 -0400 Subject: Re: arm64: next-20170428 hangs on boot To: Yury Norov , Mark Rutland References: <20170428132429.c3dlxbmt7iqs2isl@yury-N73SV> <20170428145233.GB5292@leverpostej> <20170428150931.iyoewmc5qs55aw3t@yury-N73SV> Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, davem@davemloft.net From: Florian Fainelli Message-ID: Date: Fri, 28 Apr 2017 08:40:54 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <20170428150931.iyoewmc5qs55aw3t@yury-N73SV> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4649 Lines: 108 On 04/28/2017 08:09 AM, Yury Norov wrote: > On Fri, Apr 28, 2017 at 03:52:34PM +0100, Mark Rutland wrote: >> On Fri, Apr 28, 2017 at 04:24:29PM +0300, Yury Norov wrote: >>> Hi all, >> >> Hi, >> >> [adding Dave Miller, netdev, lkml] > > thanks > >>> On QEMU the next-20170428 hangs on boot for me due to kernel panic in >>> rtnetlink_init(): >>> >>> void __init rtnetlink_init(void) >>> { >>> if (register_pernet_subsys(&rtnetlink_net_ops)) >>> panic("rtnetlink_init: cannot initialize rtnetlink\n"); >>> >>> ... >>> } >> >> I see the same thing with a next-20170428 arm64 defconfig, on a Juno R1 >> system: >> >> [ 0.531949] Kernel panic - not syncing: rtnetlink_init: cannot initialize rtnetlink >> [ 0.531949] >> [ 0.541271] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.11.0-rc8-next-20170428-00002-g6ee3799 #10 >> [ 0.550307] Hardware name: ARM Juno development board (r1) (DT) >> [ 0.556332] Call trace: >> [ 0.558833] [] dump_backtrace+0x0/0x238 >> [ 0.564332] [] show_stack+0x14/0x20 >> [ 0.569477] [] dump_stack+0x9c/0xc0 >> [ 0.574622] [] panic+0x11c/0x28c >> [ 0.579505] [] rtnetlink_init+0x2c/0x1d0 >> [ 0.585092] [] netlink_proto_init+0x14c/0x17c >> [ 0.591119] [] do_one_initcall+0x38/0x120 >> [ 0.596796] [] kernel_init_freeable+0x1a0/0x240 >> [ 0.603003] [] kernel_init+0x10/0x100 >> [ 0.608324] [] ret_from_fork+0x10/0x50 >> [ 0.613736] SMP: stopping secondary CPUs >> [ 0.617738] ---[ end Kernel panic - not syncing: rtnetlink_init: cannot initialize rtnetlink >> >> If this isn't a known issue, it would be worth trying to bisect this. It's fixed already by this commit in net-next: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/commit/?id=2d2ab658d2debcb4c0e29c9e6f18e5683f3077bf > > The exact function that fails is: > include/linux/rhashtable.h > static inline void *__rhashtable_insert_fast( > struct rhashtable *ht, const void *key, struct rhash_head *obj, > const struct rhashtable_params params, bool rhlist) > { > ... > > data = ERR_PTR(-E2BIG); > if (unlikely(rht_grow_above_max(ht, tbl))) > goto out; > ... > > out: > spin_unlock_bh(lock); > rcu_read_unlock(); > > return data; > } > > And the backtrace: > #0 __rhashtable_insert_fast (rhlist=, params=..., obj=, > key=, ht=) at ./include/linux/rhashtable.h:803 > #1 rhashtable_lookup_insert_key (params=..., obj=, key=, > ht=) at ./include/linux/rhashtable.h:980 > #2 __netlink_insert (sk=, table=) at net/netlink/af_netlink.c:484 > #3 netlink_insert (sk=0xffff80003da85000, portid=0) at net/netlink/af_netlink.c:548 > #4 0xffff00000876c5a0 in __netlink_kernel_create (net=, unit=0, module=0x0, > cfg=0xffff80003d84fc60) at net/netlink/af_netlink.c:1996 > #5 0xffff000008756704 in netlink_kernel_create (cfg=, unit=, > net=) at ./include/linux/netlink.h:62 > #6 rtnetlink_net_init (net=0xffff000008c7c100 ) at net/core/rtnetlink.c:4175 > #7 0xffff000008737a2c in ops_init (ops=0xffff000008c7e268 , > net=0xffff000008c7c100 ) at net/core/net_namespace.c:117 > #8 0xffff000008738704 in __register_pernet_operations (ops=, > list=) at net/core/net_namespace.c:818 > #9 register_pernet_operations (list=, ops=0xffff000008c7e268 > ) at net/core/net_namespace.c:892 > #10 0xffff0000087387fc in register_pernet_subsys (ops=0xffff000008c7e268 > ) at net/core/net_namespace.c:934 > #11 0xffff000008b5b9b8 in rtnetlink_init () at net/core/rtnetlink.c:4195 > #12 0xffff000008b5be08 in netlink_proto_init () at net/netlink/af_netlink.c:2730 > #13 0xffff000008083158 in do_one_initcall (fn=0xffff000008b5bcc4 ) at init/main.c:795 > #14 0xffff000008b20d04 in do_initcall_level (level=) at init/main.c:861 > #15 do_initcalls () at init/main.c:869 > #16 do_basic_setup () at init/main.c:887 > > Yury > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > -- Florian