android_kernel_xiaomi_sm7250/drivers/rtc
Alexandre Belloni bd2ab045df rtc: xgene: fix possible race condition
[ Upstream commit a652e00ee1233e251a337c28e18a1da59224e5ce ]

The IRQ is requested before the struct rtc is allocated and registered, but
this struct is used in the IRQ handler. This may lead to a NULL pointer
dereference.

Switch to devm_rtc_allocate_device/rtc_register_device to allocate the rtc
struct before requesting the IRQ.

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-05-31 06:46:26 -07:00
..
class.c rtc: remove irq_task and irq_task_lock 2018-07-26 15:08:53 +02:00
hctosys.c rtc: hctosys: Add missing range error reporting 2018-11-21 09:19:23 +01:00
interface.c RTC for 4.19 2018-08-20 16:30:27 -07:00
Kconfig rtc: ds1307: simplify hwmon config 2018-08-16 07:46:41 +02:00
Makefile RTC for 4.17 2018-04-10 10:22:27 -07:00
nvmem.c rtc: nvmem: don't use IS_ERR_OR_NULL 2018-05-21 22:34:38 +02:00
rtc-88pm80x.c rtc: 88pm80x: convert to rtc_tm_to_time64/rtc_time64_to_tm 2018-05-17 22:23:21 +02:00
rtc-88pm860x.c rtc: 88pm860x: prevent use-after-free on device remove 2019-05-31 06:46:13 -07:00
rtc-ab3100.c rtc: stop validating rtc_time after rtc_time64_to_tm 2018-03-01 10:49:41 +01:00
rtc-ab8500.c rtc: ab8500: Drop AB8540 support 2018-03-27 10:45:05 +02:00
rtc-ab-b5ze-s3.c rtc: ab-b5ze-s3: let the core handle the RTC range 2018-05-17 22:23:25 +02:00
rtc-abx80x.c rtc: abx80x: remove useless message 2018-03-02 10:12:23 +01:00
rtc-ac100.c treewide: Use struct_size() for devm_kmalloc() and friends 2018-06-06 11:15:43 -07:00
rtc-armada38x.c rtc: armada38x: reset after rtc power loss 2018-07-12 20:16:08 +02:00
rtc-as3722.c
rtc-asm9260.c
rtc-at91rm9200.c rtc: at91rm9200: add range 2018-05-17 22:23:14 +02:00
rtc-at91rm9200.h
rtc-at91sam9.c rtc: at91sam9: Set name of regmap_config 2018-03-17 14:20:57 +01:00
rtc-au1xxx.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-bq32k.c rtc: remove VLA usage 2018-03-17 14:20:56 +01:00
rtc-bq4802.c rtc: bq4802: add error handling for devm_ioremap 2018-07-11 20:41:01 +02:00
rtc-brcmstb-waketimer.c rtc: brcmstb-waketimer: add range 2018-05-21 22:33:52 +02:00
rtc-cmos.c rtc: cmos: Do not export alarm rtc_ops when we do not support alarms 2018-12-01 09:37:32 +01:00
rtc-coh901331.c headers: separate linux/mod_devicetable.h from linux/platform_device.h 2018-07-07 17:52:26 +02:00
rtc-core.h rtc: sysfs: facilitate attribute add to rtc device 2018-08-14 22:56:27 +02:00
rtc-cpcap.c headers: separate linux/mod_devicetable.h from linux/platform_device.h 2018-07-07 17:52:26 +02:00
rtc-cros-ec.c rtc: cros-ec: Fail suspend/resume if wake IRQ can't be configured 2019-05-08 07:21:45 +02:00
rtc-da9052.c rtc: diasemi: stop validating rtc_time in .read_time 2018-03-02 10:11:02 +01:00
rtc-da9055.c rtc: diasemi: stop validating rtc_time in .read_time 2018-03-02 10:11:02 +01:00
rtc-da9063.c rtc: da9063: set uie_unsupported when relevant 2019-05-08 07:21:49 +02:00
rtc-davinci.c
rtc-dev.c rtc: simplify rtc_irq_set_state/rtc_irq_set_freq 2018-07-26 15:08:53 +02:00
rtc-digicolor.c
rtc-dm355evm.c
rtc-ds1216.c rtc: simplify getting .drvdata 2018-05-03 22:08:00 +02:00
rtc-ds1286.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-ds1302.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-ds1305.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-ds1307.c rtc: ds1307: fix ds1339 wakealarm support 2018-11-13 11:08:51 -08:00
rtc-ds1343.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-ds1347.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-ds1374.c
rtc-ds1390.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-ds1511.c rtc: simplify getting .drvdata 2018-05-03 22:08:00 +02:00
rtc-ds1553.c rtc: simplify getting .drvdata 2018-05-03 22:08:00 +02:00
rtc-ds1672.c
rtc-ds1685.c rtc: ds1685: remove sysfs access to control registers 2018-06-20 12:38:14 +02:00
rtc-ds1742.c rtc: ds1742: don't explicitly specify word_size and stride of nvmem 2018-05-21 22:34:36 +02:00
rtc-ds2404.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-ds3232.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-efi-platform.c
rtc-efi.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-em3027.c
rtc-ep93xx.c
rtc-fm3130.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-ftrtc010.c headers: separate linux/mod_devicetable.h from linux/platform_device.h 2018-07-07 17:52:26 +02:00
rtc-generic.c
rtc-goldfish.c rtc: goldfish: Add missing MODULE_LICENSE 2018-02-13 21:46:04 +01:00
rtc-hid-sensor-time.c iio/hid-sensors: Fix IIO_CHAN_INFO_RAW returning wrong values for signed numbers 2018-12-05 19:32:13 +01:00
rtc-hym8563.c
rtc-imxdi.c
rtc-isl1208.c rtc: isl1208: set ev-evienb bit from device tree 2018-08-14 23:22:27 +02:00
rtc-isl12022.c rtc: isl12022: use true and false for boolean values 2018-04-03 16:40:46 +02:00
rtc-isl12026.c rtc: isl12026: fixup nvmem registration 2018-03-17 14:20:51 +01:00
rtc-jz4740.c rtc: stop validating rtc_time after rtc_time_to_tm 2018-03-01 10:49:41 +01:00
rtc-lib.c rtc: fix rtc_time64_to_tm for 3477 2018-03-17 14:20:50 +01:00
rtc-lp8788.c
rtc-lpc24xx.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-lpc32xx.c rtc: simplify getting .drvdata 2018-05-03 22:08:00 +02:00
rtc-ls1x.c rtc: ls1x: add range 2018-05-18 09:38:22 +02:00
rtc-m41t80.c rtc: m41t80: Correct alarm month range with RTC reads 2019-01-09 17:38:48 +01:00
rtc-m41t93.c rtc: m41t93: stop validating rtc_time in .read_time 2018-03-02 10:12:19 +01:00
rtc-m41t94.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-m48t35.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-m48t59.c rtc: m48t59: remove redundant pointer 'name' 2018-07-12 21:17:36 +02:00
rtc-m48t86.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-max6900.c rtc: max6900: remove useless indirection 2018-03-17 14:20:46 +01:00
rtc-max6902.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-max6916.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-max8907.c
rtc-max8925.c
rtc-max8997.c rtc: maxim: Add SPDX license identifiers 2018-08-14 23:38:45 +02:00
rtc-max8998.c rtc: maxim: Add SPDX license identifiers 2018-08-14 23:38:45 +02:00
rtc-max77686.c rtc: maxim: Add SPDX license identifiers 2018-08-14 23:38:45 +02:00
rtc-mc13xxx.c headers: separate linux/mod_devicetable.h from linux/platform_device.h 2018-07-07 17:52:26 +02:00
rtc-mc146818-lib.c
rtc-mcp795.c rtc: remove VLA usage 2018-03-17 14:20:56 +01:00
rtc-moxart.c
rtc-mpc5121.c rtc: stop validating rtc_time after rtc_time_to_tm 2018-03-01 10:49:41 +01:00
rtc-mrst.c rtc: mrst: fix error code in probe() 2018-06-20 12:43:11 +02:00
rtc-msm6242.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-mt6397.c mfd: mt6397: Create irq mappings in mfd core driver 2018-04-16 15:16:04 +01:00
rtc-mt7622.c rtc: mt7622: fix module autoloading for OF platform drivers 2018-04-03 16:40:48 +02:00
rtc-mv.c rtc: simplify getting .drvdata 2018-05-03 22:08:00 +02:00
rtc-mxc_v2.c headers: separate linux/mod_devicetable.h from linux/platform_device.h 2018-07-07 17:52:26 +02:00
rtc-mxc.c rtc: mxc: Switch to SPDX identifier 2018-05-22 09:47:17 +02:00
rtc-nuc900.c rtc: nuc900: stop validating rtc_time in .read_time 2018-03-02 10:12:17 +01:00
rtc-omap.c rtc: omap: drop unnecessary register unlock around reads 2018-07-12 20:31:21 +02:00
rtc-opal.c rtc: opal: Fix OPAL RTC driver OPAL_BUSY loops 2018-04-25 13:24:13 +10:00
rtc-palmas.c
rtc-pcap.c rtc: simplify getting .drvdata 2018-05-03 22:08:00 +02:00
rtc-pcf2123.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-pcf2127.c rtc: pcf2127: fix a kmemleak caused in pcf2127_i2c_gather_write 2018-12-01 09:37:32 +01:00
rtc-pcf8523.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-pcf8563.c
rtc-pcf8583.c
rtc-pcf50633.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-pcf85063.c rtc: pcf85063: preserve control register value between stop and start 2018-07-28 14:49:25 +02:00
rtc-pcf85363.c rtc: pcf85363: set time accurately 2018-03-17 14:20:49 +01:00
rtc-pic32.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-pl030.c
rtc-pl031.c
rtc-pm8xxx.c rtc: pm8xxx: Fix issue in RTC write path 2018-03-17 14:20:52 +01:00
rtc-proc.c rtc/proc: switch to proc_create_single_data 2018-05-16 07:24:30 +02:00
rtc-ps3.c rtc: stop validating rtc_time after rtc_time_to_tm 2018-03-01 10:49:41 +01:00
rtc-puv3.c
rtc-pxa.c rtc: pxa: fix probe function 2018-06-07 20:11:08 +02:00
rtc-r7301.c headers: separate linux/mod_devicetable.h from linux/platform_device.h 2018-07-07 17:52:26 +02:00
rtc-r9701.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-rc5t583.c
rtc-rk808.c rtc: rk808: fix possible race condition 2018-03-17 14:20:42 +01:00
rtc-rp5c01.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-rs5c313.c
rtc-rs5c348.c rtc: rs5c348: let the core handle invalid time 2018-03-01 10:49:40 +01:00
rtc-rs5c372.c rtc: rs5c372: remove useless indirection 2018-03-17 14:20:45 +01:00
rtc-rtd119x.c
rtc-rv3029c2.c
rtc-rv8803.c rtc: rv8803: fix possible race condition 2018-03-01 10:49:23 +01:00
rtc-rx4581.c rtc: rx4581: remove useless message 2018-03-02 10:12:24 +01:00
rtc-rx6110.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-rx8010.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-rx8025.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-rx8581.c rtc: rx8581: switch to regmap 2018-05-17 22:43:22 +02:00
rtc-s3c.c rtc: stop validating rtc_time in .read_time 2018-03-02 10:09:58 +01:00
rtc-s3c.h
rtc-s5m.c rtc: s5m: Add SPDX license identifier 2018-08-14 23:38:47 +02:00
rtc-s35390a.c rtc: s35390a: remove useless indirection 2018-03-17 14:20:44 +01:00
rtc-sa1100.c rtc: sa1100: don't set PIE frequency 2018-07-25 15:29:43 +02:00
rtc-sa1100.h
rtc-sc27xx.c rtc: sprd: Add new RTC power down check method 2018-05-31 23:02:11 +02:00
rtc-sh.c rtc: sh: Fix invalid alarm warning for non-enabled alarm 2019-05-08 07:21:46 +02:00
rtc-sirfsoc.c rtc: sirfsoc: remove useless sirfsoc_rtc_ioctl 2018-03-01 10:49:27 +01:00
rtc-snvs.c rtc: snvs: Add timeouts to avoid kernel lockups 2018-07-11 20:41:09 +02:00
rtc-spear.c rtc: spear: stop validating rtc_time in .set_time and .set_alarm 2018-03-02 10:12:21 +01:00
rtc-st-lpc.c rtc: st-lpc: add range 2018-05-23 09:26:19 +02:00
rtc-starfire.c rtc: stop validating rtc_time after rtc_time_to_tm 2018-03-01 10:49:41 +01:00
rtc-stk17ta8.c rtc: simplify getting .drvdata 2018-05-03 22:08:00 +02:00
rtc-stm32.c rtc: stm32: manage the get_irq probe defer case 2019-05-31 06:46:13 -07:00
rtc-stmp3xxx.c rtc: stmp3xxx: Don't reset the rtc in .probe() when watchdog is running 2018-07-11 20:42:08 +02:00
rtc-sun4v.c
rtc-sun6i.c rtc: sun6i: Fix bit_idx value for clk_register_gate 2018-05-31 23:02:11 +02:00
rtc-sunxi.c rtc: sunxi: fix possible race condition 2018-06-04 14:36:14 +02:00
rtc-sysfs.c rtc: sysfs: facilitate attribute add to rtc device 2018-08-14 22:56:27 +02:00
rtc-tegra.c headers: separate linux/mod_devicetable.h from linux/platform_device.h 2018-07-07 17:52:26 +02:00
rtc-test.c rtc: test: make array pdev static 2018-07-12 20:16:10 +02:00
rtc-tps6586x.c rtc: tps6586x: let the core handle rtc range 2018-05-17 22:54:24 +02:00
rtc-tps65910.c rtc: tps65910: add range 2018-05-17 22:37:11 +02:00
rtc-tps80031.c
rtc-twl.c
rtc-tx4939.c rtc: stop validating rtc_time after rtc_time_to_tm 2018-03-01 10:49:41 +01:00
rtc-v3020.c
rtc-vr41xx.c rtc: vr41xx: add range 2018-05-17 22:54:21 +02:00
rtc-vt8500.c
rtc-wm831x.c rtc: stop validating rtc_time after rtc_time_to_tm 2018-03-01 10:49:41 +01:00
rtc-wm8350.c
rtc-x1205.c
rtc-xgene.c rtc: xgene: fix possible race condition 2019-05-31 06:46:26 -07:00
rtc-zynqmp.c rtc: simplify getting .drvdata 2018-05-03 22:08:00 +02:00
systohc.c rtc: remove a warning during scripts/kernel-doc step 2018-03-27 10:45:05 +02:00