This is a note to let you know that I've just added the patch titled iio: fix memory leak in iio_device_register_eventset() to the 6.0-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: iio-fix-memory-leak-in-iio_device_register_eventset.patch and it can be found in the queue-6.0 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 86fdd15e10e404e70ecb2a3bff24d70356d42b36 Mon Sep 17 00:00:00 2001 From: Zeng Heng <zengheng4@xxxxxxxxxx> Date: Tue, 15 Nov 2022 10:37:12 +0800 Subject: iio: fix memory leak in iio_device_register_eventset() From: Zeng Heng <zengheng4@xxxxxxxxxx> commit 86fdd15e10e404e70ecb2a3bff24d70356d42b36 upstream. When iio_device_register_sysfs_group() returns failed, iio_device_register_eventset() needs to free attrs array. Otherwise, kmemleak would scan & report memory leak as below: unreferenced object 0xffff88810a1cc3c0 (size 32): comm "100-i2c-vcnl302", pid 728, jiffies 4295052307 (age 156.027s) backtrace: __kmalloc+0x46/0x1b0 iio_device_register_eventset at drivers/iio/industrialio-event.c:541 __iio_device_register at drivers/iio/industrialio-core.c:1959 __devm_iio_device_register at drivers/iio/industrialio-core.c:2040 Fixes: 32f171724e5c ("iio: core: rework iio device group creation") Signed-off-by: Zeng Heng <zengheng4@xxxxxxxxxx> Link: https://lore.kernel.org/r/20221115023712.3726854-1-zengheng4@xxxxxxxxxx Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/iio/industrialio-event.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) --- a/drivers/iio/industrialio-event.c +++ b/drivers/iio/industrialio-event.c @@ -550,7 +550,7 @@ int iio_device_register_eventset(struct ret = iio_device_register_sysfs_group(indio_dev, &ev_int->group); if (ret) - goto error_free_setup_event_lines; + goto error_free_group_attrs; ev_int->ioctl_handler.ioctl = iio_event_ioctl; iio_device_ioctl_handler_register(&iio_dev_opaque->indio_dev, @@ -558,6 +558,8 @@ int iio_device_register_eventset(struct return 0; +error_free_group_attrs: + kfree(ev_int->group.attrs); error_free_setup_event_lines: iio_free_chan_devattr_list(&ev_int->dev_attr_list); kfree(ev_int); Patches currently in stable-queue which might be from zengheng4@xxxxxxxxxx are queue-6.0/power-supply-fix-residue-sysfs-file-in-error-handle-.patch queue-6.0/asoc-pxa-fix-null-pointer-dereference-in-filter.patch queue-6.0/pci-check-for-alloc-failure-in-pci_request_irq.patch queue-6.0/iio-fix-memory-leak-in-iio_device_register_eventset.patch