All of lore.kernel.org
 help / color / mirror / Atom feed
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Sean Young <sean@mess.org>
Cc: linux-mtd@lists.infradead.org
Subject: Re: [PATCH 4/4] mtd: rfd_ftl: fix use-after-free
Date: Fri, 6 Aug 2021 20:21:58 +0200	[thread overview]
Message-ID: <20210806202158.5aa6ee26@xps13> (raw)
In-Reply-To: <29e817be984471dc2438a9414a9a7e1768d62950.1626169090.git.sean@mess.org>

Hi Sean,

Sean Young <sean@mess.org> wrote on Tue, 13 Jul 2021 10:44:03 +0100:

> del_mtd_blktrans_dev() will kfree part, so this is a use-after-free. Use
> container_of() to make it clearer what the cast is doing.
> 
> Signed-off-by: Sean Young <sean@mess.org>
> ---
>  drivers/mtd/rfd_ftl.c | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/mtd/rfd_ftl.c b/drivers/mtd/rfd_ftl.c
> index 7f5f6d247cae..af20a0a71108 100644
> --- a/drivers/mtd/rfd_ftl.c
> +++ b/drivers/mtd/rfd_ftl.c

[...]

> @@ -800,10 +800,10 @@ static void rfd_ftl_remove_dev(struct
mtd_blktrans_dev *dev)
>  			part->mbd.mtd->name, i, part->blocks[i].erases);
>  	}
>  
> -	del_mtd_blktrans_dev(dev);
>  	vfree(part->sector_map);
>  	kfree(part->header_cache);
>  	kfree(part->blocks);
> +	del_mtd_blktrans_dev(&part->mbd);

I am not sure moving this call at the bottom of ftl_remove_dev makes
sense, can we keep it where it was and just do the s/dev/part->mbd/ ?

>  }
>  
>  static struct mtd_blktrans_ops rfd_ftl_tr = {

Thanks,
Miquèl

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

  reply	other threads:[~2021-08-06 18:22 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-13  9:43 [PATCH 0/4] Fix various issues with RFD and FTLs Sean Young
2021-07-13  9:44 ` [PATCH 1/4] mtd: rfd_ftl: allow use of MTD_RAM for testing purposes Sean Young
2021-08-06 18:16   ` Miquel Raynal
2021-08-07  7:53     ` Sean Young
2021-07-13  9:44 ` [PATCH 2/4] mtd: rfd_ftl: add discard support Sean Young
2021-08-06 18:18   ` Miquel Raynal
2021-08-07  8:06     ` Sean Young
2021-08-07 10:35       ` Miquel Raynal
2021-07-13  9:44 ` [PATCH 3/4] mtd: blk_devs: make discard work on FTLs Sean Young
2021-07-13  9:44 ` [PATCH 4/4] mtd: rfd_ftl: fix use-after-free Sean Young
2021-08-06 18:21   ` Miquel Raynal [this message]
2021-08-07  7:57     ` Sean Young
2021-08-07 10:34       ` Miquel Raynal
2021-08-07 21:33         ` Sean Young
2021-07-24 10:27 ` [PATCH 0/4] Fix various issues with RFD and FTLs Sean Young

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=20210806202158.5aa6ee26@xps13 \
    --to=miquel.raynal@bootlin.com \
    --cc=linux-mtd@lists.infradead.org \
    --cc=sean@mess.org \
    /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.