From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Lunn Subject: Re: [PATCH net] r8169: fix setting driver_data after register_netdev Date: Mon, 26 Mar 2018 01:24:39 +0200 Message-ID: <20180325232439.GD19365@lunn.ch> References: <4fbb6b47-d4aa-2b21-34ba-383e085ed236@gmail.com> <20180325230700.GA1735@electric-eye.fr.zoreil.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Heiner Kallweit , Realtek linux nic maintainers , David Miller , "netdev@vger.kernel.org" To: Francois Romieu Return-path: Received: from vps0.lunn.ch ([185.16.172.187]:41731 "EHLO vps0.lunn.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751002AbeCYXYp (ORCPT ); Sun, 25 Mar 2018 19:24:45 -0400 Content-Disposition: inline In-Reply-To: <20180325230700.GA1735@electric-eye.fr.zoreil.com> Sender: netdev-owner@vger.kernel.org List-ID: On Mon, Mar 26, 2018 at 01:07:00AM +0200, Francois Romieu wrote: > Heiner Kallweit : > > pci_set_drvdata() is called only after registering the net_device, > > therefore we could run into a NPE if one of the functions using > > driver_data is called before it's set. > > > > Fix this by calling pci_set_drvdata() before registering the > > net_device. > > > > This fix is a candidate for stable. As far as I can see the > > bug has been there in kernel version 3.2 already, therefore > > I can't provide a reference which commit is fixed by it. > > It does not sound convincing. > > Please tell which functions are supposed to crash. How about rtl8169_get_wol() and rtl8169_set_wol(). And rtl8169_get_ethtool_stats(). Basically anything which makes use of run time power management could be invoked as soon as parts of register_netdev() have been called. Andrew