[Intel-gfx] 4.10-rc2 oops in DRM connector code

Daniel Vetter daniel at ffwll.ch
Wed Jan 11 22:25:42 UTC 2017


On Wed, Jan 11, 2017 at 08:16:56AM -0800, Dave Hansen wrote:
> 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.

With some screaming I can reproduce it. I'll try to take a look, but since
I'm travelling to lca might need someone else to look into this too (I
don't have an mst machine to carry around). And I still don't get why this
blows up even.
-Daniel

> 
> > [    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
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Intel-gfx mailing list