From patchwork Wed Nov 28 10:10:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 10702251 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1172217D5 for ; Wed, 28 Nov 2018 10:10:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id ED3522CF61 for ; Wed, 28 Nov 2018 10:10:45 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E15D92CF8B; Wed, 28 Nov 2018 10:10:45 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 861F62CF61 for ; Wed, 28 Nov 2018 10:10:45 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4E09789152; Wed, 28 Nov 2018 10:10:43 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-ed1-x544.google.com (mail-ed1-x544.google.com [IPv6:2a00:1450:4864:20::544]) by gabe.freedesktop.org (Postfix) with ESMTPS id DA66089152 for ; Wed, 28 Nov 2018 10:10:40 +0000 (UTC) Received: by mail-ed1-x544.google.com with SMTP id o10so21529951edt.13 for ; Wed, 28 Nov 2018 02:10:40 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=GU8xkiIuPWKogREAQGHpNtCXeREua2ubYUF8uTYX4Uw=; b=PBlPJroIBIbRY/0jUKM4Rf8AWmu0PDJ5v+ERFXpLTocjcLXbGyzR0Ks51J4W3UQvcf pw6Pe3OAHQ4H7zlK3pSy376eN9EtUHbpUsOJYRG5dvhgQYkONIdD2kONUbVg+56YAB7X PjgFNIuWyndTCSyQKmvKiic+wzRtQsiKhsKXkmKuDP9crQ93+pr349wMBPiAuW3El3Ib gWupkSRK0ZTZkbmWdSmGfaFxZhAWFux6r27+c18cZo8YGiM0AX6fqO6SAivWYVYyQD5p rWqsJ34Vq9Bm5asJANozEXaNzwlFGPw9cGuv0eq4PM+6vPoBpJEZbgYzsqWgu77cZGbI v7nQ== X-Gm-Message-State: AGRZ1gJyEOKJso/8MgsUe4p32IdJJZzzhT8Ecirf9ZPcBvemg3COZrWO YspN5JpxWFw8ETWcsT9nouWJqkrejog= X-Google-Smtp-Source: AJdET5d6VZ1474Rls8MBj6qqguL6GYAUW2CKM8AGmGspyc+vIqDHhf5PXs4QlLFB51f+5fjfWO4B0g== X-Received: by 2002:a17:906:753:: with SMTP id z19-v6mr26100638ejb.175.1543399839275; Wed, 28 Nov 2018 02:10:39 -0800 (PST) Received: from phenom.ffwll.local ([2a02:168:569e:0:3106:d637:d723:e855]) by smtp.gmail.com with ESMTPSA id b11-v6sm1006111ejd.16.2018.11.28.02.10.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 28 Nov 2018 02:10:38 -0800 (PST) From: Daniel Vetter To: DRI Development Subject: [PATCH] drm/vkms: Fix plane duplicate_state Date: Wed, 28 Nov 2018 11:10:33 +0100 Message-Id: <20181128101033.4840-1-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Haneen Mohammed , Rodrigo Siqueira , Daniel Vetter , Gustavo Padovan , Sean Paul , Daniel Vetter Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP We need to handle allocation failures and bail out. While at it, tune the allocation failures down to debug level. syzbot injected an allocation failure and then hit this WARN_ON. Reported-by: syzbot+eb6e5365f23c02517dda@syzkaller.appspotmail.com Signed-off-by: Daniel Vetter Cc: Haneen Mohammed Cc: Sean Paul Cc: Daniel Vetter Cc: Rodrigo Siqueira Cc: Gustavo Padovan --- drivers/gpu/drm/vkms/vkms_plane.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/vkms/vkms_plane.c b/drivers/gpu/drm/vkms/vkms_plane.c index 7041007396ae..e3bcea4b4891 100644 --- a/drivers/gpu/drm/vkms/vkms_plane.c +++ b/drivers/gpu/drm/vkms/vkms_plane.c @@ -23,8 +23,11 @@ vkms_plane_duplicate_state(struct drm_plane *plane) return NULL; crc_data = kzalloc(sizeof(*crc_data), GFP_KERNEL); - if (WARN_ON(!crc_data)) - DRM_INFO("Couldn't allocate crc_data"); + if (!crc_data) { + DRM_DEBUG_KMS("Couldn't allocate crc_data\n"); + kfree(vkms_state); + return NULL; + } vkms_state->crc_data = crc_data;