Re: [Intel-gfx] 4.10-rc2 oops in DRM connector code
From: Dave Hansen
Date: Wed Jan 11 2017 - 11:17:02 EST
On 01/11/2017 07:39 AM, Daniel Vetter wrote:
> Hm, just cherry-picked it on top of Linus' latest 4.10 git, applies
> cleanly there. The substituation was for 4.9. I can send you the patch
> here, but seems all fine from what I can tell ...
All of the printk's that I added were making it fail to apply.
So, I took a 4.10-rc3 kernel with i915 compiled in (not as a module) and
applied e73ab00e9a0f17, which I grabbed from linux-next.
I'm seeing basically the same behavior that I did before applying
e73ab00e9a0f17. sysfs_create_dir_ns() fails because of a NULL kobj->parent.
Have you guys tried testing this yourselves? It seems really easy to
reproduce if you just compile the driver in.
> [ 1.400797] drm_dev_register(ffff88040c730000)::730 cpu: 2
> [ 1.400860] drm_connector_register(ffff88040c76b000)::382 connector->registered: 0 cpu: 1
> [ 1.400870] sysfs_create_dir_ns()::53 error: -2
> [ 1.400874] create_dir()::75 error: -2 cpu: 1
> [ 1.400878] ------------[ cut here ]------------
> [ 1.400884] WARNING: CPU: 1 PID: 91 at lib/kobject.c:249 kobject_add_internal+0x273/0x330
> [ 1.400888] kobject_add_internal failed for card0-DP-3 (error: -2 parent: card0)
> [ 1.400892] Modules linked in:
> [ 1.400896] CPU: 1 PID: 91 Comm: kworker/1:2 Not tainted 4.10.0-rc3-i915borked-dirty #67
> [ 1.400900] Hardware name: LENOVO 20F5S7V800/20F5S7V800, BIOS R02ET50W (1.23 ) 09/20/2016
> [ 1.400906] Workqueue: events_long drm_dp_mst_link_probe_work
> [ 1.400909] Call Trace:
> [ 1.400914] dump_stack+0x67/0x99
> [ 1.400918] __warn+0xd1/0xf0
> [ 1.400922] warn_slowpath_fmt+0x4f/0x60
> [ 1.400925] kobject_add_internal+0x273/0x330
> [ 1.400927] kobject_add+0x65/0xb0
> [ 1.400931] ? klist_init+0x31/0x40
> [ 1.400936] device_add+0x102/0x5d0
> [ 1.400940] ? kfree_const+0x22/0x30
> [ 1.400944] device_create_groups_vargs+0xd8/0x100
> [ 1.400947] device_create_with_groups+0x36/0x40
> [ 1.400952] ? vprintk_default+0x29/0x50
> [ 1.400957] ? __might_sleep+0x4a/0x90
> [ 1.400962] drm_sysfs_connector_add+0x60/0xe0
> [ 1.400967] drm_connector_register+0x74/0xd0
> [ 1.400971] intel_dp_register_mst_connector+0x41/0x50
> [ 1.400975] drm_dp_add_port+0x350/0x450
> [ 1.400977] drm_connector_register(ffff88040ee6f800)::382 connector->registered: 0 cpu: 2
> [ 1.400982] ? rcu_early_boot_tests+0x1/0x10
> [ 1.400986] ? schedule_timeout+0x1cd/0x390
> [ 1.400989] ? __might_sleep+0x4a/0x90
> [ 1.400992] ? mutex_lock+0x25/0x50
> [ 1.400995] ? drm_dp_mst_wait_tx_reply+0x118/0x1e0
> [ 1.400996] drm_sysfs_connector_add() connector: ffff88040ee6f800 kdev: ffff88040eef9c00
> [ 1.401002] ? prepare_to_wait_event+0x120/0x120
> [ 1.401005] ? drm_dp_check_mstb_guid+0x3d/0x120
> [ 1.401008] drm_dp_send_link_address+0x185/0x1f0
> [ 1.401012] drm_dp_check_and_send_link_address+0xad/0xc0
> [ 1.401015] drm_dp_mst_link_probe_work+0x57/0xa0
> [ 1.401018] process_one_work+0x14b/0x430
> [ 1.401021] worker_thread+0x12b/0x4a0
> [ 1.401025] kthread+0x10c/0x140
> [ 1.401027] ? process_one_work+0x430/0x430
> [ 1.401030] ? kthread_create_on_node+0x40/0x40
> [ 1.401034] ret_from_fork+0x27/0x40
> [ 1.401038] ---[ end trace ba43fc250fbf282d ]---
> [ 1.401041] drm_sysfs_connector_add() connector: ffff88040c76b000 kdev: fffffffffffffffe
> [ 1.401043] drm_connector_register(ffff88040c768000)::382 connector->registered: 0 cpu: 2
> [ 1.401050] [drm:drm_sysfs_connector_add] *ERROR* failed to register connector device: -2
> [ 1.401057] drm_sysfs_connector_add() connector: ffff88040c768000 kdev: ffff88040eefa000
> [ 1.401093] drm_connector_register(ffff88040c768800)::382 connector->registered: 0 cpu: 2
> [ 1.401113] drm_sysfs_connector_add() connector: ffff88040c768800 kdev: ffff88040eefa400
> [ 1.401122] drm_connector_register(ffff88040c769000)::382 connector->registered: 0 cpu: 2
> [ 1.401140] drm_sysfs_connector_add() connector: ffff88040c769000 kdev: ffff88040eefa800
> [ 1.401167] drm_connector_register(ffff88040c769800)::382 connector->registered: 0 cpu: 2
> [ 1.401186] drm_sysfs_connector_add() connector: ffff88040c769800 kdev: ffff88040eefac00
> [ 1.401195] drm_connector_register(ffff88040c76b000)::382 connector->registered: 0 cpu: 2