From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.kundenserver.de ([212.227.17.10]:50287 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752558AbbERPFk (ORCPT ); Mon, 18 May 2015 11:05:40 -0400 Message-ID: <5559FFC2.9000309@xsilon.com> Date: Mon, 18 May 2015 16:05:38 +0100 From: Simon Vincent MIME-Version: 1.0 Subject: Re: Kernel crash when using multiple interfaces References: <5555EC72.6060302@xsilon.com> <20150515142026.GA11157@omega> <55560A88.1050903@xsilon.com> <20150516153329.GA31491@omega> <5559C58F.6010607@xsilon.com> <20150518140045.GA749@omega> In-Reply-To: <20150518140045.GA749@omega> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-wpan-owner@vger.kernel.org List-ID: To: Alexander Aring Cc: linux-wpan@vger.kernel.org With your patch I get either a "bad paging request" or a NULL pointer dereference crash at startup. I have not had any problems with my patch. Here are two stack traces I get. [ 12.223057] [] (ieee802154_stop_queue) from [] (ieee802154_tx+0x6c/0x170) [ 12.231560] [] (ieee802154_tx) from [] (dev_hard_start_xmit+0x224/0x304) [ 12.239979] [] (dev_hard_start_xmit) from [] (sch_direct_xmit+0xc4/0x1f4) [ 12.248474] [] (sch_direct_xmit) from [] (__dev_queue_xmit+0x1a4/0x4c4) [ 12.256803] [] (__dev_queue_xmit) from [] (lowpan_xmit+0x2a8/0x33c) [ 12.264787] [] (lowpan_xmit) from [] (dev_hard_start_xmit+0x224/0x304) [ 12.273035] [] (dev_hard_start_xmit) from [] (__dev_queue_xmit+0x424/0x4c4) [ 12.281717] [] (__dev_queue_xmit) from [] (ip6_finish_output2+0x1a0/0x5b4) [ 12.290308] [] (ip6_finish_output2) from [] (ip6_output+0xb0/0x184) [ 12.298304] [] (ip6_output) from [] (mld_sendpack+0x3c8/0x4b8) [ 12.305851] [] (mld_sendpack) from [] (mld_ifc_timer_expire+0x1d4/0x300) [ 12.314284] [] (mld_ifc_timer_expire) from [] (call_timer_fn.isra.25+0x24/0x98) [ 12.323301] [] (call_timer_fn.isra.25) from [] (run_timer_softirq+0x1b4/0x260) [ 12.332239] [] (run_timer_softirq) from [] (__do_softirq+0x120/0x238) [ 12.340391] [] (__do_softirq) from [] (irq_exit+0xc0/0xfc) [ 12.347599] [] (irq_exit) from [] (__handle_domain_irq+0x80/0xec) or [ 12.548824] [] (ieee802154_stop_queue) from [] (ieee802154_tx+0x6c/0x170) [ 12.557326] [] (ieee802154_tx) from [] (dev_hard_start_xmit+0x224/0x304) [ 12.565745] [] (dev_hard_start_xmit) from [] (sch_direct_xmit+0xc4/0x1f4) [ 12.574241] [] (sch_direct_xmit) from [] (__dev_queue_xmit+0x1a4/0x4c4) [ 12.582569] [] (__dev_queue_xmit) from [] (lowpan_xmit+0x2a8/0x33c) [ 12.590556] [] (lowpan_xmit) from [] (dev_hard_start_xmit+0x224/0x304) [ 12.598803] [] (dev_hard_start_xmit) from [] (__dev_queue_xmit+0x424/0x4c4) [ 12.607482] [] (__dev_queue_xmit) from [] (ip6_finish_output2+0x1a0/0x5b4) [ 12.616074] [] (ip6_finish_output2) from [] (ip6_output+0xb0/0x184) [ 12.624071] [] (ip6_output) from [] (mld_sendpack+0x3c8/0x4b8) [ 12.631619] [] (mld_sendpack) from [] (ipv6_mc_dad_complete+0x2c/0x54) [ 12.639864] [] (ipv6_mc_dad_complete) from [] (addrconf_dad_completed+0x100/0x1ac) [ 12.649147] [] (addrconf_dad_completed) from [] (addrconf_dad_work+0x1e8/0x338) [ 12.658190] [] (addrconf_dad_work) from [] (process_one_work+0x120/0x330) [ 12.666687] [] (process_one_work) from [] (worker_thread+0x4c/0x480) [ 12.674756] [] (worker_thread) from [] (kthread+0xdc/0xf4) [ 12.681967] [] (kthread) from [] (ret_from_fork+0x14/0x34) [ 12.689157] Code: e58d3004 e59d4004 e1540005 0a00000d (e594303c) [ 12.695350] ---[ end trace 598762c22717a96a ]--- [ 12.699952] Kernel panic - not syncing: Fatal exception in interrupt - Simon On 18/05/15 15:00, Alexander Aring wrote: > Hi Simon, > > On Mon, May 18, 2015 at 11:57:19AM +0100, Simon Vincent wrote: >> Hi Alex, >> >> I can confirm your patch still results in the bad paging request. >> Maybe you are not seeing it as you have a slightly different setup. >> >> If I understand correctly you have two virtual phys going to a single wpan >> interface >> e.g. >> phy0 -> wpan0 >> phy1 -> wpan0 >> >> My setup is two separate transceivers. Each with its own phy and wpan >> interface. >> e.g. >> phy0 -> wpan0 >> phy1 -> wpan1 >> > From view of mac802154 layer this setup should be the same. Both running > two times alloc_hw and register_hw for alloc/register a wpan phy. The > driver layer is different. > > With your solution to putting the worker resource on the heap then the > problem is solved? > > Can you provide more information about the "bad paging request" issue? A > stacktrace or something else? > > I currently have no idea why you have this issue. > > - Alex