From 62b7f5931c54e96fca56dd8761b0e466d355c881 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Thu, 18 Feb 2021 18:04:33 +0100 Subject: bcm27xx: import latest patches from the RPi foundation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit bcm2708: boot tested on RPi B+ v1.2 bcm2709: boot tested on RPi 3B v1.2 and RPi 4B v1.1 4G bcm2710: boot tested on RPi 3B v1.2 bcm2711: boot tested on RPi 4B v1.1 4G Signed-off-by: Álvaro Fernández Rojas (cherry-picked from commit f07e572f64) --- ...0-0774-w1_therm-Free-the-correct-variable.patch | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 target/linux/bcm27xx/patches-5.4/950-0774-w1_therm-Free-the-correct-variable.patch (limited to 'target/linux/bcm27xx/patches-5.4/950-0774-w1_therm-Free-the-correct-variable.patch') diff --git a/target/linux/bcm27xx/patches-5.4/950-0774-w1_therm-Free-the-correct-variable.patch b/target/linux/bcm27xx/patches-5.4/950-0774-w1_therm-Free-the-correct-variable.patch new file mode 100644 index 0000000000..fede4120ba --- /dev/null +++ b/target/linux/bcm27xx/patches-5.4/950-0774-w1_therm-Free-the-correct-variable.patch @@ -0,0 +1,41 @@ +From 039babe99fda6eb04a77ca29cacf98efd1a5f406 Mon Sep 17 00:00:00 2001 +From: Dan Carpenter +Date: Wed, 20 May 2020 15:00:19 +0300 +Subject: [PATCH] w1_therm: Free the correct variable + +commit e420637b81f78d0fbacf539bdb1b341eba602aea upstream. + +The problem is that we change "p_args" to point to the middle of the +string so when we free it at the end of the function it's not freeing +the same pointer that we originally allocated. + +Fixes: e2c94d6f5720 ("w1_therm: adding alarm sysfs entry") +Signed-off-by: Dan Carpenter +Link: https://lore.kernel.org/r/20200520120019.GA172354@mwanda +Signed-off-by: Greg Kroah-Hartman +--- + drivers/w1/slaves/w1_therm.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +--- a/drivers/w1/slaves/w1_therm.c ++++ b/drivers/w1/slaves/w1_therm.c +@@ -1526,8 +1526,9 @@ static ssize_t alarms_store(struct devic + int temp, ret = -EINVAL; + char *token = NULL; + s8 tl, th, tt; /* 1 byte per value + temp ring order */ +- char *p_args = kmalloc(size, GFP_KERNEL); ++ char *p_args, *orig; + ++ p_args = orig = kmalloc(size, GFP_KERNEL); + /* Safe string copys as buf is const */ + if (!p_args) { + dev_warn(device, +@@ -1611,7 +1612,7 @@ static ssize_t alarms_store(struct devic + + free_m: + /* free allocated memory */ +- kfree(p_args); ++ kfree(orig); + + return size; + } -- cgit v1.2.3