drm: delete unconsumed pending event list in drm_events_release
authorYoungJun Cho <yj44.cho@samsung.com>
Tue, 29 Oct 2013 11:30:26 +0000 (20:30 +0900)
committerDave Airlie <airlied@redhat.com>
Wed, 6 Nov 2013 03:21:54 +0000 (13:21 +1000)
commit1dda6805471d4120dba2fa0f2cc1053c2dab28de
treefee008c7745a1e192173a67b0ec6d030ae45fd08
parent06c5bf8cc50a0f85284c035bdebf58d230b09056
drm: delete unconsumed pending event list in drm_events_release

When there are unconsumed pending events, the events are
destroyed by calling destroy callback, but the events list
are remained, because there is no list_del().

It is possible that the page flip request is handled after
drm_events_release() is called and before drm_fb_release().
In this case a drm_pending_event is remained not freed.
So exynos driver checks again to remove it in its post
close routine. But the file_priv->event_list contains
undeleted ones, this can make oops for accessing invalid
memory.

Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/drm_fops.c