AnsweredAssumed Answered

[imx6] Kernel panic on imx6dq due to null pointer access in gckVIDMEM_DestroyVirtual > gckOS_FreeMemory > kfree?

Question asked by floriang on Feb 12, 2015
Latest reply on Feb 20, 2015 by igorpadykov

Hello all,

We are using a custom HW taht integrates a module containing a imx6dq CPU.

We were experiencing reboot troubles when our application so we investigated and we found an application called "SkyCastle2" on the Android store that seems to be able to reproduce the same problem as us.

The issue is that we get a kernel panic at some point, seemingly because of a null pointer access inside the video driver when freeing memory:

3fc0: 00000013 c00b1404 c004f408 00000000 d62a0a00 00000000 00000000 00000000

3fe0: d6233fe0 d6233fe0 d602fe44 c00b1384 c004f408 c004f408 69ae69b2 69bf69d0

[<c0130018>] (kfree+0x80/0x148) from [<c047d004>] (gckOS_FreeMemory+0x40/0x60)

[<c047d004>] (gckOS_FreeMemory+0x40/0x60) from [<c047d050>] (gckOS_Free+0x2c/0x3c)

[<c047d050>] (gckOS_Free+0x2c/0x3c) from [<c048a904>] (gckVIDMEM_DestroyVirtual+0x5c/0x7c)

[<c048a904>] (gckVIDMEM_DestroyVirtual+0x5c/0x7c) from [<c048b10c>] (gckVIDMEM_Free+0x1e4/0x244)

[<c048b10c>] (gckVIDMEM_Free+0x1e4/0x244) from [<c0488a14>] (gckEVENT_Notify+0x484/0x4e4)

[<c0488a14>] (gckEVENT_Notify+0x484/0x4e4) from [<c048f59c>] (gckHARDWARE_Interrupt+0x58/0x68)

[<c048f59c>] (gckHARDWARE_Interrupt+0x58/0x68) from [<c047aad4>] (threadRoutine+0x20/0x78)

[<c047aad4>] (threadRoutine+0x20/0x78) from [<c00b1404>] (kthread+0x80/0x88)

[<c00b1404>] (kthread+0x80/0x88) from [<c004f408>] (kernel_thread_exit+0x0/0x8)

Code: e5930018 e3c2303f e5933014 e7904103 (e5943000)

---[ end trace 33f5ab955ee6f259 ]---

Kernel panic - not syncing: Fatal exception

 

Does anyone have an idea of what could cause the issue?

Could it have something to do with texture loading/unloading?

Is this a bug in the kernel?

Our kernel is based on 4.2.2 Jellybeans kernel, but it includes some bugfixes that were made in kitkat branch (especially on video drivers).

 

Also it looks like we only encounter this issue on fixed devices.

If it is a kernel issue, I don't understand why it only occurs on specific devices. Shouldn't it occur randomly on all devices?

Outcomes