From patchwork Wed Jan 11 20:45:21 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SF Markus Elfring X-Patchwork-Id: 713985 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2001:1868:205::9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3tzLfH2Wgmz9t15 for ; Thu, 12 Jan 2017 07:51:35 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1cRPrp-0008RQ-QX; Wed, 11 Jan 2017 20:51:33 +0000 Received: from mout.web.de ([217.72.192.78]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1cRPrl-0008Mx-Ii for linux-mtd@lists.infradead.org; Wed, 11 Jan 2017 20:51:31 +0000 Received: from [192.168.1.2] ([77.182.217.53]) by smtp.web.de (mrweb101 [213.165.67.124]) with ESMTPSA (Nemesis) id 0MQvsg-1c1fPZ3zZO-00UNee; Wed, 11 Jan 2017 21:45:24 +0100 Subject: [PATCH 10/18] mtd-cfi_cmdset_0002: One function call less in cfi_amdstd_setup() after error detection To: linux-mtd@lists.infradead.org, Boris Brezillon , Brian Norris , Cyrille Pitchen , David Woodhouse , Denys Vlasenko , Marek Vasut , Richard Weinberger References: <71189baa-8780-b80a-0b4d-9dae74763ba3@users.sourceforge.net> From: SF Markus Elfring Message-ID: <46aa5810-8f5d-b35e-17a5-137228cb9720@users.sourceforge.net> Date: Wed, 11 Jan 2017 21:45:21 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0 MIME-Version: 1.0 In-Reply-To: <71189baa-8780-b80a-0b4d-9dae74763ba3@users.sourceforge.net> X-Provags-ID: V03:K0:fFQl+4m1a/hw4qZtvQlvCVyy6nRwRAoNf/iUVDSsSJaTwDO5efY RCjbCZpOUl34ySulrGnRIKSEXyvOo29Rmaj/2pu8qBBHRq9IcQjhti0gUH7FAXT5PGQUqOd DwpH9nSZ2kfME7Xbenj6W9/SMkx5tdBtFo5Nm5a63xm9YCWDFXqSBGWyhtU8t4NbR1Y5lCg F2N2VesptebG/EpJyffhA== X-UI-Out-Filterresults: notjunk:1; V01:K0:OXrqTjdAhPw=:hpG8a2JaA8tfjzwTASIBpf wFnnm7/gVBTbB4dgfav8NUJlcKQjSCcWy24/gwpzqWo3DM9oEjIbqQ36geDGj+YnmbezOOF+6 5XypXlwK3aQ94MB54Z6lsXCTbOausLcpJNi1G+9OyH5HHT+h7asCowLC/WVurK++SNe+Nxm9P BbLLKJhvabsXf7W4PjmuvE7BKqAesA4ZrhDTpgp0LHFn9619Vze9RHdtG5gz/JDrgusm7k6Nv Y4VNg4V9ypgNrrwBo2DA8UwQv0/8+h5St/MfufDwy74+iFKKweHc7ngSAZuEYPeJcexMMa8hj lZEoPUv6FhA+2Pd3GorsNqWFqvs/6FXu6HOR4bwQGNFMF7cKcSrJxCF4ELBLgV9+CAs/oUye4 XvuxXUTFjQXY3mtNwFEo9lfmR/fOb6D/UrsnpDAVjwXcnM2ePmjqRCiUcbVth0bSgOEDCYP6S 88K1wKuyEYeJajgNfmT3PEFMMaXIev9YR0R3Re8M19q8/QvZeS4RzV6QtQ27ckx1jmnZTXl+D UOQHN9Dbkj7duziNJ3X5gZm2Vft5M8MjUxDNO0ULhuMhPDTYAsvFTvntFsVBgIHh8UefDZ2yF gdsB7snzEhUC41vdLmd3fZDJH9EnO1EezQxXQAgy0zKTEqvFbYrqtDjYhxd98mXPUTdncSIqB ndbyEaneaPKNqX7NZVAlamz/vI5GmG1RxNxiyAzsp+xS5vQkirCDoYIEkOJpLDsDPJ4WVail2 4Ony1UgGg0NawCe75s3t0UKkLoMzHdygpYB++QXYHcA4f0xY79U3KmNn7W6BEnP950zQvEmQE 7qVH6XC X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170111_125129_950861_CA44ED07 X-CRM114-Status: UNSURE ( 9.65 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -3.8 (---) X-Spam-Report: SpamAssassin version 3.4.1 on bombadil.infradead.org summary: Content analysis details: (-3.8 points) pts rule name description ---- ---------------------- -------------------------------------------------- -1.2 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [217.72.192.78 listed in wl.mailspike.net] -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [217.72.192.78 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kernel-janitors@vger.kernel.org, LKML Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org From: Markus Elfring Date: Wed, 11 Jan 2017 18:32:06 +0100 The kfree() function was called in one case by the cfi_amdstd_setup() function during error handling even if the passed data structure member contained a null pointer. Adjust a jump target according to the Linux coding style convention so that memory will be also released for members of a data structure before the container "mtd" in the error handling case. Signed-off-by: Markus Elfring --- drivers/mtd/chips/cfi_cmdset_0002.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c index 3bed67e35692..25d485f6d2ff 100644 --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c @@ -692,7 +692,7 @@ static struct mtd_info *cfi_amdstd_setup(struct mtd_info *mtd) sizeof(*mtd->eraseregions), GFP_KERNEL); if (!mtd->eraseregions) - goto setup_err; + goto free_priv; for (i=0; icfiq->NumEraseRegions; i++) { unsigned long ernum, ersize; @@ -721,9 +721,10 @@ static struct mtd_info *cfi_amdstd_setup(struct mtd_info *mtd) setup_err: kfree(mtd->eraseregions); - kfree(mtd); +free_priv: kfree(cfi->cmdset_priv); kfree(cfi->cfiq); + kfree(mtd); return NULL; }