Subject: Re: [PATCH net] r8169: fix setting driver_data after register_netdev

From: Andrew Lunn <[email-masked]>
Date: Mon, 26 Mar 2018 01:24:39 +0200

On Mon, Mar 26, 2018 at 01:07:00AM +0200, Francois Romieu wrote:
> Heiner Kallweit <[email-masked]> :
> > 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