1
0
mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2026-01-11 17:10:13 +00:00

Compare commits

..

4 Commits

Author SHA1 Message Date
Linus Torvalds
3609fa95fb Devicetree fixes for 6.19, part 2:
- Fix an error path memory leak in DT unittest
 
 - Update Saravana's bouncing email
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEktVUI4SxYhzZyEuo+vtdtY28YcMFAmla+iwACgkQ+vtdtY28
 YcN/fA//X6P/TyGS2eKnyqdGHVy1bRzBFNZLEZHDavcqT7Kq8kUkRvdeGFTN5sqN
 rN2yCleAgl5aaxrSy6RRmiWVn9en84cZr9Accm6Ko1aIW2lsg6dLNm/0J4rO6AQh
 W8HY0LiLnBjlNsbMT5NxBhBhj6otJ2G/iywVpceGpgRGROHnEUALqrJoqwQfq813
 eEg6Xa9AmYmsobmDKlM5DFKZ3fZly+skvtIwt10D59AT+jK+d514zkUwU1h84D96
 JXWviFvWFF0BukM8lQAX1kUHxQD9nhJyc06ZIpcyd7gHk2HdHEWv1FggrbY0Bpql
 6CxOJIGzGB4/RvflpY+q3+p/p5kV7cKi4GqQytmTmCy82x5NNvg7wzvheHqhpi0w
 KUdbFeSajwyPfggYrWwTy0sRJeEwPRm8FEWPeDL2S4Rie8NlLIA2Rq20POc0pFdN
 7h0/H3qXSbvfqNlzk/RcCyeLw2fkfD6SU51zuN0W7yNPPulnB704qAvpvYG6lcFu
 0kNcHVts3hEw2/9YO8dxQrzMtrOw0u2tWG3WyRW6BC91yqdXrSg9AFMLxK7o6hfN
 2Ztb49TWb+4PXVvi0Mwo/fRtin/QQ45wakflvl8nEqGu3/RjUUGtQIv2JKBol8tc
 FH+VwRcj/U11sIoxw4umDC896dElC2YNUkexBi0FBUy92Du2hHw=
 =QG9T
 -----END PGP SIGNATURE-----

Merge tag 'devicetree-fixes-for-6.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux

Pull devicetree fixes from Rob Herring:

 - Fix an error path memory leak in DT unittest

 - Update Saravana's bouncing email

* tag 'devicetree-fixes-for-6.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
  of: unittest: Fix memory leak in unittest_data_add()
  MAINTAINERS: Update Saravana Kannan's email address
2026-01-04 16:57:47 -08:00
Linus Torvalds
9ace4753a5 Linux 6.19-rc4 2026-01-04 14:41:55 -08:00
Zilin Guan
235a1eb8d2 of: unittest: Fix memory leak in unittest_data_add()
In unittest_data_add(), if of_resolve_phandles() fails, the allocated
unittest_data is not freed, leading to a memory leak.

Fix this by using scope-based cleanup helper __free(kfree) for automatic
resource cleanup. This ensures unittest_data is automatically freed when
it goes out of scope in error paths.

For the success path, use retain_and_null_ptr() to transfer ownership
of the memory to the device tree and prevent double freeing.

Fixes: 2eb46da2a760 ("of/selftest: Use the resolver to fixup phandles")
Suggested-by: Rob Herring <robh@kernel.org>
Co-developed-by: Jianhao Xu <jianhao.xu@seu.edu.cn>
Signed-off-by: Jianhao Xu <jianhao.xu@seu.edu.cn>
Signed-off-by: Zilin Guan <zilin@seu.edu.cn>
Link: https://patch.msgid.link/20251231114915.234638-1-zilin@seu.edu.cn
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2026-01-02 15:36:37 -06:00
Saravana Kannan
4f4f6b4467 MAINTAINERS: Update Saravana Kannan's email address
I've switched employers. Updating email address to be employer-agnostic and
remain reachable. Also updating mailmap so all my previous emails map to
this new one.

Signed-off-by: Saravana Kannan <saravanak@kernel.org>
Link: https://patch.msgid.link/20251229060350.852-1-saravanak@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
2025-12-29 14:32:18 -06:00
4 changed files with 9 additions and 9 deletions

View File

@ -705,6 +705,8 @@ Sankeerth Billakanti <quic_sbillaka@quicinc.com> <sbillaka@codeaurora.org>
Santosh Shilimkar <santosh.shilimkar@oracle.org>
Santosh Shilimkar <ssantosh@kernel.org>
Sarangdhar Joshi <spjoshi@codeaurora.org>
Saravana Kannan <saravanak@kernel.org> <skannan@codeaurora.org>
Saravana Kannan <saravanak@kernel.org> <saravanak@google.com>
Sascha Hauer <s.hauer@pengutronix.de>
Sahitya Tummala <quic_stummala@quicinc.com> <stummala@codeaurora.org>
Sathishkumar Muruganandam <quic_murugana@quicinc.com> <murugana@codeaurora.org>

View File

@ -6532,7 +6532,7 @@ F: rust/kernel/cpufreq.rs
F: tools/testing/selftests/cpufreq/
CPU FREQUENCY DRIVERS - VIRTUAL MACHINE CPUFREQ
M: Saravana Kannan <saravanak@google.com>
M: Saravana Kannan <saravanak@kernel.org>
L: linux-pm@vger.kernel.org
S: Maintained
F: drivers/cpufreq/virtual-cpufreq.c
@ -7170,7 +7170,7 @@ F: drivers/base/devcoredump.c
F: include/linux/devcoredump.h
DEVICE DEPENDENCY HELPER SCRIPT
M: Saravana Kannan <saravanak@google.com>
M: Saravana Kannan <saravanak@kernel.org>
L: linux-kernel@vger.kernel.org
S: Maintained
F: scripts/dev-needs.sh
@ -19547,7 +19547,7 @@ F: include/linux/oa_tc6.h
OPEN FIRMWARE AND FLATTENED DEVICE TREE
M: Rob Herring <robh@kernel.org>
M: Saravana Kannan <saravanak@google.com>
M: Saravana Kannan <saravanak@kernel.org>
L: devicetree@vger.kernel.org
S: Maintained
Q: http://patchwork.kernel.org/project/devicetree/list/

View File

@ -2,7 +2,7 @@
VERSION = 6
PATCHLEVEL = 19
SUBLEVEL = 0
EXTRAVERSION = -rc3
EXTRAVERSION = -rc4
NAME = Baby Opossum Posse
# *DOCUMENTATION*

View File

@ -1985,7 +1985,6 @@ static void attach_node_and_children(struct device_node *np)
*/
static int __init unittest_data_add(void)
{
void *unittest_data;
void *unittest_data_align;
struct device_node *unittest_data_node = NULL, *np;
/*
@ -2004,7 +2003,7 @@ static int __init unittest_data_add(void)
}
/* creating copy */
unittest_data = kmalloc(size + FDT_ALIGN_SIZE, GFP_KERNEL);
void *unittest_data __free(kfree) = kmalloc(size + FDT_ALIGN_SIZE, GFP_KERNEL);
if (!unittest_data)
return -ENOMEM;
@ -2014,12 +2013,10 @@ static int __init unittest_data_add(void)
ret = of_fdt_unflatten_tree(unittest_data_align, NULL, &unittest_data_node);
if (!ret) {
pr_warn("%s: unflatten testcases tree failed\n", __func__);
kfree(unittest_data);
return -ENODATA;
}
if (!unittest_data_node) {
pr_warn("%s: testcases tree is empty\n", __func__);
kfree(unittest_data);
return -ENODATA;
}
@ -2038,7 +2035,6 @@ static int __init unittest_data_add(void)
/* attach the sub-tree to live tree */
if (!of_root) {
pr_warn("%s: no live tree to attach sub-tree\n", __func__);
kfree(unittest_data);
rc = -ENODEV;
goto unlock;
}
@ -2059,6 +2055,8 @@ static int __init unittest_data_add(void)
EXPECT_END(KERN_INFO,
"Duplicate name in testcase-data, renamed to \"duplicate-name#1\"");
retain_and_null_ptr(unittest_data);
unlock:
of_overlay_mutex_unlock();