Patch "mtd: phram: fix a double free issue in error path" has been added to the 5.4-stable tree
Subsystems (2)
[email protected]
AppliedThis is a note to let you know that I've just added the patch titled
mtd: phram: fix a double free issue in error path
to the 5.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
mtd-phram-fix-a-double-free-issue-in-error-path.patch
and it can be found in the queue-5.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
From 49c64df880570034308e4a9a49c4bc95cf8cdb33 Mon Sep 17 00:00:00 2001
From: Wen Yang <[email protected]>
Date: Wed, 18 Mar 2020 23:31:56 +0800
Subject: mtd: phram: fix a double free issue in error path
From: Wen Yang <[email protected]>
commit 49c64df880570034308e4a9a49c4bc95cf8cdb33 upstream.
The variable 'name' is released multiple times in the error path, which may cause double free issues.
This problem is avoided by adding a goto label to release the memory uniformly. And this change also makes the code a bit more cleaner.
--- drivers/mtd/devices/phram.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-)
drivers/mtd/devices/phram.c +9 -6
@@ -243,22 +243,25 @@ static int phram_setup(const char *val) ret =parse_num64 (&start, token[1 ]);if (ret) { -kfree (name);parse_err ("illegal start address\n" ); + goto error; } ret =parse_num64 (&len, token[2 ]);if (ret) { -kfree (name);parse_err ("illegal device length\n" ); + goto error; } ret =register_device (name, start, len); -if (!ret) -pr_info ("%s device: %#llx at %#llx\n" , name, len, start); -else -kfree (name); +if (ret) + goto error; +pr_info ("%s device: %#llx at %#llx\n" , name, len, start); +return 0 ; + +error: +kfree (name);return ret; }
Patches currently in stable-queue which might be from [email protected] are
queue-5.4/mtd-phram-fix-a-double-free-issue-in-error-path.patch
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/