Shang XiaoJing dd74ed6c21 media: ov5675: Fix memleak in ov5675_init_controls()
There is a kmemleak when testing the media/i2c/ov5675.c with bpf mock
device:

AssertionError: unreferenced object 0xffff888107362160 (size 16):
  comm "python3", pid 277, jiffies 4294832798 (age 20.722s)
  hex dump (first 16 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [<00000000abe7d67c>] __kmalloc_node+0x44/0x1b0
    [<000000008a725aac>] kvmalloc_node+0x34/0x180
    [<000000009a53cd11>] v4l2_ctrl_handler_init_class+0x11d/0x180
[videodev]
    [<0000000055b46db0>] ov5675_probe+0x38b/0x897 [ov5675]
    [<00000000153d886c>] i2c_device_probe+0x28d/0x680
    [<000000004afb7e8f>] really_probe+0x17c/0x3f0
    [<00000000ff2f18e4>] __driver_probe_device+0xe3/0x170
    [<000000000a001029>] driver_probe_device+0x49/0x120
    [<00000000e39743c7>] __device_attach_driver+0xf7/0x150
    [<00000000d32fd070>] bus_for_each_drv+0x114/0x180
    [<000000009083ac41>] __device_attach+0x1e5/0x2d0
    [<0000000015b4a830>] bus_probe_device+0x126/0x140
    [<000000007813deaf>] device_add+0x810/0x1130
    [<000000007becb867>] i2c_new_client_device+0x386/0x540
    [<000000007f9cf4b4>] of_i2c_register_device+0xf1/0x110
    [<00000000ebfdd032>] of_i2c_notify+0xfc/0x1f0

ov5675_init_controls() won't clean all the allocated resources in fail
path, which may causes the memleaks. Add v4l2_ctrl_handler_free() to
prevent memleak.

Fixes: bf27502b1f3b ("media: ov5675: Add support for OV5675 sensor")
Signed-off-by: Shang XiaoJing <shangxiaojing@huawei.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2023-02-03 14:52:32 +01:00
..
2022-08-16 12:46:26 +02:00
2022-08-16 12:46:26 +02:00
2022-11-25 08:46:29 +00:00
2021-02-01 10:03:45 +01:00
2022-08-16 12:46:26 +02:00
2022-08-16 12:46:26 +02:00
2022-08-16 12:46:26 +02:00
2022-08-16 12:46:26 +02:00
2022-08-16 12:46:26 +02:00
2022-08-16 12:46:26 +02:00
2022-08-16 12:46:26 +02:00
2022-08-16 12:46:26 +02:00
2022-12-07 17:58:47 +01:00
2022-12-07 17:58:47 +01:00
2022-10-22 15:30:15 -07:00
2022-08-16 12:46:26 +02:00
2022-10-27 14:48:55 +03:00
2022-08-16 12:46:26 +02:00
2022-08-16 12:46:26 +02:00
2022-10-28 11:31:28 +03:00
2022-08-16 12:46:26 +02:00
2022-08-16 12:46:26 +02:00
2022-08-16 12:46:26 +02:00
2022-08-16 12:46:26 +02:00
2022-08-16 12:46:26 +02:00
2022-10-22 15:30:15 -07:00
2022-08-16 12:46:26 +02:00