[Bug 198221] nouveau DRM driver scheduling invalid work
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
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
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
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
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