Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp1866232img; Sat, 23 Mar 2019 14:44:50 -0700 (PDT) X-Google-Smtp-Source: APXvYqzO/3x49+Ohv3hq6f08Ln8RbfEF8ULxR/PGFLvCSfulfjJsaEoIoVqMEIi9lGLEC9Ch0qN7 X-Received: by 2002:aa7:90c7:: with SMTP id k7mr16211144pfk.186.1553377490369; Sat, 23 Mar 2019 14:44:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553377490; cv=none; d=google.com; s=arc-20160816; b=xNEEfYP+IG2sq5Sk0Kzj2JtfgYu5qBFLwQ+qcgjtkyzUmQZya6BTTRUJJywGMf3My/ 1fPLq+RtTKiDAYMvihkRl8UjDwAZ2rBt/fDDMWuJXrqY26KhxYEQGmuP1JMqP5OBN7NZ xbwR2uG03c/ELp67M/YT6WoqIT3xmmUnjeVeFqZS4ze8euSrmnb1MaWgnGSuu6JZ8qIg oICv6NHIOPpQ0UK/4goIjRwJogKRyIftX5bCQ0KZ/ztV1cXZaGqRW5ymtSMfnjY9eqfe 5q3YvzF5jfMkbyW5CkDX65V41LvCJ3sZYasOBwAAdoDqDjswqziHacTCJbTqb9HmoNuF 38pg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=d39Cd4pxUKExwK0flasQCF8IpmEJ1bpJz5uElGN2CJI=; b=fJrqygB8iT0UbiiQSIPFyASPM7sR06xtLdKB3EYlNh2XY0FYWW+S5S5YJ1unyXucxN +P1RpOrjbYdA9AydeBYP+MZ8S5neCMRWsruBVxXFwW1YxTIjpem7ohTMCKpRWSOdKeEj sjaj1cESmwZe1qI3xE8TWwnzwlx5X9P01oVmFsFAqV6IcLOO07qY8PuO4K9Wp+ezvKFv fyACTSI8Q3mLLN8BdxeNrfYGwRWNqbApQQTXiNQmLZi/M2fYP2P953EvtrNjJDV4jayt KdpsTuNDnn3fNPZsrgBnLXrQ2HUw3alif6cNCm8APmw2EnpF7pwiDDGwHemz+hv8rfpy YSjQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@umn.edu header.s=google header.b=DrUV0JXL; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=umn.edu Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 1si10633242plj.313.2019.03.23.14.44.01; Sat, 23 Mar 2019 14:44:50 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@umn.edu header.s=google header.b=DrUV0JXL; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=umn.edu Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728080AbfCWVmZ (ORCPT + 99 others); Sat, 23 Mar 2019 17:42:25 -0400 Received: from mta-p7.oit.umn.edu ([134.84.196.207]:49818 "EHLO mta-p7.oit.umn.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727443AbfCWVmY (ORCPT ); Sat, 23 Mar 2019 17:42:24 -0400 Received: from localhost (unknown [127.0.0.1]) by mta-p7.oit.umn.edu (Postfix) with ESMTP id 36532D1E for ; Sat, 23 Mar 2019 21:42:23 +0000 (UTC) X-Virus-Scanned: amavisd-new at umn.edu Received: from mta-p7.oit.umn.edu ([127.0.0.1]) by localhost (mta-p7.oit.umn.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bMWoVAnPoJLC for ; Sat, 23 Mar 2019 16:42:23 -0500 (CDT) Received: from mail-it1-f199.google.com (mail-it1-f199.google.com [209.85.166.199]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mta-p7.oit.umn.edu (Postfix) with ESMTPS id 081C0D39 for ; Sat, 23 Mar 2019 16:42:23 -0500 (CDT) Received: by mail-it1-f199.google.com with SMTP id j127so5283700itj.7 for ; Sat, 23 Mar 2019 14:42:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=umn.edu; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=d39Cd4pxUKExwK0flasQCF8IpmEJ1bpJz5uElGN2CJI=; b=DrUV0JXLB7MqOZZgQm8fWCOjeq9dGINXRgPqOhC514CrXyXIFMRt2K18v+7TKGJZ+0 SuSW7e42X4dYce7e/bJO7xHfQkTP2Wrp/FmyVMnmmzsMcZJKjWi+0bImjoM3XOLFeAl0 MHawuG9/J1PxsR4ZmhWyrWDXnfiy5Ry3c761X+99mWBBEevIZO3jMQNMHhQFBOmMchJs skKrp5a0N/GUJiNd6ro044Jd5x+Dn3YWIC00438n2ogugzWXdy0952XZWYbojBvgkIPJ c8cUap8b33Z/Ak60q0og+PIdJ3J1HC45xTsdBYMNgYKIHKYumQGh5yzgBG9YQSLnQTd8 vaDg== 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:in-reply-to :references; bh=d39Cd4pxUKExwK0flasQCF8IpmEJ1bpJz5uElGN2CJI=; b=dbyXc2mMs+Ji05bv1IjSPtwzsuvuiuSKQBLTohJPalep9hO0iaVEBf2VOQyD8xN0P5 03O+P5+wqw924nb+p0FGMH9BSS6yrvHm723Px6NwGccea2tmUQ3XCT+H4HtEHKYSy5qw wo+1++uWUSZajV1E3lrlf8eKyB0K1R1zA+3FLHZ6kChRzwUR+hN+sU9PkKc7wUJiGusK dFu20GOE0wsAuqUt6Mpgop1pRhTzbBjbMuVpX5TO9s0mP9/vC7TaRqeSWasmdXKGai6o poFQRdyVNcuTqtR4mUJdkZ385xdOkp0DzMvp8/kT+xiYSac9qUGa3vQKL86OBLZXkJJM ePlQ== X-Gm-Message-State: APjAAAX7FhFnp2bILXfolJmcBf2tqf+z/yrsZ88Hp4ampyjxX9770Opl 7nmpyjYKK76jPMC9NHkkI8E5dhDO362n69YLBQyeYdFZ+HKln0ESHtqIfGC1txVRz80rlKPGBlF zmJLfLakTnv6imLm+/3VHco3PnsD0 X-Received: by 2002:a6b:9045:: with SMTP id s66mr11390103iod.285.1553377342232; Sat, 23 Mar 2019 14:42:22 -0700 (PDT) X-Received: by 2002:a6b:9045:: with SMTP id s66mr11390092iod.285.1553377341996; Sat, 23 Mar 2019 14:42:21 -0700 (PDT) Received: from bee.dtc.umn.edu (cs-bee-u.cs.umn.edu. [128.101.106.63]) by smtp.gmail.com with ESMTPSA id q133sm3502382itb.19.2019.03.23.14.42.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 23 Mar 2019 14:42:21 -0700 (PDT) From: Kangjie Lu To: kjlu@umn.edu Cc: pakki001@umn.edu, Rodrigo Siqueira , Haneen Mohammed , Daniel Vetter , David Airlie , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH v2] drm: vkms: check status of alloc_ordered_workqueue Date: Sat, 23 Mar 2019 16:42:16 -0500 Message-Id: <20190323214216.10824-1-kjlu@umn.edu> X-Mailer: git-send-email 2.17.1 In-Reply-To: <955fbabe-e5f2-cfff-8dfd-1730243b0fff@codeaurora.org> References: <955fbabe-e5f2-cfff-8dfd-1730243b0fff@codeaurora.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org alloc_ordered_workqueue may fail and return NULL. The fix cleans up drm plans and returns ENOMEM when it fails to avoid potential NULL pointer dereference. Signed-off-by: Kangjie Lu --- V2: clean up resources --- drivers/gpu/drm/vkms/vkms_crtc.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/gpu/drm/vkms/vkms_crtc.c b/drivers/gpu/drm/vkms/vkms_crtc.c index 8a9aeb0a9ea8..018b52dd953a 100644 --- a/drivers/gpu/drm/vkms/vkms_crtc.c +++ b/drivers/gpu/drm/vkms/vkms_crtc.c @@ -219,6 +219,17 @@ int vkms_crtc_init(struct drm_device *dev, struct drm_crtc *crtc, spin_lock_init(&vkms_out->state_lock); vkms_out->crc_workq = alloc_ordered_workqueue("vkms_crc_workq", 0); + if (!vkms_out->crc_workq) { + ret = -ENOMEM; + goto cleanup; + } + + return ret; +cleanup: + if (!IS_ERR_OR_NULL(cursor)) + drm_plane_cleanup(cursor); + if (!IS_ERR(primary)) + drm_plane_cleanup(primary); return ret; } -- 2.17.1