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.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,USER_AGENT_GIT autolearn=ham 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 87CB2C282C4 for ; Sat, 9 Feb 2019 18:49:51 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4A4FB21916 for ; Sat, 9 Feb 2019 18:49:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1549738191; bh=ZaRe8qtZ9aHUvMQzSY7TlWnOZbY3Yx9kmT3NVWM2AGU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=IU1DJ/UcQora19a3mtHyBhoJCkKCXhPxxKm+NVPZqQgK5Mnw74Jt7DDcMgW9BTtvC EoHX9ZAQSFPUdB4zcwplyX6u3wNkKiNt4MHiykj1lKT8wX5xXwxml6kEZSQnGhiETg caa2+p7l8xj7qGHWoCdWFyF/oAbGEE7G4chHpq0s= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728240AbfBIStu (ORCPT ); Sat, 9 Feb 2019 13:49:50 -0500 Received: from mail.kernel.org ([198.145.29.99]:35644 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728213AbfBIStp (ORCPT ); Sat, 9 Feb 2019 13:49:45 -0500 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 64B6F21916; Sat, 9 Feb 2019 18:49:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1549738185; bh=ZaRe8qtZ9aHUvMQzSY7TlWnOZbY3Yx9kmT3NVWM2AGU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LZxiuYDewP5ZFG/h6VZRXeV1WxdSX+/ZOqifM4enuHwDqb0637oCjHTb3YZ0SVyc0 VibUi6jZy5833DYmH1s1lF3Ww4Aku40OQofBOy647UKIaRnSsuMUjs8LlSxMZxI3EP vPiwk0xiiMuoEi3jusCZdHeeD5sz1FW5LfsVq4xY= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Nicholas Mc Guire , Linus Walleij , Sasha Levin Subject: [PATCH AUTOSEL 4.14 13/16] gpio: pl061: handle failed allocations Date: Sat, 9 Feb 2019 13:49:24 -0500 Message-Id: <20190209184927.126791-13-sashal@kernel.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190209184927.126791-1-sashal@kernel.org> References: <20190209184927.126791-1-sashal@kernel.org> MIME-Version: 1.0 X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Nicholas Mc Guire [ Upstream commit df209c43a0e8258e096fb722dfbdae4f0dd13fde ] devm_kzalloc(), devm_kstrdup() and devm_kasprintf() all can fail internal allocation and return NULL. Using any of the assigned objects without checking is not safe. As this is early in the boot phase and these allocations really should not fail, any failure here is probably an indication of a more serious issue so it makes little sense to try and rollback the previous allocated resources or try to continue; but rather the probe function is simply exited with -ENOMEM. Signed-off-by: Nicholas Mc Guire Fixes: 684284b64aae ("ARM: integrator: add MMCI device to IM-PD1") Signed-off-by: Linus Walleij Signed-off-by: Sasha Levin --- arch/arm/mach-integrator/impd1.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-integrator/impd1.c b/arch/arm/mach-integrator/impd1.c index a109f6482413..0f916c245a2e 100644 --- a/arch/arm/mach-integrator/impd1.c +++ b/arch/arm/mach-integrator/impd1.c @@ -393,7 +393,11 @@ static int __ref impd1_probe(struct lm_device *dev) sizeof(*lookup) + 3 * sizeof(struct gpiod_lookup), GFP_KERNEL); chipname = devm_kstrdup(&dev->dev, devname, GFP_KERNEL); - mmciname = kasprintf(GFP_KERNEL, "lm%x:00700", dev->id); + mmciname = devm_kasprintf(&dev->dev, GFP_KERNEL, + "lm%x:00700", dev->id); + if (!lookup || !chipname || !mmciname) + return -ENOMEM; + lookup->dev_id = mmciname; /* * Offsets on GPIO block 1: -- 2.19.1