Message ID | 20201215161252.8448-1-sbauer@blackbox.su (mailing list archive) |
---|---|
State | Not Applicable |
Commit | e9e13b6adc338be1eb88db87bcb392696144bd02 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [v4] lan743x: fix for potential NULL pointer dereference with bare card | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Guessing tree name failed - patch did not apply |
Hello: This patch was applied to bpf/bpf.git (refs/heads/master): On Tue, 15 Dec 2020 19:12:45 +0300 you wrote: > This is the 4th revision of the patch fix for potential null pointer dereference > with lan743x card. > > The simpliest way to reproduce: boot with bare lan743x and issue "ethtool ethN" > command where ethN is the interface with lan743x card. Example: > > $ sudo ethtool eth7 > dmesg: > [ 103.510336] BUG: kernel NULL pointer dereference, address: 0000000000000340 > ... > [ 103.510836] RIP: 0010:phy_ethtool_get_wol+0x5/0x30 [libphy] > ... > [ 103.511629] Call Trace: > [ 103.511666] lan743x_ethtool_get_wol+0x21/0x40 [lan743x] > [ 103.511724] dev_ethtool+0x1507/0x29d0 > [ 103.511769] ? avc_has_extended_perms+0x17f/0x440 > [ 103.511820] ? tomoyo_init_request_info+0x84/0x90 > [ 103.511870] ? tomoyo_path_number_perm+0x68/0x1e0 > [ 103.511919] ? tty_insert_flip_string_fixed_flag+0x82/0xe0 > [ 103.511973] ? inet_ioctl+0x187/0x1d0 > [ 103.512016] dev_ioctl+0xb5/0x560 > [ 103.512055] sock_do_ioctl+0xa0/0x140 > [ 103.512098] sock_ioctl+0x2cb/0x3c0 > [ 103.512139] __x64_sys_ioctl+0x84/0xc0 > [ 103.512183] do_syscall_64+0x33/0x80 > [ 103.512224] entry_SYSCALL_64_after_hwframe+0x44/0xa9 > [ 103.512274] RIP: 0033:0x7f54a9cba427 > ... > > [...] Here is the summary with links: - [v4] lan743x: fix for potential NULL pointer dereference with bare card https://git.kernel.org/bpf/bpf/c/e9e13b6adc33 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
On Tue, 15 Dec 2020 23:39:14 +0000 patchwork-bot+netdevbpf@kernel.org wrote: > Hello: > > This patch was applied to bpf/bpf.git (refs/heads/master): > > On Tue, 15 Dec 2020 19:12:45 +0300 you wrote: > > This is the 4th revision of the patch fix for potential null pointer dereference > > with lan743x card. > > > > The simpliest way to reproduce: boot with bare lan743x and issue "ethtool ethN" > > command where ethN is the interface with lan743x card. Example: > > > > $ sudo ethtool eth7 > > dmesg: > > [ 103.510336] BUG: kernel NULL pointer dereference, address: 0000000000000340 > > ... > > [ 103.510836] RIP: 0010:phy_ethtool_get_wol+0x5/0x30 [libphy] > > ... > > [ 103.511629] Call Trace: > > [ 103.511666] lan743x_ethtool_get_wol+0x21/0x40 [lan743x] > > [ 103.511724] dev_ethtool+0x1507/0x29d0 > > [ 103.511769] ? avc_has_extended_perms+0x17f/0x440 > > [ 103.511820] ? tomoyo_init_request_info+0x84/0x90 > > [ 103.511870] ? tomoyo_path_number_perm+0x68/0x1e0 > > [ 103.511919] ? tty_insert_flip_string_fixed_flag+0x82/0xe0 > > [ 103.511973] ? inet_ioctl+0x187/0x1d0 > > [ 103.512016] dev_ioctl+0xb5/0x560 > > [ 103.512055] sock_do_ioctl+0xa0/0x140 > > [ 103.512098] sock_ioctl+0x2cb/0x3c0 > > [ 103.512139] __x64_sys_ioctl+0x84/0xc0 > > [ 103.512183] do_syscall_64+0x33/0x80 > > [ 103.512224] entry_SYSCALL_64_after_hwframe+0x44/0xa9 > > [ 103.512274] RIP: 0033:0x7f54a9cba427 > > ... > > > > [...] > > Here is the summary with links: > - [v4] lan743x: fix for potential NULL pointer dereference with bare card > https://git.kernel.org/bpf/bpf/c/e9e13b6adc33 > > You are awesome, thank you! > -- > Deet-doot-dot, I am a bot. > https://korg.docs.kernel.org/patchwork/pwbot.html > Heh the bot got confused, I think. What I meant when I said "let's wait for the merge window" was that the patch will not hit upstream until the merge window. It's now in Linus's tree. I'll make a submission of stable patches to Greg at the end of the week and I'll include this patch. Thanks!
On Wednesday, December 16, 2020 4:12:42 AM MSK Jakub Kicinski wrote: > On Tue, 15 Dec 2020 23:39:14 +0000 patchwork-bot+netdevbpf@kernel.org > > wrote: > > Hello: > > > > This patch was applied to bpf/bpf.git (refs/heads/master): > > > > On Tue, 15 Dec 2020 19:12:45 +0300 you wrote: > > > This is the 4th revision of the patch fix for potential null pointer > > > dereference with lan743x card. > > > > > > The simpliest way to reproduce: boot with bare lan743x and issue > > > "ethtool ethN" command where ethN is the interface with lan743x card. > > > Example: > > > > > > $ sudo ethtool eth7 > > > dmesg: ... > > > [...] > > > > Here is the summary with links: > > - [v4] lan743x: fix for potential NULL pointer dereference with bare > > card > > > > https://git.kernel.org/bpf/bpf/c/e9e13b6adc33 > > > > You are awesome, thank you! > > -- > > Deet-doot-dot, I am a bot. > > https://korg.docs.kernel.org/patchwork/pwbot.html > > Heh the bot got confused, I think. > > What I meant when I said "let's wait for the merge window" was that > the patch will not hit upstream until the merge window. It's now in > Linus's tree. I'll make a submission of stable patches to Greg at the > end of the week and I'll include this patch. > > Thanks! I think, firstly the bot was confused by me :-\ I should have asked you what exactly did you mean with "let's wait for the merge window"... That's completely my fault, sorry for that. Regards, Sergej.
diff --git a/drivers/net/ethernet/microchip/lan743x_ethtool.c b/drivers/net/ethernet/microchip/lan743x_ethtool.c index dcde496da7fb..c5de8f46cdd3 100644 --- a/drivers/net/ethernet/microchip/lan743x_ethtool.c +++ b/drivers/net/ethernet/microchip/lan743x_ethtool.c @@ -780,7 +780,9 @@ static void lan743x_ethtool_get_wol(struct net_device *netdev, wol->supported = 0; wol->wolopts = 0; - phy_ethtool_get_wol(netdev->phydev, wol); + + if (netdev->phydev) + phy_ethtool_get_wol(netdev->phydev, wol); wol->supported |= WAKE_BCAST | WAKE_UCAST | WAKE_MCAST | WAKE_MAGIC | WAKE_PHY | WAKE_ARP; @@ -809,9 +811,8 @@ static int lan743x_ethtool_set_wol(struct net_device *netdev, device_set_wakeup_enable(&adapter->pdev->dev, (bool)wol->wolopts); - phy_ethtool_set_wol(netdev->phydev, wol); - - return 0; + return netdev->phydev ? phy_ethtool_set_wol(netdev->phydev, wol) + : -ENETDOWN; } #endif /* CONFIG_PM */