Shang XiaoJing
60da738082
rtc: class: Fix potential memleak in devm_rtc_allocate_device()
...
devm_rtc_allocate_device() will alloc a rtc_device first, and then run
dev_set_name(). If dev_set_name() failed, the rtc_device will memleak.
Move devm_add_action_or_reset() in front of dev_set_name() to prevent
memleak.
unreferenced object 0xffff888110a53000 (size 2048):
comm "python3", pid 470, jiffies 4296078308 (age 58.882s)
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 08 30 a5 10 81 88 ff ff .........0......
08 30 a5 10 81 88 ff ff 00 00 00 00 00 00 00 00 .0..............
backtrace:
[<000000004aac0364>] kmalloc_trace+0x21/0x110
[<000000000ff02202>] devm_rtc_allocate_device+0xd4/0x400
[<000000001bdf5639>] devm_rtc_device_register+0x1a/0x80
[<00000000351bf81c>] rx4581_probe+0xdd/0x110 [rtc_rx4581]
[<00000000f0eba0ae>] spi_probe+0xde/0x130
[<00000000bff89ee8>] really_probe+0x175/0x3f0
[<00000000128e8d84>] __driver_probe_device+0xe6/0x170
[<00000000ee5bf913>] device_driver_attach+0x32/0x80
[<00000000f3f28f92>] bind_store+0x10b/0x1a0
[<000000009ff812d8>] drv_attr_store+0x49/0x70
[<000000008139c323>] sysfs_kf_write+0x8d/0xb0
[<00000000b6146e01>] kernfs_fop_write_iter+0x214/0x2d0
[<00000000ecbe3895>] vfs_write+0x61a/0x7d0
[<00000000aa2196ea>] ksys_write+0xc8/0x190
[<0000000046a600f5>] do_syscall_64+0x37/0x90
[<00000000541a336f>] entry_SYSCALL_64_after_hwframe+0x63/0xcd
Fixes: 24d23181e43d ("rtc: class: check return value when calling dev_set_name()")
Signed-off-by: Shang XiaoJing <shangxiaojing@huawei.com>
Reviewed-by: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20221110090810.11225-1-shangxiaojing@huawei.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2022-11-15 21:01:51 +01:00
..
2022-11-15 21:01:51 +01:00
2022-06-24 21:24:02 +02:00
2022-03-29 22:45:50 +02:00
2022-11-15 21:01:51 +01:00
2021-08-10 23:21:46 +02:00
2021-08-10 00:09:21 +02:00
2022-11-15 21:01:51 +01:00
2020-11-19 12:50:12 +01:00
2021-05-25 00:36:11 +02:00
2020-11-19 12:50:12 +01:00
2020-11-19 12:50:12 +01:00
2021-11-10 00:45:57 +01:00
2022-06-24 21:24:02 +02:00
2022-06-24 21:24:02 +02:00
2022-11-15 21:01:51 +01:00
2021-01-25 23:45:37 +01:00
2021-01-16 23:19:26 +01:00
2019-05-30 11:26:37 -07:00
2021-01-25 23:46:16 +01:00
2020-11-19 12:50:12 +01:00
2020-11-19 12:50:12 +01:00
2021-07-10 02:42:08 +02:00
2021-07-10 01:53:39 +02:00
2021-06-20 22:24:52 +02:00
2022-11-15 21:01:51 +01:00
2019-05-21 10:50:45 +02:00
2021-02-06 00:58:24 +01:00
2020-11-19 12:50:12 +01:00
2022-10-18 22:36:54 +02:00
2022-06-24 21:24:02 +02:00
2020-11-19 12:50:12 +01:00
2022-11-15 21:01:51 +01:00
2020-11-19 12:50:12 +01:00
2019-05-30 11:26:32 -07:00
2021-12-02 23:23:38 +01:00
2021-02-06 00:58:24 +01:00
2020-11-19 12:50:12 +01:00
2019-10-07 01:07:35 +02:00
2019-10-07 01:07:35 +02:00
2022-11-15 21:01:51 +01:00
2022-02-09 13:00:45 +00:00
2022-11-15 21:01:51 +01:00
2022-02-09 13:00:45 +00:00
2022-11-15 21:01:51 +01:00
2022-08-16 12:46:26 +02:00
2021-09-25 23:22:28 +02:00
2021-04-17 11:21:04 +02:00
2020-11-19 12:50:12 +01:00
2022-06-24 21:24:02 +02:00
2022-10-13 00:21:28 +02:00
2020-11-19 12:50:12 +01:00
2020-11-19 12:50:12 +01:00
2022-06-24 21:24:02 +02:00
2022-03-23 19:58:40 +01:00
2022-06-24 21:24:02 +02:00
2020-12-03 23:49:31 +01:00
2022-06-24 21:24:02 +02:00
2022-11-15 21:01:51 +01:00
2022-05-19 12:08:17 +02:00
2022-08-23 22:27:58 +02:00
2019-05-21 10:50:45 +02:00
2022-04-11 11:48:01 +02:00
2021-06-16 14:53:13 +01:00
2022-06-24 21:24:02 +02:00
2021-04-29 23:03:26 +02:00
2021-05-25 00:41:25 +02:00
2022-11-15 21:01:33 +01:00
2022-11-15 21:01:51 +01:00
2022-08-16 12:46:26 +02:00
2022-10-13 00:31:37 +02:00
2019-06-19 17:09:55 +02:00
2020-04-15 09:56:17 +02:00
2020-11-19 12:50:12 +01:00
2020-11-19 12:50:12 +01:00
2022-11-15 21:01:33 +01:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2020-03-16 11:12:11 +01:00
2021-03-11 09:48:09 +01:00
2020-11-19 12:50:12 +01:00
2022-06-24 21:24:02 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2022-03-07 13:55:04 +00:00
2020-11-19 12:50:12 +01:00
2022-06-24 21:23:50 +02:00
2021-10-01 23:28:28 +02:00
2020-11-19 12:50:12 +01:00
2022-05-18 00:20:39 +02:00
2019-12-23 11:23:49 +01:00
2022-03-23 19:58:38 +01:00
2022-10-13 00:31:18 +02:00
2021-10-01 23:28:46 +02:00
2019-11-18 15:23:54 +01:00
2020-11-19 12:50:12 +01:00
2022-05-19 12:05:48 +02:00
2019-10-07 01:07:35 +02:00
2021-01-16 23:19:26 +01:00
2021-05-25 00:33:17 +02:00
2022-08-23 22:33:38 +02:00
2022-11-15 21:01:33 +01:00
2021-03-10 11:06:33 +00:00
2021-09-25 23:26:37 +02:00
2022-03-23 19:58:39 +01:00
2022-03-25 11:42:50 +01:00
2021-07-10 01:53:39 +02:00
2020-11-19 12:50:12 +01:00
2022-03-23 19:58:39 +01:00
2022-11-15 21:01:33 +01:00
2022-06-24 21:24:02 +02:00
2022-06-24 21:24:02 +02:00
2022-06-24 21:24:02 +02:00
2019-05-30 11:26:32 -07:00
2022-05-18 00:15:50 +02:00
2022-06-24 21:24:02 +02:00
2020-11-19 12:50:12 +01:00
2021-02-02 14:25:50 +01:00
2022-03-23 19:58:37 +01:00
2022-11-15 21:01:51 +01:00
2020-11-19 12:50:12 +01:00
2022-04-19 16:27:05 +02:00
2021-02-06 00:50:47 +01:00
2020-11-19 12:50:12 +01:00
2019-05-30 11:29:52 -07:00
2020-11-19 12:50:12 +01:00
2020-11-19 12:50:12 +01:00
2020-11-19 12:50:12 +01:00
2020-08-21 00:13:44 +02:00
2020-11-19 12:50:12 +01:00
2022-11-15 21:01:33 +01:00
2021-07-10 01:53:39 +02:00
2022-10-13 23:36:52 +02:00
2022-11-15 21:01:51 +01:00
2021-11-10 00:45:57 +01:00
2022-11-15 21:01:33 +01:00
2019-06-19 17:09:55 +02:00
2022-06-24 21:24:02 +02:00
2021-02-06 00:58:25 +01:00
2022-11-15 21:01:51 +01:00
2022-06-24 21:24:02 +02:00
2022-11-15 21:01:51 +01:00
2022-11-15 21:01:51 +01:00
2019-06-19 17:09:55 +02:00
2021-09-25 23:26:37 +02:00
2022-11-15 21:01:51 +01:00
2020-11-19 12:50:12 +01:00
2021-07-10 01:53:39 +02:00
2022-06-24 21:24:02 +02:00
2020-11-19 12:50:12 +01:00
2020-11-19 12:50:12 +01:00
2022-08-09 00:56:41 +02:00
2020-11-19 12:50:12 +01:00
2020-11-19 12:50:12 +01:00
2020-11-19 12:50:12 +01:00
2021-06-20 22:28:02 +02:00
2022-10-13 00:03:11 +02:00
2020-11-19 12:50:12 +01:00
2022-07-26 11:17:01 +02:00
2022-01-16 23:50:34 +01:00
2020-11-19 12:50:12 +01:00
2021-02-06 00:50:47 +01:00
2020-12-03 23:43:23 +01:00
2022-10-13 00:31:57 +02:00
2021-07-10 01:53:40 +02:00
2021-08-17 23:36:22 +02:00
2019-05-30 11:26:32 -07:00
2021-06-20 22:29:50 +02:00
2020-11-19 12:50:12 +01:00
2020-11-19 12:50:12 +01:00
2020-11-19 12:50:12 +01:00
2022-03-23 19:58:38 +01:00
2022-08-16 12:46:26 +02:00
2022-03-23 19:58:41 +01:00
2022-08-08 20:35:41 +02:00
2022-11-15 21:01:51 +01:00