All of lore.kernel.org
 help / color / mirror / Atom feed
From: Brian Norris <computersforpeace@gmail.com>
To: Luis Henriques <henrix@camandro.org>
Cc: David Woodhouse <dwmw2@infradead.org>,
	Boris Brezillon <boris.brezillon@free-electrons.com>,
	Marek Vasut <marek.vasut@gmail.com>,
	Richard Weinberger <richard@nod.at>,
	Cyrille Pitchen <cyrille.pitchen@atmel.com>,
	linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] mtd: maps: add missing iounmap() in error path
Date: Tue, 22 Nov 2016 11:21:24 -0800	[thread overview]
Message-ID: <20161122192124.GF77253@google.com> (raw)
In-Reply-To: <20161116225016.29958-1-henrix@camandro.org>

On Wed, Nov 16, 2016 at 10:50:16PM +0000, Luis Henriques wrote:
> This patch was triggered by the following Coccinelle error:
> 
> ./drivers/mtd/maps/sc520cdp.c:246:3-9: \
> 	ERROR: missing iounmap; ioremap on line 242 \
> 	and execution via conditional on line 244
> 
> Signed-off-by: Luis Henriques <henrix@camandro.org>
> ---
>  drivers/mtd/maps/sc520cdp.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/mtd/maps/sc520cdp.c b/drivers/mtd/maps/sc520cdp.c
> index 093edd51bdc7..7a27ed345d0d 100644
> --- a/drivers/mtd/maps/sc520cdp.c
> +++ b/drivers/mtd/maps/sc520cdp.c
> @@ -243,6 +243,10 @@ static int __init init_sc520cdp(void)
>  
>  		if (!sc520cdp_map[i].virt) {
>  			printk("Failed to ioremap_nocache\n");
> +			if (i) {
> +				while (--i)

Umm, so you never unmap from sc520cdp_map[0].virt? How about:

				while (--i >= 0)

?

You can also skip the 'if (i)' part in that case. Or maybe make it a for
loop, to be even clearer.

> +					iounmap(sc520cdp_map[i].virt);

This may often be a double-iounmap. If you take a look later in the
loop, many instances of the loop may not find a device, and so they'll
unmap this memory and move on. You're just doing it a second time for
them.

> +			}
>  			return -EIO;
>  		}
>  

Please put some more care into your patch, since I very much expect that
you did not test it.

Brian

  parent reply	other threads:[~2016-11-22 19:21 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-16 22:50 [PATCH] mtd: maps: add missing iounmap() in error path Luis Henriques
2016-11-20 21:13 ` Marek Vasut
2016-11-22 19:21 ` Brian Norris [this message]
2016-11-23 15:22   ` Luis Henriques
2016-11-23 23:40   ` [PATCH v2] " Luis Henriques
2016-11-25 14:18     ` Marek Vasut
2016-12-01  2:32       ` Brian Norris

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161122192124.GF77253@google.com \
    --to=computersforpeace@gmail.com \
    --cc=boris.brezillon@free-electrons.com \
    --cc=cyrille.pitchen@atmel.com \
    --cc=dwmw2@infradead.org \
    --cc=henrix@camandro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=marek.vasut@gmail.com \
    --cc=richard@nod.at \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.