Message ID | 7d809e5f-32e1-4438-9cc6-3167f27dd239@stanley.mountain (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [next] mtd: rawnand: fix double free in atmel_pmecc_create_user() | expand |
Hi Dan, dan.carpenter@linaro.org wrote on Wed, 23 Oct 2024 11:40:56 +0300: > The "user" pointer was converted from being allocated with kzalloc() to > being allocated by devm_kzalloc(). Calling kfree(user) will lead to a > double free. > > Fixes: 6d734f1bfc33 ("mtd: rawnand: atmel: Fix possible memory leak") Hm, I missed it. Thanks for the fix! Thanks, Miquèl
diff --git a/drivers/mtd/nand/raw/atmel/pmecc.c b/drivers/mtd/nand/raw/atmel/pmecc.c index a22aab4ed4e8..3c7dee1be21d 100644 --- a/drivers/mtd/nand/raw/atmel/pmecc.c +++ b/drivers/mtd/nand/raw/atmel/pmecc.c @@ -380,10 +380,8 @@ atmel_pmecc_create_user(struct atmel_pmecc *pmecc, user->delta = user->dmu + req->ecc.strength + 1; gf_tables = atmel_pmecc_get_gf_tables(req); - if (IS_ERR(gf_tables)) { - kfree(user); + if (IS_ERR(gf_tables)) return ERR_CAST(gf_tables); - } user->gf_tables = gf_tables;
The "user" pointer was converted from being allocated with kzalloc() to being allocated by devm_kzalloc(). Calling kfree(user) will lead to a double free. Fixes: 6d734f1bfc33 ("mtd: rawnand: atmel: Fix possible memory leak") Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> --- drivers/mtd/nand/raw/atmel/pmecc.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)