[technical discussions should go to the proper mailing lists]
Hi Andreas,
Am 19.06.2018 um 19:46 schrieb H. Nikolaus Schaller hns@goldelico.com:
Hi,
Am 19.06.2018 um 19:22 schrieb Andreas Kemnade andreas@kemnade.info:
On Tue, 19 Jun 2018 11:38:26 +0200 "H. Nikolaus Schaller" hns@goldelico.com wrote:
Hi, we did hunt a while for a big bug in the kernel. It was a little flaky and random but the main symptom was a kernel NULL pointer panic in strcmp().
The result was that the GTA04 (and also the Pyra) did not continue to boot properly. Sometimes it came to a login: but then several drivers were missing.
After hunting down the bug it was not a device driver but a race and dangling pointer problem in the pincontrol subsystem.
Now we got some patches from the maintainer and the problem seems to have disappeared.
Well, has it or hasn't is?
compiled dca26f608a765008b869991bf29fa241769599fb + my compile fix
result: strcmp problem again. [ 7.335571] [<c074abc0>] (strcmp) from [<c04266bc>] (pinctrl_generic_add_group+0x50/0xc4) [ 7.344116] [<c04266bc>] (pinctrl_generic_add_group) from [<c042b920>] (pcs_dt_node_to_map+0x484/0x820) [ 7.353912] [<c042b920>] (pcs_dt_node_to_map) from [<c04298f4>] (pinctrl_dt_to_map+0x220/0x2bc) [ 7.363006] [<c04298f4>] (pinctrl_dt_to_map) from [<c04269c4>] (create_pinctrl+0x5c/0x318)
Hm...
I did a quick boot - and on first boot I also got a strcmp(NULL). From the SD card which I had used for extensive testing yesterday.
What the hell is going on here?
Maybe it is still a bug to devm_kzalloc something and store in the radix tree and leave it there, even if the driver is detached?
Then we still try to access this memory region by scanning the tree.
For test purposes we could replace the devm_kzalloc by kzalloc. This whould leak a little memory, but my hope is that the problem disappears.
Do you have a repeatable (at least >some%) scenario to reproduce the bug?
BR, Nikolaus