[Bug 198221] nouveau DRM driver scheduling invalid work

2017-12-29 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=198221

--- Comment #5 from Petr Vandrovec (p...@vandrovec.name) ---
Yes, it fixes the crash. I am not sure what impact have holding lock for longer
time, but I didn't notice anything bad.

-- 
You are receiving this mail because:
You are watching the assignee of the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 198221] nouveau DRM driver scheduling invalid work

2017-12-29 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=198221

Pierre Moreau (pierre.mor...@free.fr) changed:

   What|Removed |Added

 CC||pierre.mor...@free.fr

--- Comment #4 from Pierre Moreau (pierre.mor...@free.fr) ---
Hello,

This should be fixed by
https://github.com/skeggsb/nouveau/commit/b372d7330c41be5b751187821ab81d91295c847d.
Could you please confirm whether it does fix it for you?

-- 
You are receiving this mail because:
You are watching the assignee of the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 198221] nouveau DRM driver scheduling invalid work

2017-12-20 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=198221

--- Comment #3 from Petr Vandrovec (p...@vandrovec.name) ---
Created attachment 261285
  --> https://bugzilla.kernel.org/attachment.cgi?id=261285&action=edit
Bandaid to prevent processing of works not fully set up

I've attached bandaid that seems to fix crash on my system.

-- 
You are receiving this mail because:
You are watching the assignee of the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 198221] nouveau DRM driver scheduling invalid work

2017-12-20 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=198221

Petr Vandrovec (p...@vandrovec.name) changed:

   What|Removed |Added

 Regression|No  |Yes

--- Comment #2 from Petr Vandrovec (p...@vandrovec.name) ---
I've built kernel with the change and give it some time, but I don't think that
it is a culprit.

I think that there is a race in how nouveau handles scheduled work:

This work being scheduled has func callback set to
nouveau_gem_object_delete_work(), which does its job, and then frees the work.

Now nouveau_cli_work_queue sets some work properties, adds work to the
cli->worker queue, and schedules work->cli->work.

But nouveau_cli_work might run between the moment work is added to cli->worker
queue and moment schedule_work(&work->cli->work) is issued.

In that case work dereference in nouveau_cli_work_fence will access freed work
memory, read garbage (0x0001 in this case), add offsetof(cli, work) of
0x1f8, and pass this garbage pointer into schedule_work().

I'm not entirely sure what are expectations for the work, but perhaps work
should be added to the cli->worker list from nouveau_cli_work_fence, rather
than by nouveau_cli_work_queue. 

Regression seems to be introduced by 814a23243bd2aaa9aafe03d85d0502a73be42b58,
"drm/nouveau: implement per-client delayed workqueue with fence support"

-- 
You are receiving this mail because:
You are watching the assignee of the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 198221] nouveau DRM driver scheduling invalid work

2017-12-20 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=198221

Ilia Mirkin (imir...@alum.mit.edu) changed:

   What|Removed |Added

 CC||imir...@alum.mit.edu

--- Comment #1 from Ilia Mirkin (imir...@alum.mit.edu) ---
There's a pretty big memory leak in the GEM object handler right now, fixed by

https://github.com/skeggsb/linux/commit/4ef928929987c19fff4d3c1650f139560ba1cc13

Doesn't seem identical to your issue, but perhaps the leak triggers this as a
secondary issue.

-- 
You are receiving this mail because:
You are watching the assignee of the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel