]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commit
drm/nouveau/tmr: fix corruption of the pending list when rescheduling an alarm
authorBen Skeggs <bskeggs@redhat.com>
Thu, 11 May 2017 07:03:05 +0000 (17:03 +1000)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Tue, 20 Jun 2017 10:18:01 +0000 (12:18 +0200)
commite8a840dba12cc14aebe676554f2e50ad9a9586d0
treec6f47c9e67b38121154f63e5f965d454d52903fa
parent8253aca9fe931a353e944591b5436b4e71310160
drm/nouveau/tmr: fix corruption of the pending list when rescheduling an alarm

BugLink: http://bugs.launchpad.net/bugs/1694621
commit 9fc64667ee48c9a25e7dca1a6bcb6906fec5bcc5 upstream.

At least therm/fantog "attempts" to work around this issue, which could
lead to corruption of the pending alarm list.

Fix it properly by not updating the timestamp without the lock held, or
trying to add an already pending alarm to the pending alarm list....

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
drivers/gpu/drm/nouveau/nvkm/subdev/timer/base.c