From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D1EA0C76186 for ; Mon, 29 Jul 2019 20:03:34 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9F2DE2064C for ; Mon, 29 Jul 2019 20:03:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1564430614; bh=VXt4mxRZygTiPKRvtfmFm5ZTuq8VmnsWphZV2ka10o0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=ZO3qrLgmeuy3vUAr5yGuBu1glRGUAMgEfc8xjhqMHH+zS4ZMt9H9V5bozieYfddq7 FDUBjPlKaLhsb0Ll/yyn3K2ZlDrgflYf9dexfw6Ob50Re7ToltlvAgaGQ7BE+7DIHH vHvzU18ztus+thDnoP3chAgBpnflFwfI7oTCnz5o= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389708AbfG2Tqw (ORCPT ); Mon, 29 Jul 2019 15:46:52 -0400 Received: from mail.kernel.org ([198.145.29.99]:36288 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389700AbfG2Tqv (ORCPT ); Mon, 29 Jul 2019 15:46:51 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id CBCFE21655; Mon, 29 Jul 2019 19:46:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1564429610; bh=VXt4mxRZygTiPKRvtfmFm5ZTuq8VmnsWphZV2ka10o0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ibfHCSJCkUNSFUI9yo460Cv9yfO4fewJ3AD9a6T/XOXP6tVmmaklyFQ/5piSTXORc XlLJB1K/2SHpMi0vjDbkE7eA/wP8cXH593MUiMnyHui5SWxsVw5fzeD9mkCB6DExS8 1nCsgBUmSbgeVYDwaRSGZYujBtUjyP3pvPyY5j/A= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Gen Zhang , Jani Nikula , Sasha Levin Subject: [PATCH 5.2 031/215] drm/edid: Fix a missing-check bug in drm_load_edid_firmware() Date: Mon, 29 Jul 2019 21:20:27 +0200 Message-Id: <20190729190745.556351742@linuxfoundation.org> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190729190739.971253303@linuxfoundation.org> References: <20190729190739.971253303@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org [ Upstream commit 9f1f1a2dab38d4ce87a13565cf4dc1b73bef3a5f ] In drm_load_edid_firmware(), fwstr is allocated by kstrdup(). And fwstr is dereferenced in the following codes. However, memory allocation functions such as kstrdup() may fail and returns NULL. Dereferencing this null pointer may cause the kernel go wrong. Thus we should check this kstrdup() operation. Further, if kstrdup() returns NULL, we should return ERR_PTR(-ENOMEM) to the caller site. Signed-off-by: Gen Zhang Reviewed-by: Jani Nikula Signed-off-by: Jani Nikula Link: https://patchwork.freedesktop.org/patch/msgid/20190524023222.GA5302@zhanggen-UX430UQ Signed-off-by: Sasha Levin --- drivers/gpu/drm/drm_edid_load.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/drm_edid_load.c b/drivers/gpu/drm/drm_edid_load.c index 1e5593575d23..6192b7b20d84 100644 --- a/drivers/gpu/drm/drm_edid_load.c +++ b/drivers/gpu/drm/drm_edid_load.c @@ -278,6 +278,8 @@ struct edid *drm_load_edid_firmware(struct drm_connector *connector) * the last one found one as a fallback. */ fwstr = kstrdup(edid_firmware, GFP_KERNEL); + if (!fwstr) + return ERR_PTR(-ENOMEM); edidstr = fwstr; while ((edidname = strsep(&edidstr, ","))) { -- 2.20.1