Re: [PATCH v2 1/1] drivers: net: cpsw: Prevent NUll pointer dereference with two PHYs

From: Grygorii Strashko
Date: Wed Apr 20 2016 - 05:38:05 EST


On 04/20/2016 02:38 AM, David Rivshin (Allworx) wrote:
> On Tue, 19 Apr 2016 18:43:39 -0400 (EDT)
> David Miller <davem@xxxxxxxxxxxxx> wrote:
>
>> From: Grygorii Strashko <grygorii.strashko@xxxxxx>
>> Date: Tue, 19 Apr 2016 21:44:09 +0300
>>
>>> May be you can send revert + your patch 1 (only fix for this issue).
>>>
>>> Dave, Does that sound good to you?
>>
>> Sure.
>
> OK, I will hopefully have that ready tomorrow evening.
>
> Anything in particular I should mention in the revert commit message?
> I didn't find a discussion on it, other than the earlier statement that
> "it breaks boot on many TI boards".
>

Such kind of issues are tracked automatically now for ARM through https://kernelci.org
Example:
https://storage.kernelci.org/next/next-20160419/arm-multi_v7_defconfig+CONFIG_EFI=y/lab-cambridge/boot-am335x-boneblack.txt

And We're trying to auto check it internally also
https://github.com/nmenon/kernel-test-logs

Below is my boot log:


ata1: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a1410ff] port 0x100 irq 332
mtdoops: mtd device (mtddev=name/number) must be supplied
davinci_mdio 48485000.mdio: davinci mdio revision 1.6
davinci_mdio 48485000.mdio: detected phy mask fffffff9
libphy: 48485000.mdio: probed
davinci_mdio 48485000.mdio: phy[1]: device 48485000.mdio:01, driver unknown
davinci_mdio 48485000.mdio: phy[2]: device 48485000.mdio:02, driver unknown
cpsw 48484000.ethernet: Detected MACID = 74:da:ea:47:7d:9c
cpsw 48484000.ethernet: cpsw: Random MACID = ca:39:e7:f3:28:69
Unable to handle kernel paging request at virtual address fffffffc
pgd = c0004000
[fffffffc] *pgd=affae861, *pte=00000000, *ppte=00000000
Internal error: Oops: 37 [#1] SMP ARM
Modules linked in:
CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W 4.6.0-rc4-next-20160419-00002-g94c3d2a #4
Hardware name: Generic DRA74X (Flattened Device Tree)
task: ee0c4d80 ti: ee0c6000 task.ti: ee0c6000
PC is at kset_find_obj+0x28/0xa4
LR is at kset_find_obj+0x3c/0xa4
pc : [<c04814b4>] lr : [<c04814c8>] psr: a0000013
sp : ee0c7ec8 ip : 00000000 fp : c0b005a0

[<c04814b4>] (kset_find_obj) from [<c0523780>] (driver_find+0x14/0x30)
ata1: SATA link down (SStatus 0 SControl 300)
[<c0523780>] (driver_find) from [<c0523804>] (driver_register+0x68/0xf8)
[<c0523804>] (driver_register) from [<c010185c>] (do_one_initcall+0x3c/0x178)
[<c010185c>] (do_one_initcall) from [<c0b00e94>] (kernel_init_freeable+0x218/0x2e8)
[<c0b00e94>] (kernel_init_freeable) from [<c07a4bc8>] (kernel_init+0x8/0x118)
[<c07a4bc8>] (kernel_init) from [<c01078d0>] (ret_from_fork+0x14/0x24)
Code: e5954000 e1550004 e2444004 0a00000a (e5943000)
---[ end trace 593c492662ed437e ]---
Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

CPU0: stopping
CPU: 0 PID: 0 Comm: swapper/0 Tainted: G D W 4.6.0-rc4-next-20160419-00002-g94c3d2a #4
Hardware name: Generic DRA74X (Flattened Device Tree)
[<c01101dc>] (unwind_backtrace) from [<c010c2a4>] (show_stack+0x10/0x14)
[<c010c2a4>] (show_stack) from [<c047f01c>] (dump_stack+0xb0/0xe4)
[<c047f01c>] (dump_stack) from [<c010e7cc>] (handle_IPI+0x2c4/0x360)
[<c010e7cc>] (handle_IPI) from [<c0101574>] (gic_handle_irq+0x84/0x94)
[<c0101574>] (gic_handle_irq) from [<c07abc78>] (__irq_svc+0x58/0x78)
Exception stack(0xc0c01f58 to 0xc0c01fa0)
1f40: c0108318 00000000
1f60: 00000000 00000000 c0c02a34 00000000 00000000 c0cbe5f8 c0c029cc c0cbe5f8
1f80: c0b71a38 c0cbd3a9 00000000 c0c01fa8 c0108318 c010831c 60000013 ffffffff
[<c07abc78>] (__irq_svc) from [<c010831c>] (arch_cpu_idle+0x20/0x3c)
[<c010831c>] (arch_cpu_idle) from [<c0184c58>] (cpu_startup_entry+0x30c/0x3f0)
[<c0184c58>] (cpu_startup_entry) from [<c0b00c04>] (start_kernel+0x33c/0x3b4)
[<c0b00c04>] (start_kernel) from [<8000807c>] (0x8000807c)


--
regards,
-grygorii