linux-yocto/drivers/watchdog
Dan Carpenter 0a844a32e0 watchdog: ziirave_wdt: check record length in ziirave_firm_verify()
[ Upstream commit 8b61d8ca75 ]

The "rec->len" value comes from the firmware.  We generally do
trust firmware, but it's always better to double check.  If
the length value is too large it would lead to memory corruption
when we set "data[i] = ret;"

Fixes: 217209db02 ("watchdog: ziirave_wdt: Add support to upload the firmware.")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/3b58b453f0faa8b968c90523f52c11908b56c346.1748463049.git.dan.carpenter@linaro.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-08-15 12:13:55 +02:00
..
acquirewdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
advantech_ec_wdt.c
advantechwdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
alim1535_wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
alim7101_wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
apple_wdt.c watchdog: apple: Actually flush writes after requesting watchdog restart 2024-12-14 20:03:00 +01:00
arm_smc_wdt.c
armada_37xx_wdt.c watchdog: Explicitly include correct DT includes 2023-08-13 14:29:49 +02:00
asm9260_wdt.c
aspeed_wdt.c watchdog: aspeed: fix 64-bit division 2025-05-29 11:03:26 +02:00
at91rm9200_wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
at91sam9_wdt.c watchdog: at91sam9_wdt: Convert to platform remove callback returning void 2023-12-17 16:14:19 +01:00
at91sam9_wdt.h
ath79_wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
bcm_kona_wdt.c watchdog: bcm_kona: Convert to platform remove callback returning void 2023-04-22 12:53:43 +02:00
bcm47xx_wdt.c watchdog: bcm47xx: Simplify using devm_watchdog_register_device() 2023-04-22 12:53:54 +02:00
bcm2835_wdt.c watchdog: bcm2835_wdt: Fix WDIOC_SETTIMEOUT handling 2023-12-17 16:14:22 +01:00
bcm7038_wdt.c watchdog: bcm7038: Use devm_clk_get_enabled() helper 2023-02-12 15:32:51 +01:00
bd9576_wdt.c watchdog: bd9576: Drop "always-running" property 2024-05-04 12:50:41 +02:00
bd96801_wdt.c watchdog: bd96801_wdt: Add missing include for FIELD_*() 2024-07-09 10:40:02 +01:00
booke_wdt.c
cadence_wdt.c watchdog: cadence: Use devm_clk_get_enabled() helper 2023-02-12 15:32:49 +01:00
cpu5wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
cpwd.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
cros_ec_wdt.c watchdog: Add ChromeOS EC-based watchdog driver 2024-02-01 11:49:30 +00:00
da9052_wdt.c watchdog: da9052_wdt: respect TWDMIN 2025-06-27 11:11:35 +01:00
da9055_wdt.c
da9062_wdt.c watchdog: da9062: da9063: use unlocked xfer function in restart 2023-02-18 15:11:30 +01:00
da9063_wdt.c watchdog: da9062: da9063: use unlocked xfer function in restart 2023-02-18 15:11:30 +01:00
davinci_wdt.c watchdog: davinci: Use devm_clk_get_enabled() helper 2023-02-12 15:32:50 +01:00
db8500_wdt.c
diag288_wdt.c watchdog: diag288_wdt: unify lpar and zvm diag288 helpers 2023-02-06 15:14:10 +01:00
digicolor_wdt.c
dw_wdt.c watchdog: dw_wdt: Simplify clk management 2023-04-29 08:08:41 +02:00
ebc-c384_wdt.c
ep93xx_wdt.c watchdog: Convert GPL 2.0 notice to SPDX identifier 2023-06-26 14:30:04 +02:00
eurotechwdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
exar_wdt.c watchdog: exar: Shorten identity name to fit correctly 2025-06-19 15:31:36 +02:00
f71808e_wdt.c
ftwdt010_wdt.c watchdog: Explicitly include correct DT includes 2023-08-13 14:29:49 +02:00
gef_wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
geodewdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
gpio_wdt.c watchdog: gpio_wdt: Make use of device properties 2023-10-29 19:45:05 +01:00
gxp-wdt.c
hpwdt.c watchdog/hpwdt: Support Suspend and Resume 2024-03-03 14:17:30 +01:00
i6300esb.c
ib700wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
ibmasr.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
ie6xx_wdt.c watchdog: ie6xx: Convert to platform remove callback returning void 2023-04-22 12:53:46 +02:00
imgpdc_wdt.c watchdog: imgpdc: Use devm_clk_get_enabled() helper 2023-02-12 15:32:48 +01:00
imx_sc_wdt.c watchdog: imx_sc_wdt: detect if already running 2024-09-10 11:08:46 +02:00
imx2_wdt.c watchdog: imx2_wdt: Remove __maybe_unused notations 2024-09-10 11:05:28 +02:00
imx7ulp_wdt.c watchdog: imx7ulp_wdt: move post_rcs_wait into struct imx_wdt_hw_feature 2024-09-10 11:05:27 +02:00
indydog.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
intel-mid_wdt.c platform/x86: intel_scu_wdt: Move intel_scu_wdt.h to x86 subfolder 2024-09-11 14:26:08 +02:00
it87_wdt.c watchdog: it87_wdt: add PWRGD enable quirk for Qotom QCML04 2025-01-02 10:34:16 +01:00
it8712f_wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
iTCO_vendor_support.c
iTCO_vendor.h
iTCO_wdt.c iTCO_wdt: mask NMI_NOW bit for update_no_reboot_bit() call 2024-12-14 20:03:00 +01:00
ixp4xx_wdt.c watchdog: ixp4xx: Make sure restart always works 2023-10-29 19:45:04 +01:00
jz4740_wdt.c
Kconfig Revert "watchdog: s3c2410_wdt: use exynos_get_pmu_regmap_by_phandle() for PMU regs" 2025-01-02 10:34:16 +01:00
keembay_wdt.c
kempld_wdt.c
lantiq_wdt.c watchdog: Explicitly include correct DT includes 2023-08-13 14:29:49 +02:00
lenovo_se10_wdt.c watchdog: lenovo_se10_wdt: Convert comma to semicolon 2024-07-18 20:35:40 +02:00
loongson1_wdt.c watchdog: Enable COMPILE_TEST for more drivers 2023-08-13 14:29:51 +02:00
lpc18xx_wdt.c watchdog: lpc18xx: Convert to platform remove callback returning void 2023-04-22 12:53:46 +02:00
m54xx_wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
machzwd.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
Makefile watchdog: Add Watchdog Timer driver for RZ/V2H(P) 2024-09-10 11:08:48 +02:00
marvell_gti_wdt.c drivers: watchdog: marvell_gti: Convert comma to semicolon 2024-09-10 11:08:49 +02:00
max63xx_wdt.c watchdog: Convert GPL 2.0 notice to SPDX identifier 2023-06-26 14:30:04 +02:00
max77620_wdt.c
mei_wdt.c
mena21_wdt.c
menf21bmc_wdt.c
menz69_wdt.c watchdog: add missing MODULE_DESCRIPTION() macros 2024-06-15 12:49:57 +02:00
meson_gxbb_wdt.c watchdog: Add support for Amlogic-T7 SoCs 2023-08-25 16:19:15 +02:00
meson_wdt.c watchdog: Explicitly include correct DT includes 2023-08-13 14:29:49 +02:00
mixcomwd.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
mlx_wdt.c watchdog: mlx_wdt: fix all kernel-doc warnings 2023-12-24 10:44:40 +01:00
moxart_wdt.c watchdog: Convert GPL 2.0 notice to SPDX identifier 2023-06-26 14:30:04 +02:00
mpc8xxx_wdt.c watchdog: Explicitly include correct DT includes 2023-08-13 14:29:49 +02:00
msc313e_wdt.c
mt7621_wdt.c watchdog: mt7621-wdt: avoid ralink architecture dependent code 2023-03-02 06:51:29 +01:00
mtk_wdt.c watchdog: mediatek: Add support for MT6735 TOPRGU/WDT 2025-01-02 10:34:16 +01:00
mtx-1_wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
ni903x_wdt.c
nic7018_wdt.c watchdog: nic7018: Convert to platform remove callback returning void 2023-04-22 12:53:47 +02:00
npcm_wdt.c
nv_tco.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
nv_tco.h
octeon-wdt-main.c watchdog/wdt-main: Use cpumask_of() to avoid cpumask var on stack 2024-05-04 12:50:42 +02:00
octeon-wdt-nmi.S watchdog: Convert GPL 2.0 notice to SPDX identifier 2023-06-26 14:30:04 +02:00
of_xilinx_wdt.c watchdog: of_xilinx_wdt: Remove unnecessary clock disable call in the remove path 2023-10-11 18:53:33 +02:00
omap_wdt.c watchdog: add missing MODULE_DESCRIPTION() macros 2024-06-15 12:49:57 +02:00
omap_wdt.h
orion_wdt.c watchdog: Convert GPL 2.0 notice to SPDX identifier 2023-06-26 14:30:04 +02:00
pc87413_wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
pcwd_pci.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
pcwd_usb.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
pcwd.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
pic32-dmt.c watchdog: Explicitly include correct DT includes 2023-08-13 14:29:49 +02:00
pic32-wdt.c watchdog: Explicitly include correct DT includes 2023-08-13 14:29:49 +02:00
pika_wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
pm8916_wdt.c watchdog: Convert comma to semicolon 2024-09-17 13:41:31 +02:00
pnx4008_wdt.c watchdog: pnx4008: Use devm_clk_get_enabled() helper 2023-02-12 15:32:46 +01:00
pretimeout_noop.c
pretimeout_panic.c
pseries-wdt.c
qcom-wdt.c watchdog: qcom: fine tune the max timeout value calculation 2024-03-03 14:17:28 +01:00
rave-sp-wdt.c watchdog: Explicitly include correct DT includes 2023-08-13 14:29:49 +02:00
rc32434_wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
rdc321x_wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
realtek_otto_wdt.c watchdog: realtek_otto: Use devm_clk_get_enabled() helper 2023-02-12 15:32:46 +01:00
renesas_wdt.c watchdog: renesas: Convert to platform remove callback returning void 2023-04-22 12:53:50 +02:00
retu_wdt.c
riowd.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
rn5t618_wdt.c watchdog: rn5t618: Simplify using devm_watchdog_register_device() 2023-04-22 12:53:54 +02:00
rt2880_wdt.c watchdog: rt2880-wdt: prefer unsigned int over unsigned 2023-04-22 12:53:57 +02:00
rtd119x_wdt.c watchdog: Convert GPL 2.0 notice to SPDX identifier 2023-06-26 14:30:04 +02:00
rti_wdt.c watchdog: rti_wdt: Fix an OF node leak in rti_wdt_probe() 2025-02-08 09:57:54 +01:00
rza_wdt.c watchdog: Explicitly include correct DT includes 2023-08-13 14:29:49 +02:00
rzg2l_wdt.c watchdog: rzg2l_wdt: Power on the watchdog domain in the restart handler 2025-01-02 10:34:16 +01:00
rzn1_wdt.c watchdog: rzn1: Convert comma to semicolon 2024-07-18 20:35:40 +02:00
rzv2h_wdt.c watchdog: rzv2h_wdt: Add missing MODULE_LICENSE tag to fix modpost error 2024-09-17 13:41:28 +02:00
s3c2410_wdt.c Revert "watchdog: s3c2410_wdt: use exynos_get_pmu_regmap_by_phandle() for PMU regs" 2025-01-02 10:34:16 +01:00
sa1100_wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
sama5d4_wdt.c watchdog: sama5d4: readout initial state 2023-08-19 17:36:20 +02:00
sb_wdog.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
sbc_epx_c3.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
sbc_fitpc2_wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
sbc60xxwdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
sbc7240_wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
sbc8360.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
sbsa_gwdt.c sbsa_gwdt: Calculate timeout with 64-bit math 2023-10-29 19:45:05 +01:00
sc520_wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
sc1200wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
sch311x_wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
scx200_wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
shwdt.c watchdog: shwdt: Convert to platform remove callback returning void 2023-04-22 12:53:52 +02:00
simatic-ipc-wdt.c watchdog: add missing MODULE_DESCRIPTION() macros 2024-06-15 12:49:57 +02:00
sl28cpld_wdt.c
smsc37b787_wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
softdog.c
sp805_wdt.c watchdog: sp805_wdt: deassert the reset if available 2024-03-03 14:17:30 +01:00
sp5100_tco.c watchdog: sp5100_tco: support Hygon FCH/SCH (Server Controller Hub) 2023-06-26 14:30:07 +02:00
sp5100_tco.h
sprd_wdt.c
st_lpc_wdt.c watchdog: st_lpc: Use device_get_match_data() 2023-10-29 19:45:06 +01:00
starfive-wdt.c watchdog: starfive: Add missing clk_disable_unprepare() 2024-07-10 20:01:30 +02:00
stm32_iwdg.c watchdog: stm32_iwdg: initialize default timeout 2024-03-03 14:17:31 +01:00
stmp3xxx_rtc_wdt.c watchdog: stmp3xxx_rtc: Convert to platform remove callback returning void 2023-04-22 12:53:53 +02:00
stpmic1_wdt.c
sun4v_wdt.c
sunplus_wdt.c watchdog: sunplus: Use the devm_clk_get_enabled() helper function 2023-10-11 18:34:10 +02:00
sunxi_wdt.c watchdog: Explicitly include correct DT includes 2023-08-13 14:29:49 +02:00
tegra_wdt.c
tqmx86_wdt.c
ts72xx_wdt.c wdt: ts72xx: add DT support for ts72xx 2024-09-12 14:33:11 +00:00
ts4800_wdt.c watchdog: add missing MODULE_DESCRIPTION() macros 2024-06-15 12:49:57 +02:00
twl4030_wdt.c watchdog: add missing MODULE_DESCRIPTION() macros 2024-06-15 12:49:57 +02:00
txx9wdt.c watchdog: txx9wdt: Convert to platform remove callback returning void 2023-12-17 16:14:20 +01:00
uniphier_wdt.c
via_wdt.c
visconti_wdt.c watchdog: visconti: Use devm_clk_get_enabled() helper 2023-02-12 15:32:53 +01:00
w83627hf_wdt.c
w83877f_wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
w83977f_wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
wafer5823wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
watchdog_core.c watchdog: core: Remove usage of the deprecated ida_simple_xx() API 2024-03-03 14:17:27 +01:00
watchdog_core.h
watchdog_dev.c watchdog: Make watchdog_class const 2024-07-10 20:01:30 +02:00
watchdog_hrtimer_pretimeout.c
watchdog_pretimeout.c watchdog: avoid usage of iterator after loop 2023-04-22 12:54:00 +02:00
watchdog_pretimeout.h
wd501p.h
wdat_wdt.c watchdog: wdat_wdt: Add timeout value as a param in ping method 2023-10-29 19:45:06 +01:00
wdrtas.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
wdt_pci.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
wdt.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
wdt285.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
wdt977.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
wm831x_wdt.c
wm8350_wdt.c watchdog: wm8350: Simplify using devm_watchdog_register_device() 2023-04-22 12:53:55 +02:00
xen_wdt.c
xilinx_wwdt.c watchdog: xilinx_wwdt: Calculate max_hw_heartbeat_ms using clock frequency 2024-12-14 20:03:00 +01:00
ziirave_wdt.c watchdog: ziirave_wdt: check record length in ziirave_firm_verify() 2025-08-15 12:13:55 +02:00