Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp1306171pxj; Sat, 8 May 2021 13:31:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyPpxI2QV69sPtU5gcbjWI1sEDw+jbXeTptCZmXj37FRBiF+clvNSeSAOkLWtDUV+ChK/Yv X-Received: by 2002:a05:6402:34c7:: with SMTP id w7mr19994617edc.42.1620505877838; Sat, 08 May 2021 13:31:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620505877; cv=none; d=google.com; s=arc-20160816; b=KoLxzK4IxD/OP7zPwEZRSqPr8TIlf2dlRtI66x8xWRktC5ZmRnqG6GF9RBM9VgTMNn hHwRau5KVBzuB79D5T7AjjX6XAVbVFDZoNvkR1+U4edRDlmG/1ouB68nCEKtjZvzIWeW 1Yy+qyOEKM+mpyvxAH/4bjSKS0p/0zpmyDHSd1R/2Hi6CwZvhnbbl3EUzrMdQVbiNqk/ WtWpl+l/sopKpq3wIUGBFRrMiW611DE+QQg0Ttti3TsTyob/OedeJX6QNwqxaccDiO7q BWL17ePGa0aS1iB3bAc0iFBGYTZ1GLSTpsHac6LmxhvQZzemIP6SPEetGCxlt/RBfr9X Q/tQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=sXQCUz7+V2KQpXnuxIuqBdUZPwuqk6QmSJu0DKN88cs=; b=L/xbzmJfteTVM6zOpu5J30dDMULd3QP1732gT4UemiRQrVAS/ujFRp0QNffs/3l+cw ilTaQtzqf57pH8XxzxGjzYeQ3yTMRACYM9aeqtkp7LjKEpS03HCMz/rOa4QBXh1GjNjm uN4wdxkEzlps93oapaDVJWA1ogMr24pleX9SL+3u4rknx7r4EF1DCdPqOy4iMST2KKX0 k4o4Rhc1oeuwkeCKEWvsKcFap/bYckK3BWcM5uZ0ZKkXOLu7kZCEIoZI34vScfFCrUBU HpsUU/vg9gAQ2vzgM/CSJOag2op1deDKy4vpdnyrBSuJsPISDZhlejO3UGLuovy5vVo1 vNKg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g27si9182778ejc.484.2021.05.08.13.30.54; Sat, 08 May 2021 13:31:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229649AbhEHUYk (ORCPT + 99 others); Sat, 8 May 2021 16:24:40 -0400 Received: from smtp07.smtpout.orange.fr ([80.12.242.129]:30750 "EHLO smtp.smtpout.orange.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229523AbhEHUYj (ORCPT ); Sat, 8 May 2021 16:24:39 -0400 Received: from localhost.localdomain ([86.243.172.93]) by mwinf5d65 with ME id 2LPa2500521Fzsu03LPaNR; Sat, 08 May 2021 22:23:36 +0200 X-ME-Helo: localhost.localdomain X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Sat, 08 May 2021 22:23:36 +0200 X-ME-IP: 86.243.172.93 From: Christophe JAILLET To: krzysztof.h1@wp.pl, akpm@linux-foundation.org, imre.deak@nokia.com, juha.yrjola@solidboot.com Cc: linux-fbdev@vger.kernel.org, linux-omap@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET Subject: [PATCH] video: fbdev: lcd_mipid: Fix a memory leak in an error handling path Date: Sat, 8 May 2021 22:23:33 +0200 Message-Id: <8b82e34724755b69f34f15dddb288cd373080390.1620505229.git.christophe.jaillet@wanadoo.fr> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If 'mipid_detect()' fails, we must free 'md' to avoid a memory leak. While at it, modernize the function: - remove a useless message in case of memory allocation failure - change a '== NULL' into a '!' Fixes: 66d2f99d0bb5 ("omapfb: add support for MIPI-DCS compatible LCDs") Signed-off-by: Christophe JAILLET --- drivers/video/fbdev/omap/lcd_mipid.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/video/fbdev/omap/lcd_mipid.c b/drivers/video/fbdev/omap/lcd_mipid.c index a75ae0c9b14c..b4b93ff4b41a 100644 --- a/drivers/video/fbdev/omap/lcd_mipid.c +++ b/drivers/video/fbdev/omap/lcd_mipid.c @@ -551,10 +551,8 @@ static int mipid_spi_probe(struct spi_device *spi) int r; md = kzalloc(sizeof(*md), GFP_KERNEL); - if (md == NULL) { - dev_err(&spi->dev, "out of memory\n"); + if (!md) return -ENOMEM; - } spi->mode = SPI_MODE_0; md->spi = spi; @@ -563,11 +561,15 @@ static int mipid_spi_probe(struct spi_device *spi) r = mipid_detect(md); if (r < 0) - return r; + goto free_md; omapfb_register_panel(&md->panel); return 0; + +free_md: + kfree(md); + return r; } static int mipid_spi_remove(struct spi_device *spi) -- 2.30.2