Re: [PATCH] drm/mgag200: Fix calling drm_fb_helper_fini() twice

Archit Taneja
2015-09-17T10:54:33Z

On 9/17/2015 2:04 PM, Ingo Molnar wrote:
>
>
> * Ingo Molnar <mingo@kernel.org> wrote:
>
>
>
>> So this patch was whitespace damaged - I applied it by hand and made the commit
>
>> below. This has solved the crash, thanks Archit!
>
>
>
> Spoke too soon - the attached (allyesconfig-ish) config still crashes, first there
>
> are a handful of kobject debug warnings, then:

The error handling in the driver is bad. The main problem is that the
driver_load op calls mgag200_driver_unload if anything fails, which
doesn't work well if driver_load fails mid way.

I'll post out patches to fix this. But you'll need to undo the patch
I'd sent previously.

Thanks,
Archit

>
>
>
> [ 115.274847] [drm:mgag200_mm_init] *ERROR* Failed setting up TTM memory accounting subsystem.
>
> [ 115.274853] BUG: unable to handle kernel NULL pointer dereference at (null)
>
> [ 115.274856] IP: [<ffffffff81b88285>] drm_mode_config_cleanup+0x1f/0x1cc
>
> [ 115.274858] PGD 0
>
> [ 115.274860] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC KASAN
>
> [ 115.274861] Modules linked in:
>
> [ 115.274862] CPU: 0 PID: 4 Comm: kworker/0:0 Tainted: G W L 4.3.0-rc1-01729-g525850e-dirty #59
>
> [ 115.274863] Hardware name: Intel Corporation S2600GZ/S2600GZ, BIOS SE5C600.86B.02.02.0002.122320131210 12/23/2013
>
> [ 115.274865] Workqueue: events work_for_cpu_fn
>
> [ 115.274865] task: ffff88017d2a8000 ti: ffff88017d2b0000 task.ti: ffff88017d2b0000
>
> [ 115.274868] RIP: 0010:[<ffffffff81b88285>] [<ffffffff81b88285>] drm_mode_config_cleanup+0x1f/0x1cc
>
> [ 115.274868] RSP: 0000:ffff88017d2b7bd8 EFLAGS: 00010246
>
> [ 115.274869] RAX: 0000000000000000 RBX: ffff8800ba0a4520 RCX: ffffffff81186ff1
>
> [ 115.274870] RDX: ffff88017d2b7a90 RSI: ffffffff83d73579 RDI: ffff8800ba0a4520
>
> [ 115.274870] RBP: ffff88017d2b7bf0 R08: 0000000000000001 R09: 0000000000000000
>
> [ 115.274871] R10: 0000000000075000 R11: ffffffff85147a82 R12: ffff8800ba0a4520
>
> [ 115.274872] R13: ffff8800ba0a4da8 R14: 00000000fffffffe R15: ffff8800ba0a3400
>
> [ 115.274873] FS: 0000000000000000(0000) GS:ffff880420e00000(0000) knlGS:0000000000000000
>
> [ 115.274874] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>
> [ 115.274875] CR2: 0000000000000000 CR3: 0000000005e2d000 CR4: 00000000001406f0
>
> [ 115.274876] Stack:
>
> [ 115.274877] ffff8800ba0a3400 ffff8800ba0a4520 00000000fffffffe ffff88017d2b7c10
>
> [ 115.274879] ffffffff81cb6a3e ffff8800ba0a4520 ffff8800ba0a3400 ffff88017d2b7c78
>
> [ 115.274881] ffffffff81cb6efe 0000072001000000 000000000000aa55 0000075b00000000
>
> [ 115.274881] Call Trace:
>
> [ 115.274883] [<ffffffff81cb6a3e>] mgag200_driver_unload+0x30/0x48
>
> [ 115.274884] [<ffffffff81cb6efe>] mgag200_driver_load+0x4a8/0x4ba
>
> [ 115.274886] [<ffffffff81b80055>] drm_dev_register+0x6f/0xb0
>
> [ 115.274887] [<ffffffff81b82865>] drm_get_pci_dev+0xff/0x1c2
>
> [ 115.274889] [<ffffffff81cbaaed>] mga_pci_probe+0xa6/0xad
>
> [ 115.274890] [<ffffffff8190e877>] local_pci_probe+0x3d/0x82
>
> [ 115.274891] [<ffffffff81158451>] work_for_cpu_fn+0x14/0x1b
>
> [ 115.274893] [<ffffffff8115bf66>] process_one_work+0x28e/0x4ef
>
> [ 115.274895] [<ffffffff8115be48>] ? process_one_work+0x170/0x4ef
>
> [ 115.274897] [<ffffffff8115c1e8>] process_scheduled_works+0x21/0x2f
>
>
>
> Full log is below, config attached as well.
>
>
>
> Thanks,
>
>
>
> Ingo
>
>
>
> ========================>
>
> [ 115.243547] mgag200 0000:0b:00.0: no default pinctrl state
>
> [ 115.243732] devices_kset: Moving 0000:0b:00.0 to end of list
>
> [ 115.247078] device: 'controlD64': device_add
>
> [ 115.247494] PM: Adding info for No Bus:controlD64
>
> [ 115.247979] device: 'card0': device_add
>
> [ 115.248315] PM: Adding info for No Bus:card0
>
> [ 115.274511] ------------[ cut here ]------------
>
> [ 115.274518] WARNING: CPU: 0 PID: 4 at lib/kobject.c:582 kobject_get+0x33/0x6a()
>
> [ 115.274519] kobject: 'ttm' (ffffffff86c28700): is not initialized, yet kobject_get() is being called.
>
> [ 115.274521] Modules linked in:
>
> [ 115.274524] CPU: 0 PID: 4 Comm: kworker/0:0 Tainted: G W L 4.3.0-rc1-01729-g525850e-dirty #59
>
> [ 115.274525] Hardware name: Intel Corporation S2600GZ/S2600GZ, BIOS SE5C600.86B.02.02.0002.122320131210 12/23/2013
>
> [ 115.274529] Workqueue: events work_for_cpu_fn
>
> [ 115.274532] 0000000000000000 ffff88017d2b79a8 ffffffff8188f38b ffff88017d2b79f0
>
> [ 115.274534] ffff88017d2b79e0 ffffffff81144593 ffffffff8189129f ffffffff86c28700
>
> [ 115.274536] 0000000000000000 ffffffff86c28700 00000000007f4000 ffff88017d2b7a40
>
> [ 115.274537] Call Trace:
>
> [ 115.274540] [<ffffffff8188f38b>] dump_stack+0x4b/0x64
>
> [ 115.274543] [<ffffffff81144593>] warn_slowpath_common+0x9f/0xb8
>
> [ 115.274545] [<ffffffff8189129f>] ? kobject_get+0x33/0x6a
>
> [ 115.274547] [<ffffffff811445f8>] warn_slowpath_fmt+0x4c/0x4e
>
> [ 115.274551] [<ffffffff811892de>] ? lock_is_held+0x55/0x66
>
> [ 115.274553] [<ffffffff8189129f>] kobject_get+0x33/0x6a
>
> [ 115.274554] [<ffffffff81891963>] kobject_add_internal+0x58/0x2c4
>
> [ 115.274556] [<ffffffff81891c42>] kobject_init_and_add+0x73/0x7e
>
> [ 115.274559] [<ffffffff81b981cf>] ttm_mem_global_init+0xc6/0x2cd
>
> [ 115.274563] [<ffffffff8128f809>] ? kasan_poison_shadow+0x2f/0x31
>
> [ 115.274564] [<ffffffff81290029>] ? kasan_unpoison_shadow+0x14/0x35
>
> [ 115.274566] [<ffffffff8128f809>] ? kasan_poison_shadow+0x2f/0x31
>
> [ 115.274567] [<ffffffff81290095>] ? kasan_kmalloc+0x4b/0x50
>
> [ 115.274569] [<ffffffff8128ccdc>] ? __kmalloc+0x13e/0x180
>
> [ 115.274571] [<ffffffff8128f809>] ? kasan_poison_shadow+0x2f/0x31
>
> [ 115.274573] [<ffffffff81b910fc>] ? drm_global_item_ref+0x67/0xad
>
> [ 115.274577] [<ffffffff81cbb766>] mgag200_ttm_mem_global_init+0x12/0x14
>
> [ 115.274579] [<ffffffff81b91113>] drm_global_item_ref+0x7e/0xad
>
> [ 115.274581] [<ffffffff81cbb82d>] mgag200_mm_init+0x50/0x199
>
> [ 115.274583] [<ffffffff81cb6da0>] mgag200_driver_load+0x34a/0x4ba
>
> [ 115.274587] [<ffffffff81b80055>] drm_dev_register+0x6f/0xb0
>
> [ 115.274589] [<ffffffff81b82865>] drm_get_pci_dev+0xff/0x1c2
>
> [ 115.274590] [<ffffffff81cbaaed>] mga_pci_probe+0xa6/0xad
>
> [ 115.274593] [<ffffffff8190e877>] local_pci_probe+0x3d/0x82
>
> [ 115.274595] [<ffffffff81158451>] work_for_cpu_fn+0x14/0x1b
>
> [ 115.274597] [<ffffffff8115bf66>] process_one_work+0x28e/0x4ef
>
> [ 115.274599] [<ffffffff8115be48>] ? process_one_work+0x170/0x4ef
>
> [ 115.274601] [<ffffffff8115c1e8>] process_scheduled_works+0x21/0x2f
>
> [ 115.274603] [<ffffffff8115c3f1>] worker_thread+0x1fb/0x2bd
>
> [ 115.274605] [<ffffffff8115c1f6>] ? process_scheduled_works+0x2f/0x2f
>
> [ 115.274607] [<ffffffff8116185b>] kthread+0xc5/0xcd
>
> [ 115.274609] [<ffffffff8118992e>] ? lock_release+0x3a5/0x3f8
>
> [ 115.274611] [<ffffffff81161796>] ? kthread_parkme+0x24/0x24
>
> [ 115.274615] [<ffffffff83d741af>] ret_from_fork+0x3f/0x70
>
> [ 115.274616] [<ffffffff81161796>] ? kthread_parkme+0x24/0x24
>
> [ 115.274618] ---[ end trace 3d275ea9d9277b89 ]---
>
> [ 115.274619] ------------[ cut here ]------------
>
> [ 115.274621] WARNING: CPU: 0 PID: 4 at include/linux/kref.h:47 kobject_get+0x5d/0x6a()
>
> [ 115.274622] Modules linked in:
>
> [ 115.274623] CPU: 0 PID: 4 Comm: kworker/0:0 Tainted: G W L 4.3.0-rc1-01729-g525850e-dirty #59
>
> [ 115.274624] Hardware name: Intel Corporation S2600GZ/S2600GZ, BIOS SE5C600.86B.02.02.0002.122320131210 12/23/2013
>
> [ 115.274626] Workqueue: events work_for_cpu_fn
>
> [ 115.274628] 0000000000000000 ffff88017d2b79f8 ffffffff8188f38b 0000000000000000
>
> [ 115.274630] ffff88017d2b7a30 ffffffff81144593 ffffffff818912c9 ffffffff86c28700
>
> [ 115.274632] 0000000000000000 ffffffff86c28700 00000000007f4000 ffff88017d2b7a40
>
> [ 115.274632] Call Trace:
>
> [ 115.274634] [<ffffffff8188f38b>] dump_stack+0x4b/0x64
>
> [ 115.274635] [<ffffffff81144593>] warn_slowpath_common+0x9f/0xb8
>
> [ 115.274637] [<ffffffff818912c9>] ? kobject_get+0x5d/0x6a
>
> [ 115.274638] [<ffffffff8114465a>] warn_slowpath_null+0x1a/0x1c
>
> [ 115.274640] [<ffffffff818912c9>] kobject_get+0x5d/0x6a
>
> [ 115.274641] [<ffffffff81891963>] kobject_add_internal+0x58/0x2c4
>
> [ 115.274642] [<ffffffff81891c42>] kobject_init_and_add+0x73/0x7e
>
> [ 115.274644] [<ffffffff81b981cf>] ttm_mem_global_init+0xc6/0x2cd
>
> [ 115.274645] [<ffffffff8128f809>] ? kasan_poison_shadow+0x2f/0x31
>
> [ 115.274647] [<ffffffff81290029>] ? kasan_unpoison_shadow+0x14/0x35
>
> [ 115.274648] [<ffffffff8128f809>] ? kasan_poison_shadow+0x2f/0x31
>
> [ 115.274650] [<ffffffff81290095>] ? kasan_kmalloc+0x4b/0x50
>
> [ 115.274651] [<ffffffff8128ccdc>] ? __kmalloc+0x13e/0x180
>
> [ 115.274652] [<ffffffff8128f809>] ? kasan_poison_shadow+0x2f/0x31
>
> [ 115.274654] [<ffffffff81b910fc>] ? drm_global_item_ref+0x67/0xad
>
> [ 115.274655] [<ffffffff81cbb766>] mgag200_ttm_mem_global_init+0x12/0x14
>
> [ 115.274657] [<ffffffff81b91113>] drm_global_item_ref+0x7e/0xad
>
> [ 115.274658] [<ffffffff81cbb82d>] mgag200_mm_init+0x50/0x199
>
> [ 115.274660] [<ffffffff81cb6da0>] mgag200_driver_load+0x34a/0x4ba
>
> [ 115.274662] [<ffffffff81b80055>] drm_dev_register+0x6f/0xb0
>
> [ 115.274663] [<ffffffff81b82865>] drm_get_pci_dev+0xff/0x1c2
>
> [ 115.274665] [<ffffffff81cbaaed>] mga_pci_probe+0xa6/0xad
>
> [ 115.274666] [<ffffffff8190e877>] local_pci_probe+0x3d/0x82
>
> [ 115.274668] [<ffffffff81158451>] work_for_cpu_fn+0x14/0x1b
>
> [ 115.274669] [<ffffffff8115bf66>] process_one_work+0x28e/0x4ef
>
> [ 115.274671] [<ffffffff8115be48>] ? process_one_work+0x170/0x4ef
>
> [ 115.274673] [<ffffffff8115c1e8>] process_scheduled_works+0x21/0x2f
>
> [ 115.274675] [<ffffffff8115c3f1>] worker_thread+0x1fb/0x2bd
>
> [ 115.274676] [<ffffffff8115c1f6>] ? process_scheduled_works+0x2f/0x2f
>
> [ 115.274678] [<ffffffff8116185b>] kthread+0xc5/0xcd
>
> [ 115.274679] [<ffffffff8118992e>] ? lock_release+0x3a5/0x3f8
>
> [ 115.274681] [<ffffffff81161796>] ? kthread_parkme+0x24/0x24
>
> [ 115.274683] [<ffffffff83d741af>] ret_from_fork+0x3f/0x70
>
> [ 115.274684] [<ffffffff81161796>] ? kthread_parkme+0x24/0x24
>
> [ 115.274685] ---[ end trace 3d275ea9d9277b8a ]---
>
> [ 115.274686] ------------[ cut here ]------------
>
> [ 115.274688] WARNING: CPU: 0 PID: 4 at lib/kobject.c:674 kobject_put+0x33/0x47()
>
> [ 115.274689] kobject: 'ttm' (ffffffff86c28700): is not initialized, yet kobject_put() is being called.
>
> [ 115.274690] Modules linked in:
>
> [ 115.274691] CPU: 0 PID: 4 Comm: kworker/0:0 Tainted: G W L 4.3.0-rc1-01729-g525850e-dirty #59
>
> [ 115.274691] Hardware name: Intel Corporation S2600GZ/S2600GZ, BIOS SE5C600.86B.02.02.0002.122320131210 12/23/2013
>
> [ 115.274693] Workqueue: events work_for_cpu_fn
>
> [ 115.274695] 0000000000000000 ffff88017d2b79a8 ffffffff8188f38b ffff88017d2b79f0
>
> [ 115.274697] ffff88017d2b79e0 ffffffff81144593 ffffffff81891309 ffffffff86c28700
>
> [ 115.274699] ffffffff86c28700 00000000fffffffe 00000000007f4000 ffff88017d2b7a40
>
> [ 115.274700] Call Trace:
>
> [ 115.274701] [<ffffffff8188f38b>] dump_stack+0x4b/0x64
>
> [ 115.274703] [<ffffffff81144593>] warn_slowpath_common+0x9f/0xb8
>
> [ 115.274705] [<ffffffff81891309>] ? kobject_put+0x33/0x47
>
> [ 115.274706] [<ffffffff811445f8>] warn_slowpath_fmt+0x4c/0x4e
>
> [ 115.274708] [<ffffffff81891309>] kobject_put+0x33/0x47
>
> [ 115.274710] [<ffffffff81891ba6>] kobject_add_internal+0x29b/0x2c4
>
> [ 115.274711] [<ffffffff81891c42>] kobject_init_and_add+0x73/0x7e
>
> [ 115.274712] [<ffffffff81b981cf>] ttm_mem_global_init+0xc6/0x2cd
>
> [ 115.274714] [<ffffffff8128f809>] ? kasan_poison_shadow+0x2f/0x31
>
> [ 115.274715] [<ffffffff81290029>] ? kasan_unpoison_shadow+0x14/0x35
>
> [ 115.274717] [<ffffffff8128f809>] ? kasan_poison_shadow+0x2f/0x31
>
> [ 115.274718] [<ffffffff81290095>] ? kasan_kmalloc+0x4b/0x50
>
> [ 115.274719] [<ffffffff8128ccdc>] ? __kmalloc+0x13e/0x180
>
> [ 115.274721] [<ffffffff8128f809>] ? kasan_poison_shadow+0x2f/0x31
>
> [ 115.274722] [<ffffffff81b910fc>] ? drm_global_item_ref+0x67/0xad
>
> [ 115.274724] [<ffffffff81cbb766>] mgag200_ttm_mem_global_init+0x12/0x14
>
> [ 115.274725] [<ffffffff81b91113>] drm_global_item_ref+0x7e/0xad
>
> [ 115.274727] [<ffffffff81cbb82d>] mgag200_mm_init+0x50/0x199
>
> [ 115.274728] [<ffffffff81cb6da0>] mgag200_driver_load+0x34a/0x4ba
>
> [ 115.274730] [<ffffffff81b80055>] drm_dev_register+0x6f/0xb0
>
> [ 115.274731] [<ffffffff81b82865>] drm_get_pci_dev+0xff/0x1c2
>
> [ 115.274733] [<ffffffff81cbaaed>] mga_pci_probe+0xa6/0xad
>
> [ 115.274734] [<ffffffff8190e877>] local_pci_probe+0x3d/0x82
>
> [ 115.274736] [<ffffffff81158451>] work_for_cpu_fn+0x14/0x1b
>
> [ 115.274737] [<ffffffff8115bf66>] process_one_work+0x28e/0x4ef
>
> [ 115.274739] [<ffffffff8115be48>] ? process_one_work+0x170/0x4ef
>
> [ 115.274741] [<ffffffff8115c1e8>] process_scheduled_works+0x21/0x2f
>
> [ 115.274743] [<ffffffff8115c3f1>] worker_thread+0x1fb/0x2bd
>
> [ 115.274745] [<ffffffff8115c1f6>] ? process_scheduled_works+0x2f/0x2f
>
> [ 115.274746] [<ffffffff8116185b>] kthread+0xc5/0xcd
>
> [ 115.274747] [<ffffffff8118992e>] ? lock_release+0x3a5/0x3f8
>
> [ 115.274749] [<ffffffff81161796>] ? kthread_parkme+0x24/0x24
>
> [ 115.274751] [<ffffffff83d741af>] ret_from_fork+0x3f/0x70
>
> [ 115.274752] [<ffffffff81161796>] ? kthread_parkme+0x24/0x24
>
> [ 115.274753] ---[ end trace 3d275ea9d9277b8b ]---
>
> [ 115.274763] ------------[ cut here ]------------
>
> [ 115.274764] WARNING: CPU: 0 PID: 4 at lib/kobject.c:244 kobject_add_internal+0x281/0x2c4()
>
> [ 115.274765] kobject_add_internal failed for memory_accounting (error: -2 parent: kkkkkkk����������
>
> [ 115.274765] �\x17\x04����\x16������V�(�����b�(������ȉ������\x16��������ہ����V�R������!)
>
> [ 115.274766] Modules linked in:
>
> [ 115.274767] CPU: 0 PID: 4 Comm: kworker/0:0 Tainted: G W L 4.3.0-rc1-01729-g525850e-dirty #59
>
> [ 115.274768] Hardware name: Intel Corporation S2600GZ/S2600GZ, BIOS SE5C600.86B.02.02.0002.122320131210 12/23/2013
>
> [ 115.274769] Workqueue: events work_for_cpu_fn
>
> [ 115.274771] 0000000000000000 ffff88017d2b79c0 ffffffff8188f38b ffff88017d2b7a08
>
> [ 115.274773] ffff88017d2b79f8 ffffffff81144593 ffffffff81891b8c ffff88041821e270
>
> [ 115.274775] ffffffff86c28700 00000000fffffffe 00000000007f4000 ffff88017d2b7a58
>
> [ 115.274776] Call Trace:
>
> [ 115.274777] [<ffffffff8188f38b>] dump_stack+0x4b/0x64
>
> [ 115.274779] [<ffffffff81144593>] warn_slowpath_common+0x9f/0xb8
>
> [ 115.274780] [<ffffffff81891b8c>] ? kobject_add_internal+0x281/0x2c4
>
> [ 115.274781] [<ffffffff811445f8>] warn_slowpath_fmt+0x4c/0x4e
>
> [ 115.274782] [<ffffffff81891b8c>] kobject_add_internal+0x281/0x2c4
>
> [ 115.274784] [<ffffffff81891c42>] kobject_init_and_add+0x73/0x7e
>
> [ 115.274785] [<ffffffff81b981cf>] ttm_mem_global_init+0xc6/0x2cd
>
> [ 115.274787] [<ffffffff8128f809>] ? kasan_poison_shadow+0x2f/0x31
>
> [ 115.274788] [<ffffffff81290029>] ? kasan_unpoison_shadow+0x14/0x35
>
> [ 115.274790] [<ffffffff8128f809>] ? kasan_poison_shadow+0x2f/0x31
>
> [ 115.274792] [<ffffffff81290095>] ? kasan_kmalloc+0x4b/0x50
>
> [ 115.274793] [<ffffffff8128ccdc>] ? __kmalloc+0x13e/0x180
>
> [ 115.274795] [<ffffffff8128f809>] ? kasan_poison_shadow+0x2f/0x31
>
> [ 115.274796] [<ffffffff81b910fc>] ? drm_global_item_ref+0x67/0xad
>
> [ 115.274798] [<ffffffff81cbb766>] mgag200_ttm_mem_global_init+0x12/0x14
>
> [ 115.274799] [<ffffffff81b91113>] drm_global_item_ref+0x7e/0xad
>
> [ 115.274801] [<ffffffff81cbb82d>] mgag200_mm_init+0x50/0x199
>
> [ 115.274803] [<ffffffff81cb6da0>] mgag200_driver_load+0x34a/0x4ba
>
> [ 115.274805] [<ffffffff81b80055>] drm_dev_register+0x6f/0xb0
>
> [ 115.274806] [<ffffffff81b82865>] drm_get_pci_dev+0xff/0x1c2
>
> [ 115.274808] [<ffffffff81cbaaed>] mga_pci_probe+0xa6/0xad
>
> [ 115.274809] [<ffffffff8190e877>] local_pci_probe+0x3d/0x82
>
> [ 115.274810] [<ffffffff81158451>] work_for_cpu_fn+0x14/0x1b
>
> [ 115.274812] [<ffffffff8115bf66>] process_one_work+0x28e/0x4ef
>
> [ 115.274814] [<ffffffff8115be48>] ? process_one_work+0x170/0x4ef
>
> [ 115.274816] [<ffffffff8115c1e8>] process_scheduled_works+0x21/0x2f
>
> [ 115.274817] [<ffffffff8115c3f1>] worker_thread+0x1fb/0x2bd
>
> [ 115.274819] [<ffffffff8115c1f6>] ? process_scheduled_works+0x2f/0x2f
>
> [ 115.274820] [<ffffffff8116185b>] kthread+0xc5/0xcd
>
> [ 115.274822] [<ffffffff8118992e>] ? lock_release+0x3a5/0x3f8
>
> [ 115.274824] [<ffffffff81161796>] ? kthread_parkme+0x24/0x24
>
> [ 115.274825] [<ffffffff83d741af>] ret_from_fork+0x3f/0x70
>
> [ 115.274827] [<ffffffff81161796>] ? kthread_parkme+0x24/0x24
>
> [ 115.274828] ---[ end trace 3d275ea9d9277b8c ]---
>
> [ 115.274847] [drm:mgag200_mm_init] *ERROR* Failed setting up TTM memory accounting subsystem.
>
> [ 115.274853] BUG: unable to handle kernel NULL pointer dereference at (null)
>
> [ 115.274856] IP: [<ffffffff81b88285>] drm_mode_config_cleanup+0x1f/0x1cc
>
> [ 115.274858] PGD 0
>
> [ 115.274860] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC KASAN
>
> [ 115.274861] Modules linked in:
>
> [ 115.274862] CPU: 0 PID: 4 Comm: kworker/0:0 Tainted: G W L 4.3.0-rc1-01729-g525850e-dirty #59
>
> [ 115.274863] Hardware name: Intel Corporation S2600GZ/S2600GZ, BIOS SE5C600.86B.02.02.0002.122320131210 12/23/2013
>
> [ 115.274865] Workqueue: events work_for_cpu_fn
>
> [ 115.274865] task: ffff88017d2a8000 ti: ffff88017d2b0000 task.ti: ffff88017d2b0000
>
> [ 115.274868] RIP: 0010:[<ffffffff81b88285>] [<ffffffff81b88285>] drm_mode_config_cleanup+0x1f/0x1cc
>
> [ 115.274868] RSP: 0000:ffff88017d2b7bd8 EFLAGS: 00010246
>
> [ 115.274869] RAX: 0000000000000000 RBX: ffff8800ba0a4520 RCX: ffffffff81186ff1
>
> [ 115.274870] RDX: ffff88017d2b7a90 RSI: ffffffff83d73579 RDI: ffff8800ba0a4520
>
> [ 115.274870] RBP: ffff88017d2b7bf0 R08: 0000000000000001 R09: 0000000000000000
>
> [ 115.274871] R10: 0000000000075000 R11: ffffffff85147a82 R12: ffff8800ba0a4520
>
> [ 115.274872] R13: ffff8800ba0a4da8 R14: 00000000fffffffe R15: ffff8800ba0a3400
>
> [ 115.274873] FS: 0000000000000000(0000) GS:ffff880420e00000(0000) knlGS:0000000000000000
>
> [ 115.274874] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>
> [ 115.274875] CR2: 0000000000000000 CR3: 0000000005e2d000 CR4: 00000000001406f0
>
> [ 115.274876] Stack:
>
> [ 115.274877] ffff8800ba0a3400 ffff8800ba0a4520 00000000fffffffe ffff88017d2b7c10
>
> [ 115.274879] ffffffff81cb6a3e ffff8800ba0a4520 ffff8800ba0a3400 ffff88017d2b7c78
>
> [ 115.274881] ffffffff81cb6efe 0000072001000000 000000000000aa55 0000075b00000000
>
> [ 115.274881] Call Trace:
>
> [ 115.274883] [<ffffffff81cb6a3e>] mgag200_driver_unload+0x30/0x48
>
> [ 115.274884] [<ffffffff81cb6efe>] mgag200_driver_load+0x4a8/0x4ba
>
> [ 115.274886] [<ffffffff81b80055>] drm_dev_register+0x6f/0xb0
>
> [ 115.274887] [<ffffffff81b82865>] drm_get_pci_dev+0xff/0x1c2
>
> [ 115.274889] [<ffffffff81cbaaed>] mga_pci_probe+0xa6/0xad
>
> [ 115.274890] [<ffffffff8190e877>] local_pci_probe+0x3d/0x82
>
> [ 115.274891] [<ffffffff81158451>] work_for_cpu_fn+0x14/0x1b
>
> [ 115.274893] [<ffffffff8115bf66>] process_one_work+0x28e/0x4ef
>
> [ 115.274895] [<ffffffff8115be48>] ? process_one_work+0x170/0x4ef
>
> [ 115.274897] [<ffffffff8115c1e8>] process_scheduled_works+0x21/0x2f
>
> [ 115.274898] [<ffffffff8115c3f1>] worker_thread+0x1fb/0x2bd
>
> [ 115.274901] [<ffffffff8115c1f6>] ? process_scheduled_works+0x2f/0x2f
>
> [ 115.274902] [<ffffffff8116185b>] kthread+0xc5/0xcd
>
> [ 115.274904] [<ffffffff8118992e>] ? lock_release+0x3a5/0x3f8
>
> [ 115.274906] [<ffffffff81161796>] ? kthread_parkme+0x24/0x24
>
> [ 115.274908] [<ffffffff83d741af>] ret_from_fork+0x3f/0x70
>
> [ 115.274910] [<ffffffff81161796>] ? kthread_parkme+0x24/0x24
>
> [ 115.274928] Code: 00 49 83 c0 28 e8 c9 fd ff ff 5d c3 0f 1f 44 00 00 55 48 89 e5 41 55 41 54 53 48 8b 87 88 08 00 00 48 89 fb 4c 8d ab 88 08 00 00 <4c> 8b 20 48 8d 78 f8 49 83 ec 08 eb 13 48 8b 47 50 ff 50 08 49
>
> [ 115.274930] RIP [<ffffffff81b88285>] drm_mode_config_cleanup+0x1f/0x1cc
>
> [ 115.274931] RSP <ffff88017d2b7bd8>
>
> [ 115.274932] CR2: 0000000000000000
>
> [ 115.274934] ---[ end trace 3d275ea9d9277b8d ]---
>
> [ 115.284475] kworker/0:0 (4) used greatest stack depth: 29320 bytes left
>
> [ 115.284480] BUG: unable to handle kernel paging request at ffffffffffffff98
>
> [ 115.284483] IP: [<ffffffff81161a7d>] kthread_data+0x10/0x16
>
> [ 115.284484] PGD 5e30067 PUD 5e32067 PMD 0
>
> [ 115.284486] Oops: 0000 [#2] SMP DEBUG_PAGEALLOC KASAN
>

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project