drm: Fix race when checking for fb in the generic kms obj lookup
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 24 Jul 2014 10:12:45 +0000 (12:12 +0200)
committerDave Airlie <airlied@redhat.com>
Tue, 5 Aug 2014 01:06:52 +0000 (11:06 +1000)
commit168c02ec06f891990617cee2abbba70858c071e7
treebbcb2fde44a5856c61594436bbe6854559073da3
parentdff01de1c3cafb128344fe809cbca84606b1b65c
drm: Fix race when checking for fb in the generic kms obj lookup

In my review of

commit 98f75de40e9d83c3a90d294b8fd25fa2874212a9
Author: Rob Clark <robdclark@gmail.com>
Date:   Fri May 30 11:37:03 2014 -0400

    drm: add object property typ

I asked for a check to make sure that we never leak an fb from the
generic mode object lookup since those have completely different
lifetime rules. Rob added it, but outside of the idr mutex, which
means that our dereference of obj->type can already chase free'd
memory.

Somehow I didn't spot this, so fix this asap.

v2: Simplify the conditionals as suggested by Chris.

Cc: Rob Clark <robdclark@gmail.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/drm_crtc.c