linux/drivers/rtc
Alexandre Belloni 45c1212d91 rtc: sa1100: fix possible race condition
[ Upstream commit f2997775b1 ]

Both RTC IRQs are requested before the struct rtc_device is allocated,
this may lead to a NULL pointer dereference in the IRQ handler.

To fix this issue, allocating the rtc_device struct before requesting
the IRQs using devm_rtc_allocate_device, and use rtc_register_device
to register the RTC device.

Link: https://lore.kernel.org/r/20200306010146.39762-1-alexandre.belloni@bootlin.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-10-01 13:17:43 +02:00
..
class.c rtc: class: add debug message when registration fails 2019-08-20 21:44:45 +02:00
dev.c
hctosys.c
interface.c rtc: disable uie before setting time and enable after 2019-12-17 19:56:52 +01:00
Kconfig rtc: max8907: add missing select REGMAP_IRQ 2020-03-25 08:25:56 +01:00
lib.c
Makefile rtc: fsl-ftm-alarm: add FTM alarm driver 2019-08-23 16:20:50 +02:00
nvmem.c
proc.c
rtc-88pm80x.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-88pm860x.c rtc: 88pm860x: fix possible race condition 2020-04-23 10:36:31 +02:00
rtc-ab3100.c
rtc-ab8500.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
rtc-ab-b5ze-s3.c
rtc-ab-eoz9.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-abx80x.c
rtc-ac100.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-armada38x.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-as3722.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
rtc-asm9260.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-aspeed.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-at91rm9200.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-at91rm9200.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-at91sam9.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-au1xxx.c
rtc-bd70528.c rtc: bd70528: fix module alias to autoload module 2020-01-26 10:01:06 +01:00
rtc-bq32k.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-bq4802.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
rtc-brcmstb-waketimer.c rtc: brcmstb-waketimer: add missed clk_disable_unprepare 2020-01-17 19:49:03 +01:00
rtc-cadence.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-cmos.c rtc: cmos: Stop using shared IRQ 2020-02-14 16:34:12 -05:00
rtc-coh901331.c
rtc-core.h
rtc-cpcap.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
rtc-cros-ec.c mfd / platform: cros_ec: Reorganize platform and mfd includes 2019-09-02 11:33:42 +01:00
rtc-da9052.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-da9055.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-da9063.c
rtc-davinci.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-digicolor.c
rtc-dm355evm.c
rtc-ds1216.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
rtc-ds1286.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-ds1302.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 377 2019-06-05 17:37:10 +02:00
rtc-ds1305.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-ds1307.c RTC for 5.3 2019-07-17 10:03:50 -07:00
rtc-ds1343.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-ds1347.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-ds1374.c docs: i2c: convert to ReST and add to driver-api bookset 2019-07-31 13:25:27 -06:00
rtc-ds1390.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-ds1511.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-ds1553.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-ds1672.c rtc: ds1672: remove unnecessary check 2019-08-21 09:57:23 +02:00
rtc-ds1685.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-ds1742.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-ds2404.c rtc: ds2404: use hw endiannes variable 2019-05-23 17:42:25 +02:00
rtc-ds3232.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-efi-platform.c
rtc-efi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-em3027.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-ep93xx.c
rtc-fm3130.c RTC for 5.3 2019-07-17 10:03:50 -07:00
rtc-fsl-ftm-alarm.c rtc: fsl-ftm-alarm: add FTM alarm driver 2019-08-23 16:20:50 +02:00
rtc-ftrtc010.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
rtc-generic.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
rtc-goldfish.c rtc: goldfish: Enable interrupt in set_alarm() when necessary 2020-08-26 10:40:54 +02:00
rtc-hid-sensor-time.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 335 2019-06-05 17:37:06 +02:00
rtc-hym8563.c rtc: hym8563: Return -EINVAL if the time is known to be invalid 2020-02-14 16:34:12 -05:00
rtc-imx-sc.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-imxdi.c rtc: imxdi: use devm_platform_ioremap_resource() to simplify code 2019-07-22 22:16:14 +02:00
rtc-isl1208.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-isl12022.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-isl12026.c rtc: isl12026: convert to i2c_new_dummy_device 2019-07-22 22:30:19 +02:00
rtc-jz4740.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-lp8788.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-lpc24xx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-lpc32xx.c
rtc-ls1x.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-m41t80.c RTC for 5.3 2019-07-17 10:03:50 -07:00
rtc-m41t93.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-m41t94.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-m48t35.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-m48t59.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-m48t86.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-max6900.c
rtc-max6902.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-max6916.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-max8907.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-max8925.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-max8997.c
rtc-max8998.c
rtc-max77686.c rtc: max77686: convert to devm_i2c_new_dummy_device() 2019-09-01 09:18:35 +02:00
rtc-mc13xxx.c rtc: mc13xxx: fix a double-unlock issue 2020-06-24 17:50:12 +02:00
rtc-mc146818-lib.c treewide: Add SPDX license identifier for missed files 2019-05-21 10:50:45 +02:00
rtc-mcp795.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-meson-vrtc.c rtc: meson: mark PM functions as __maybe_unused 2019-09-10 16:14:15 +02:00
rtc-meson.c
rtc-moxart.c
rtc-mpc5121.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-mrst.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
rtc-msm6242.c rtc: msm6242: Fix reading of 10-hour digit 2020-01-17 19:49:03 +01:00
rtc-mt6397.c rtc: mt6397: fix alarm register overwrite 2020-01-17 19:48:16 +01:00
rtc-mt7622.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-mv.c
rtc-mxc_v2.c rtc: mxc_v2: use devm_platform_ioremap_resource() to simplify code 2019-07-22 22:16:12 +02:00
rtc-mxc.c rtc: mxc: use spin_lock_irqsave instead of spin_lock_irq in IRQ context 2019-08-12 23:04:25 +02:00
rtc-omap.c ARM: SoC-related driver updates 2019-05-16 09:19:14 -07:00
rtc-opal.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 114 2019-05-24 17:39:01 +02:00
rtc-palmas.c
rtc-pcap.c
rtc-pcf2123.c rtc: pcf2123: add proper compatible string 2019-08-20 21:42:19 +02:00
rtc-pcf2127.c rtc: pcf2127: bugfix: watchdog build dependency 2019-08-27 18:24:15 +02:00
rtc-pcf8523.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-pcf8563.c rtc: pcf8563: let the core handle range offsetting 2019-09-01 10:57:47 +02:00
rtc-pcf8583.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-pcf50633.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-pcf85063.c
rtc-pcf85363.c rtc: pcf85363/pcf85263: fix regmap error in set_time 2019-09-01 08:48:28 +02:00
rtc-pic32.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-pl030.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-pl031.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-pm8xxx.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-ps3.c
rtc-puv3.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-pxa.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-r7301.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
rtc-r9701.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-rc5t583.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
rtc-rk808.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-rp5c01.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
rtc-rs5c313.c
rtc-rs5c348.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-rs5c372.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-rtd119x.c
rtc-rv3028.c rtc: rv3028: Add missed check for devm_regmap_init_i2c() 2020-06-24 17:50:36 +02:00
rtc-rv3029c2.c rtc: rv3029: revert error handling patch to rv3029_eeprom_write() 2019-08-21 09:57:23 +02:00
rtc-rv8803.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-rx4581.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-rx6110.c
rtc-rx8010.c RTC for 5.3 2019-07-17 10:03:50 -07:00
rtc-rx8025.c RTC for 5.3 2019-07-17 10:03:50 -07:00
rtc-rx8581.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-s3c.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-s3c.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-s5m.c rtc: s5m: convert to i2c_new_dummy_device 2019-07-23 20:34:31 +02:00
rtc-s35390a.c rtc: s35390a: convert to devm_i2c_new_dummy_device() 2019-09-01 09:18:35 +02:00
rtc-sa1100.c rtc: sa1100: fix possible race condition 2020-10-01 13:17:43 +02:00
rtc-sa1100.h
rtc-sc27xx.c rtc: sc27xx: Remove clearing SPRD_RTC_POWEROFF_ALM_FLAG flag 2019-09-10 16:14:13 +02:00
rtc-sd3078.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-sh.c
rtc-sirfsoc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 4 2019-05-21 11:28:40 +02:00
rtc-snvs.c rtc: snvs: switch to rtc_time64_to_tm/rtc_tm_to_time64 2019-09-01 08:48:23 +02:00
rtc-spear.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-st-lpc.c RTC for 5.3 2019-07-17 10:03:50 -07:00
rtc-starfire.c
rtc-stk17ta8.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-stm32.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-stmp3xxx.c
rtc-sun4v.c
rtc-sun6i.c rtc: sun6i: Add support for RTC clocks on R40 2020-01-14 20:08:21 +01:00
rtc-sunxi.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-tegra.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-test.c rtc: test: enable wakeup flags 2019-05-23 17:44:52 +02:00
rtc-tps6586x.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-tps65910.c rtc: remove superfluous error message 2019-08-21 09:57:23 +02:00
rtc-tps80031.c
rtc-twl.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-tx4939.c
rtc-v3020.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-vr41xx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
rtc-vt8500.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-wilco-ec.c
rtc-wm831x.c rtc: wm831x: Add IRQF_ONESHOT flag 2019-07-13 21:39:51 +02:00
rtc-wm8350.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtc-x1205.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rtc-xgene.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
rtc-zynqmp.c rtc: Remove dev_err() usage after platform_get_irq() 2019-08-13 10:53:10 +02:00
sysfs.c
systohc.c