Re: [PATCH] mmc: block: fix free of uninitialized 'idata->buf'

From: Ulf Hansson
Date: Tue Jul 12 2016 - 06:07:43 EST


+ stable

On 8 July 2016 at 17:27, Ville Viinikka <ville@xxxxxxxxxx> wrote:
> Set 'idata->buf' to NULL so that it never gets returned without
> initialization. This fixes a bug where mmc_blk_ioctl_cmd() would
> free both 'idata' and 'idata->buf' but 'idata->buf' was returned
> uninitialized.
>
> Fixes: 1ff8950c0433 ("mmc: block: change to use kmalloc when copy data from userspace")
> Signed-off-by: Ville Viinikka <ville@xxxxxxxxxx>

I added a stable tag to this and applied it for next!

Thanks and kind regards!
Uffe

> ---
> drivers/mmc/card/block.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
> index 747c4b0..334d637 100644
> --- a/drivers/mmc/card/block.c
> +++ b/drivers/mmc/card/block.c
> @@ -355,8 +355,10 @@ static struct mmc_blk_ioc_data *mmc_blk_ioctl_copy_from_user(
> goto idata_err;
> }
>
> - if (!idata->buf_bytes)
> + if (!idata->buf_bytes) {
> + idata->buf = NULL;
> return idata;
> + }
>
> idata->buf = kmalloc(idata->buf_bytes, GFP_KERNEL);
> if (!idata->buf) {
> --
> 2.1.4
>