drm/mm: avoid possible null pointer dereference
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Wed, 18 May 2016 20:17:19 +0000 (22:17 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 23 May 2016 12:56:11 +0000 (14:56 +0200)
Do not dereference node before the check if node is NULL.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1463602639-4861-1-git-send-email-xypron.glpk@gmx.de
drivers/gpu/drm/drm_mm.c

index 04de6fd88f8c3a7f5d503c45768582a10a71efd4..cb39f45d6a16befdc9cfac339d1703a2d9a217e5 100644 (file)
@@ -179,12 +179,14 @@ static void drm_mm_insert_helper(struct drm_mm_node *hole_node,
 int drm_mm_reserve_node(struct drm_mm *mm, struct drm_mm_node *node)
 {
        struct drm_mm_node *hole;
-       u64 end = node->start + node->size;
+       u64 end;
        u64 hole_start;
        u64 hole_end;
 
        BUG_ON(node == NULL);
 
+       end = node->start + node->size;
+
        /* Find the relevant hole to add our node to */
        drm_mm_for_each_hole(hole, mm, hole_start, hole_end) {
                if (hole_start > node->start || hole_end < end)