Nikita Shubin
33afcf723a
rtc: ep93xx: Fix NULL pointer dereference in ep93xx_rtc_read_time
...
commit 00c33482bb6110bce8110daa351f9b3baf4df7dc upstream.
Mismatch in probe platform_set_drvdata set's and method's that call
dev_get_platdata will result in "Unable to handle kernel NULL pointer
dereference", let's use according method for getting driver data after
platform_set_drvdata.
8<--- cut here ---
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = (ptrval)
[00000000] *pgd=00000000
Internal error: Oops: 5 [#1 ] ARM
Modules linked in:
CPU: 0 PID: 1 Comm: swapper Not tainted 5.9.10-00003-g723e101e0037-dirty #4
Hardware name: Technologic Systems TS-72xx SBC
PC is at ep93xx_rtc_read_time+0xc/0x2c
LR is at __rtc_read_time+0x4c/0x8c
[...]
[<c02b01c8>] (ep93xx_rtc_read_time) from [<c02ac38c>] (__rtc_read_time+0x4c/0x8c)
[<c02ac38c>] (__rtc_read_time) from [<c02ac3f8>] (rtc_read_time+0x2c/0x4c)
[<c02ac3f8>] (rtc_read_time) from [<c02acc54>] (__rtc_read_alarm+0x28/0x358)
[<c02acc54>] (__rtc_read_alarm) from [<c02abd80>] (__rtc_register_device+0x124/0x2ec)
[<c02abd80>] (__rtc_register_device) from [<c02b028c>] (ep93xx_rtc_probe+0xa4/0xac)
[<c02b028c>] (ep93xx_rtc_probe) from [<c026424c>] (platform_drv_probe+0x24/0x5c)
[<c026424c>] (platform_drv_probe) from [<c0262918>] (really_probe+0x218/0x374)
[<c0262918>] (really_probe) from [<c0262da0>] (device_driver_attach+0x44/0x60)
[<c0262da0>] (device_driver_attach) from [<c0262e70>] (__driver_attach+0xb4/0xc0)
[<c0262e70>] (__driver_attach) from [<c0260d44>] (bus_for_each_dev+0x68/0xac)
[<c0260d44>] (bus_for_each_dev) from [<c026223c>] (driver_attach+0x18/0x24)
[<c026223c>] (driver_attach) from [<c0261dd8>] (bus_add_driver+0x150/0x1b4)
[<c0261dd8>] (bus_add_driver) from [<c026342c>] (driver_register+0xb0/0xf4)
[<c026342c>] (driver_register) from [<c0264210>] (__platform_driver_register+0x30/0x48)
[<c0264210>] (__platform_driver_register) from [<c04cb9ac>] (ep93xx_rtc_driver_init+0x10/0x1c)
[<c04cb9ac>] (ep93xx_rtc_driver_init) from [<c000973c>] (do_one_initcall+0x7c/0x1c0)
[<c000973c>] (do_one_initcall) from [<c04b9ecc>] (kernel_init_freeable+0x168/0x1ac)
[<c04b9ecc>] (kernel_init_freeable) from [<c03b2228>] (kernel_init+0x8/0xf4)
[<c03b2228>] (kernel_init) from [<c00082c0>] (ret_from_fork+0x14/0x34)
Exception stack(0xc441dfb0 to 0xc441dff8)
dfa0: 00000000 00000000 00000000 00000000
dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
dfe0: 00000000 00000000 00000000 00000000 00000013 00000000
Code: e12fff1e e92d4010 e590303c e1a02001 (e5933000)
---[ end trace c914d6030eaa95c8 ]---
Fixes: b809d192eb98 ("rtc: ep93xx: stop setting platform_data")
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20201201095507.10317-1-nikita.shubin@maquefel.me
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-30 11:51:47 +01:00
..
2020-12-30 11:51:32 +01:00
2020-12-30 11:51:35 +01:00
2020-11-05 11:43:12 +01:00
2020-11-24 13:28:55 +01:00
2020-11-10 12:37:34 +01:00
2020-12-30 11:51:46 +01:00
2020-12-30 11:51:20 +01:00
2020-12-30 11:51:23 +01:00
2020-11-18 19:20:29 +01:00
2020-12-30 11:51:46 +01:00
2020-12-30 11:51:19 +01:00
2020-12-30 11:51:20 +01:00
2020-09-09 19:12:21 +02:00
2020-12-30 11:51:24 +01:00
2020-12-30 11:51:46 +01:00
2020-10-01 13:17:14 +02:00
2020-12-30 11:51:12 +01:00
2020-12-30 11:51:46 +01:00
2020-12-30 11:51:36 +01:00
2020-12-30 11:51:24 +01:00
2020-12-02 08:49:53 +01:00
2020-07-29 10:18:31 +02:00
2020-12-30 11:50:55 +01:00
2020-12-30 11:51:41 +01:00
2020-12-30 11:51:00 +01:00
2020-12-30 11:51:13 +01:00
2020-11-24 13:29:23 +01:00
2020-12-30 11:51:17 +01:00
2020-12-30 11:50:59 +01:00
2020-12-30 11:51:01 +01:00
2020-10-29 09:57:51 +01:00
2020-12-30 11:51:45 +01:00
2020-12-30 11:51:26 +01:00
2020-12-30 11:51:32 +01:00
2020-12-16 10:56:56 +01:00
2020-12-11 13:23:31 +01:00
2020-12-30 11:51:25 +01:00
2020-11-05 11:43:24 +01:00
2020-10-29 09:58:00 +01:00
2020-08-19 08:16:15 +02:00
2020-10-29 09:57:53 +01:00
2020-12-30 11:51:45 +01:00
2020-12-30 11:51:31 +01:00
2020-11-05 11:43:21 +01:00
2020-12-30 11:51:18 +01:00
2020-11-05 11:43:25 +01:00
2020-11-18 19:20:26 +01:00
2020-12-30 11:50:56 +01:00
2020-12-30 11:51:11 +01:00
2020-12-30 11:51:43 +01:00
2020-12-30 11:51:46 +01:00
2020-12-30 11:51:26 +01:00
2020-10-29 09:58:00 +01:00
2020-12-30 11:51:47 +01:00
2020-12-02 08:49:48 +01:00
2020-10-29 09:57:42 +01:00
2020-11-18 19:20:28 +01:00
2020-11-18 19:20:21 +01:00
2020-08-19 08:16:26 +02:00
2020-12-30 11:51:47 +01:00
2020-10-29 09:57:30 +01:00
2020-12-30 11:51:19 +01:00
2020-12-30 11:51:45 +01:00
2020-12-30 11:51:47 +01:00
2020-12-30 11:51:14 +01:00
2020-11-10 21:13:20 +01:00
2020-12-30 11:51:26 +01:00
2020-12-30 11:51:28 +01:00
2020-10-29 09:57:53 +01:00
2020-12-30 11:51:47 +01:00
2020-12-30 11:51:24 +01:00
2020-11-05 11:43:20 +01:00
2020-12-30 11:51:47 +01:00
2020-12-30 11:51:34 +01:00
2020-12-30 11:51:44 +01:00
2020-12-30 11:51:13 +01:00
2020-12-30 11:51:43 +01:00
2020-10-01 13:17:36 +02:00
2020-12-30 11:51:43 +01:00
2020-12-30 11:51:35 +01:00
2020-12-02 08:49:49 +01:00
2020-12-02 08:49:53 +01:00
2020-10-01 13:17:44 +02:00
2020-12-11 13:23:29 +01:00
2020-12-30 11:51:00 +01:00
2020-11-18 19:20:29 +01:00
2020-12-30 11:51:37 +01:00
2020-12-30 11:51:30 +01:00
2020-12-02 08:49:48 +01:00
2020-12-30 11:51:08 +01:00
2020-10-29 09:57:38 +01:00
2020-12-30 11:51:29 +01:00
2020-11-05 11:43:25 +01:00
2020-12-30 11:51:28 +01:00
2020-12-30 11:51:47 +01:00