Alexandre Belloni
b44f9cd36b
rtc: disable uie before setting time and enable after
...
commit 7e7c005b4b1f1f169bcc4b2c3a40085ecc663df2 upstream.
When setting the time in the future with the uie timer enabled,
rtc_timer_do_work will loop for a while because the expiration of the uie
timer was way before the current RTC time and a new timer will be enqueued
until the current rtc time is reached.
If the uie timer is enabled, disable it before setting the time and enable
it after expiring current timers (which may actually be an alarm).
This is the safest thing to do to ensure the uie timer is still
synchronized with the RTC, especially in the UIE emulation case.
Reported-by: syzbot+08116743f8ad6f9a6de7@syzkaller.appspotmail.com
Fixes: 6610e0893b ("RTC: Rework RTC code to use timerqueue for events")
Link: https://lore.kernel.org/r/20191020231320.8191-1-alexandre.belloni@bootlin.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-12-17 19:56:52 +01: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 for 5.4
2019-09-22 11:05:43 -07:00
lib.c
rtc: lib: check whether tm->tm_year in int32 range
2019-04-06 15:05:31 +02:00
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: Remove dev_err() usage after platform_get_irq()
2019-08-13 10:53:10 +02:00
rtc-ab-b5ze-s3.c
rtc-ab-eoz9.c
rtc: remove superfluous error message
2019-08-21 09:57:23 +02:00
rtc-ab3100.c
rtc: ab3100: convert to SPDX identifier
2019-04-11 16:42:55 +02:00
rtc-ab8500.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194
2019-05-30 11:29:22 -07: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: remove superfluous error message
2019-08-21 09:57:23 +02: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: remove superfluous error message
2019-08-21 09:57:23 +02:00
rtc-cadence.c
rtc: remove superfluous error message
2019-08-21 09:57:23 +02:00
rtc-cmos.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
rtc-coh901331.c
rtc: coh901331: convert to SPDX identifier
2019-04-08 14:40:12 +02:00
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 for 5.2
2019-05-09 14:46:33 -07:00
rtc-davinci.c
rtc: Remove dev_err() usage after platform_get_irq()
2019-08-13 10:53:10 +02:00
rtc-digicolor.c
rtc: digicolor: convert to SPDX identifier
2019-05-08 22:14:31 +02:00
rtc-dm355evm.c
rtc: dm355evm: convert to SPDX identifier
2019-04-04 10:07:09 +02:00
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: ep93xx: fix checkpatch issues
2019-04-19 22:37:16 +02:00
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: convert to SPDX identifier
2019-04-04 10:07:09 +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
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282
2019-06-05 17:36:37 +02: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: lpc32xx: convert to SPDX identifier
2019-04-12 12:23:20 +02:00
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 style issue
2019-04-16 18:06:54 +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
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
rtc-mt6397.c
rtc: remove superfluous error message
2019-08-21 09:57:23 +02: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.c
rtc: mxc: use spin_lock_irqsave instead of spin_lock_irq in IRQ context
2019-08-12 23:04:25 +02:00
rtc-mxc_v2.c
rtc: mxc_v2: use devm_platform_ioremap_resource() to simplify code
2019-07-22 22:16:12 +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: pcap: convert to SPDX identifier
2019-05-08 22:14:36 +02:00
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: pcf85063: add RTC_VL_READ/RTC_VL_CLR support
2019-04-04 10:07:11 +02:00
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: ps3: set range
2019-04-04 10:07:10 +02:00
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: remove superfluous error message
2019-08-21 09:57:23 +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: rx6110: declare missing of table
2019-04-29 15:53:42 +02:00
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
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07: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 for 5.2
2019-05-09 14:46:33 -07:00
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: stmp3xxx: convert to SPDX identifier
2019-04-11 16:42:55 +02:00
rtc-sun4v.c
rtc: sun4v: switch to SPDX identifier
2019-04-04 10:07:10 +02:00
rtc-sun6i.c
RTC for 5.4
2019-09-22 11:05:43 -07: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: Use dev_get_drvdata()
2019-04-29 15:53:43 +02:00
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
platform/chrome: wilco_ec: Standardize mailbox interface
2019-04-15 16:07:42 +02:00
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
rtc: drop set_mms and set_mmss64
2019-05-08 22:14:36 +02:00