linux/drivers/rtc
Nikita Shubin 00c33482bb rtc: ep93xx: Fix NULL pointer dereference in ep93xx_rtc_read_time
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: b809d192eb ("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
2020-12-03 23:49:31 +01:00
..
class.c rtc: destroy mutex when releasing the device 2020-11-19 12:50:12 +01:00
dev.c
interface.c
Kconfig rtc: mxc{,_v2}: enable COMPILE_TEST 2020-12-03 23:42:36 +01:00
lib.c
Makefile rtc: rv3032: Add a driver for Microcrystal RV-3032 2020-10-19 22:47:56 +02:00
nvmem.c rtc: nvmem: emit an error message when nvmem registration fails 2020-11-19 12:50:12 +01:00
proc.c
rtc-88pm80x.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-88pm860x.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-ab3100.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-ab8500.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-ab-b5ze-s3.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-ab-eoz9.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-abx80x.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-ac100.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-armada38x.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-as3722.c
rtc-asm9260.c rtc: asm9260: add the missed check for devm_clk_get 2019-12-23 11:16:23 +01:00
rtc-aspeed.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-at91rm9200.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-at91sam9.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-au1xxx.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-bd70528.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-bq32k.c rtc: Replace HTTP links with HTTPS ones 2020-07-16 11:17:52 +02:00
rtc-bq4802.c
rtc-brcmstb-waketimer.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-cadence.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-cmos.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-coh901331.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-core.h
rtc-cpcap.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-cros-ec.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-da9052.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-da9055.c
rtc-da9063.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-davinci.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-digicolor.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-dm355evm.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-ds1216.c
rtc-ds1286.c
rtc-ds1302.c
rtc-ds1305.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-ds1307.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-ds1343.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-ds1347.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-ds1374.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-ds1390.c
rtc-ds1511.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-ds1553.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-ds1672.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-ds1685.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-ds1742.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-ds2404.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-ds3232.c rtc: add devm_ prefix to rtc_nvmem_register() 2020-11-19 12:50:11 +01:00
rtc-efi.c
rtc-em3027.c
rtc-ep93xx.c rtc: ep93xx: Fix NULL pointer dereference in ep93xx_rtc_read_time 2020-12-03 23:49:31 +01:00
rtc-fm3130.c
rtc-fsl-ftm-alarm.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-ftrtc010.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-generic.c
rtc-goldfish.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-hid-sensor-time.c
rtc-hym8563.c rtc: hym8563: enable wakeup when applicable 2020-11-14 23:36:10 +01:00
rtc-imx-sc.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-imxdi.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-isl1208.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-isl12022.c
rtc-isl12026.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-jz4740.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-lp8788.c
rtc-lpc24xx.c rtc: remove unnecessary error message after platform_get_irq 2020-04-15 09:56:17 +02:00
rtc-lpc32xx.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-ls1x.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-m41t80.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-m41t93.c
rtc-m41t94.c
rtc-m48t35.c rtc: m48t35: remove SGI-IP27 kludge 2020-03-16 11:12:11 +01:00
rtc-m48t59.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-m48t86.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-max6900.c
rtc-max6902.c
rtc-max6916.c
rtc-max8907.c
rtc-max8925.c
rtc-max8997.c
rtc-max8998.c
rtc-max77686.c rtc: max77686: Fix wake-ups for max77620 2020-08-07 23:29:47 +02:00
rtc-mc13xxx.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-mc146818-lib.c rtc: cmos: Revert "rtc: Fix the AltCentury value on AMD/Hygon platform" 2020-01-04 05:31:50 +01:00
rtc-mcp795.c rtc: Replace HTTP links with HTTPS ones 2020-07-16 11:17:52 +02:00
rtc-meson-vrtc.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-meson.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-moxart.c rtc: moxart: Convert to SPDX identifier 2019-12-23 11:23:49 +01:00
rtc-mpc5121.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-mrst.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-msm6242.c
rtc-mt2712.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-mt6397.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-mt7622.c
rtc-mv.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-mxc_v2.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-mxc.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-omap.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-opal.c
rtc-palmas.c
rtc-pcap.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-pcf2123.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-pcf2127.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-pcf8523.c rtc: pcf8523: use BIT 2020-11-19 12:52:25 +01:00
rtc-pcf8563.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-pcf8583.c
rtc-pcf50633.c
rtc-pcf85063.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-pcf85363.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-pic32.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-pl030.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-pl031.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-pm8xxx.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-ps3.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-pxa.c
rtc-r7301.c
rtc-r9701.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-rc5t583.c
rtc-rc5t619.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-rk808.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-rp5c01.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-rs5c313.c rtc: rtc-rs5c313: Convert to module_platform_driver() 2020-08-21 00:13:44 +02:00
rtc-rs5c348.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-rs5c372.c
rtc-rtd119x.c
rtc-rv3028.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-rv3029c2.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-rv3032.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-rv8803.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-rx4581.c
rtc-rx6110.c rtc: rx6110: add i2c support 2020-11-17 20:30:30 +01:00
rtc-rx8010.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-rx8025.c rtc: rx8025: Remove struct i2c_client from struct rx8025_data 2019-12-23 11:22:21 +01:00
rtc-rx8581.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-s3c.c rtc: s3c: Simplify with dev_err_probe() 2020-09-15 10:42:36 +02:00
rtc-s3c.h
rtc-s5m.c
rtc-s35390a.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-sa1100.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-sa1100.h
rtc-sc27xx.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-sd3078.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-sh.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-sirfsoc.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-snvs.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-spear.c
rtc-st-lpc.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-starfire.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-stk17ta8.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-stm32.c rtc: stm32: add missed clk_disable_unprepare in error path of resume 2019-12-10 14:29:23 +01:00
rtc-stmp3xxx.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-sun4v.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-sun6i.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-sunxi.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-tegra.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-test.c rtc: test: remove debug message 2020-12-03 23:43:23 +01:00
rtc-tps6586x.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-tps65910.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-tps80031.c
rtc-twl.c
rtc-tx4939.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-v3020.c
rtc-vr41xx.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-vt8500.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-wilco-ec.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-wm831x.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-wm8350.c
rtc-x1205.c
rtc-xgene.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
rtc-zynqmp.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
sysfs.c rtc: rework rtc_register_device() resource management 2020-11-19 12:50:12 +01:00
systohc.c