Re: [PATCH] iio: accel: kxcjk-1013: Fix possible memory leak in probe and remove

From: Yang Yingliang
Date: Thu Oct 14 2021 - 09:39:06 EST


Hi,

On 2021/10/14 22:54, Andy Shevchenko wrote:
On Thu, Oct 14, 2021 at 11:53:38AM +0800, Yang Yingliang wrote:
When ACPI type is ACPI_SMO8500, the data->dready_trig will not be set, the
memory allocated by iio_triggered_buffer_setup() will not be freed, and cause
memory leak as follows:
It seems it's not first time I'm telling you to shrink the noise in the commit
message. Can you please LEARN this once and forever?
Thanks for you advice, I searched the whole kernel source tree commit message to
learn how to make the memory leak report, I found most of them using the whole
backtrace, so I make the report like they did in this patch. I will shrink the noise in v2.
How about shrink it like this:

unreferenced object 0xffff888009551400 (size 512):
  comm "i2c-SMO8500-125", pid 911, jiffies 4294911787 (age 83.852s)
  hex dump (first 32 bytes):
    02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00 00 00 00 00 00 00 00 20 e2 e5 c0 ff ff ff ff  ........ .......
  backtrace:
    [<0000000041ce75ee>] kmem_cache_alloc_trace+0x16d/0x360
    [<000000000aeb17b0>] iio_kfifo_allocate+0x41/0x130 [kfifo_buf]
    [<000000004b40c1f5>] iio_triggered_buffer_setup_ext+0x2c/0x210 [industrialio_triggered_buffer]
    [<000000004375b15f>] kxcjk1013_probe+0x10c3/0x1d81 [kxcjk_1013]

Thanks,
Yang

unreferenced object 0xffff888009551400 (size 512):
comm "i2c-SMO8500-125", pid 911, jiffies 4294911787 (age 83.852s)
hex dump (first 32 bytes):
02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 20 e2 e5 c0 ff ff ff ff ........ .......
backtrace:
[<0000000041ce75ee>] kmem_cache_alloc_trace+0x16d/0x360
[<000000000aeb17b0>] iio_kfifo_allocate+0x41/0x130 [kfifo_buf]
[<000000004b40c1f5>] iio_triggered_buffer_setup_ext+0x2c/0x210 [industrialio_triggered_buffer]
[<000000004375b15f>] kxcjk1013_probe+0x10c3/0x1d81 [kxcjk_1013]
[<0000000020115b9a>] i2c_device_probe+0xa31/0xbe0
[<00000000d9f581a6>] really_probe+0x299/0xc30
[<00000000c6c16cde>] __driver_probe_device+0x357/0x500
[<00000000909852a1>] driver_probe_device+0x4e/0x140
[<000000008419ba53>] __device_attach_driver+0x257/0x340
[<00000000533bb466>] bus_for_each_drv+0x166/0x1e0
[<000000005bf45d75>] __device_attach+0x272/0x420
[<0000000075220311>] bus_probe_device+0x1eb/0x2a0
[<0000000015587e85>] device_add+0xbf0/0x1f90
[<0000000086901b9e>] i2c_new_client_device+0x622/0xb20
[<000000000865ca18>] new_device_store+0x1fa/0x420
[<0000000059a3d183>] dev_attr_store+0x58/0x80