linux/drivers/pinctrl
Geert Uytterhoeven b02945e920 pinctrl: renesas: checker: Limit cfg reg enum checks to provided IDs
[ Upstream commit 3803584a4e ]

If the number of provided enum IDs in a variable width config register
description does not match the expected number, the checker uses the
expected number for validating the individual enum IDs.

However, this may cause out-of-bounds accesses on the array holding the
enum IDs, leading to bogus enum_id conflict warnings.  Worse, if the bug
is an incorrect bit field description (e.g. accidentally using "12"
instead of "-12" for a reserved field), thousands of warnings may be
printed, overflowing the kernel log buffer.

Fix this by limiting the enum ID check to the number of provided enum
IDs.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/c7385f44f2faebb8856bcbb4e908d846fc1531fb.1705930809.git.geert+renesas@glider.be
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-13 13:10:03 +02:00
..
actions
aspeed kbuild: make -Woverride-init warnings more consistent 2024-04-10 16:38:00 +02:00
bcm pinctrl: bcm: Convert to use grp member 2023-12-12 00:47:52 +01:00
berlin pinctrl: Use device_get_match_data() 2023-10-30 14:50:42 +01:00
cirrus pinctrl: lochnagar: Don't build on MIPS 2023-11-16 14:40:38 +01:00
freescale pinctrl: imx: Convert to use grp member 2023-12-12 00:47:52 +01:00
intel intel-pinctrl for v6.8-1 2023-12-18 23:42:42 +01:00
mediatek pinctrl: mediatek: Drop bogus slew rate register range for MT8192 2024-03-26 18:17:03 -04:00
meson pinctrl: Add driver support for Amlogic T7 SoCs 2023-09-25 15:49:18 +02:00
mvebu pinctrl: Use device_get_match_data() 2023-10-30 14:50:42 +01:00
nomadik gpio: nomadik: fix offset bug in nmk_pmx_set() 2024-03-26 18:17:15 -04:00
nuvoton pinctrl: nuvoton: Convert to use struct pingroup and PINCTRL_PINGROUP() 2023-12-07 10:53:57 +01:00
nxp pinctrl: s32cc: Avoid possible string truncation 2023-11-14 14:43:37 +01:00
pxa pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
qcom pinctrl: qcom: sm8650-lpass-lpi: correct Kconfig name 2024-04-03 15:32:05 +02:00
realtek pinctrl: realtek: Fix logical error when finding descriptor 2023-11-24 10:39:20 +01:00
renesas pinctrl: renesas: checker: Limit cfg reg enum checks to provided IDs 2024-04-13 13:10:03 +02:00
samsung pinctrl: samsung: constify iomem pointers 2023-12-28 22:13:17 +01:00
spear treewide: rename pinctrl_gpio_free_new() 2023-11-04 10:23:21 +01:00
sprd pinctrl: sprd-sc9860: Convert to platform remove callback returning void 2023-10-10 15:47:50 +02:00
starfive This is the main pin control pull request for the v6.8 kernel series. 2024-01-17 15:55:33 -08:00
stm32 pinctrl: stm32: fix PM support for stm32mp257 2024-02-13 09:42:22 +01:00
sunplus pinctrl: sppctl: use gpiochip_dup_line_label() 2023-12-08 09:26:37 +01:00
sunxi pinctrl: sunxi: h616: add extra gpio banks 2023-09-25 15:26:33 +02:00
tegra pinctrl: tegra: Display pin function in pinconf-groups 2023-11-13 14:57:22 +01:00
ti pinctrl: Use device_get_match_data() 2023-10-30 14:50:42 +01:00
uniphier pinctrl: uniphier: Annotate struct uniphier_pinctrl_reg_region with __counted_by 2023-09-27 10:59:06 +02:00
visconti
vt8500 pinctrl: vt8500: drop the wrapper around pinctrl_gpio_direction_input() 2023-11-04 10:23:22 +01:00
core.c pinctrl: don't put the reference to GPIO device in pinctrl_pins_show() 2024-02-29 14:36:40 +01:00
core.h pinctrl: core: Remove unused members from struct group_desc 2023-12-12 00:47:52 +01:00
devicetree.c pinctrl: Convert unsigned to unsigned int 2023-12-04 15:32:42 +01:00
devicetree.h
Kconfig Immutable tag for the PEF2256 framer 2023-12-12 23:08:30 +01:00
Makefile Immutable tag for the PEF2256 framer 2023-12-12 23:08:30 +01:00
pinconf-generic.c pinctrl: Convert unsigned to unsigned int 2023-12-04 15:32:42 +01:00
pinconf.c pinctrl: Convert unsigned to unsigned int 2023-12-04 15:32:42 +01:00
pinconf.h pinctrl: Convert unsigned to unsigned int 2023-12-04 15:32:42 +01:00
pinctrl-amd.c genirq: Introduce IRQF_COND_ONESHOT and use it in pinctrl-amd 2024-04-03 15:32:45 +02:00
pinctrl-amd.h pinctrl: amd: Mask non-wake source pins with interrupt enabled at suspend 2023-12-04 15:46:02 +01:00
pinctrl-apple-gpio.c
pinctrl-artpec6.c pinctrl: artpec6: Convert to platform remove callback returning void 2023-10-10 15:39:10 +02:00
pinctrl-as3722.c pinctrl: as3722: Use devm_gpiochip_add_data() to simplify remove path 2023-11-24 11:22:12 +01:00
pinctrl-at91-pio4.c pinctrl: at91-pio4: use dedicated lock class for IRQ 2023-12-21 09:05:02 +01:00
pinctrl-at91.c pinctrl: Use device_get_match_data() 2023-10-30 14:50:42 +01:00
pinctrl-at91.h
pinctrl-axp209.c pinctrl: axp209: drop the wrapper around pinctrl_gpio_direction_input() 2023-11-04 10:23:22 +01:00
pinctrl-bm1880.c
pinctrl-cy8c95x0.c This is the main pin control pull request for the v6.8 kernel series. 2024-01-17 15:55:33 -08:00
pinctrl-da850-pupd.c
pinctrl-da9062.c pinctrl: da9062: don't include private GPIOLIB header 2023-09-12 10:06:01 +02:00
pinctrl-digicolor.c
pinctrl-equilibrium.c pinctrl: equilibrium: Convert to use grp member 2023-12-12 00:47:52 +01:00
pinctrl-equilibrium.h pinctrl: equilibrium: Convert to immutable irq_chip 2023-04-14 11:08:17 +02:00
pinctrl-falcon.c pinctrl: lantiq: Remove unused of_gpio.h inclusion 2023-06-16 15:04:34 +02:00
pinctrl-gemini.c
pinctrl-ingenic.c pinctrl: ingenic: Convert to use grp member 2023-12-12 00:47:52 +01:00
pinctrl-k210.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-keembay.c pinctrl: keembay: Convert to use grp member 2023-12-12 00:47:52 +01:00
pinctrl-lantiq.c
pinctrl-lantiq.h pinctrl: lantiq: Remove unsued declaration ltq_pinctrl_unregister() 2023-09-11 15:42:12 +02:00
pinctrl-loongson2.c
pinctrl-lpc18xx.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-max77620.c
pinctrl-mcp23s08_i2c.c pinctrl: mcp23s08: Simplify probe()/mcp23s08_spi_regmap_init() 2023-10-10 13:39:38 +02:00
pinctrl-mcp23s08_spi.c pinctrl: mcp23s08: Simplify probe()/mcp23s08_spi_regmap_init() 2023-10-10 13:39:38 +02:00
pinctrl-mcp23s08.c pinctrl: mcp23s08: Convert to immutable irq_chip 2023-04-14 11:08:17 +02:00
pinctrl-mcp23s08.h pinctrl: mcp23s08: Simplify probe()/mcp23s08_spi_regmap_init() 2023-10-10 13:39:38 +02:00
pinctrl-microchip-sgpio.c pinctrl: microchip-sgpio: check return value of devm_kasprintf() 2023-06-16 15:01:45 +02:00
pinctrl-mlxbf3.c pinctrl: mlxbf3: Remove gpio_disable_free() 2023-08-25 15:44:15 +02:00
pinctrl-ocelot.c pinctrl: ocelot: drop the wrapper around pinctrl_gpio_direction_input() 2023-11-04 10:23:23 +01:00
pinctrl-palmas.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-pef2256.c pinctrl: Add support for the Lantic PEF2256 pinmux 2023-12-12 23:05:24 +01:00
pinctrl-pic32.c pinctrl: Explicitly include correct DT includes 2023-07-20 21:41:24 +02:00
pinctrl-pic32.h
pinctrl-pistachio.c pinctrl: pistachio: Convert to immutable irq_chip 2023-04-20 16:07:40 +02:00
pinctrl-rk805.c pinctrl: rk805: drop the wrapper around pinctrl_gpio_direction_input() 2023-11-04 10:23:23 +01:00
pinctrl-rockchip.c pinctrl: rockchip: Convert to platform remove callback returning void 2023-10-10 15:40:22 +02:00
pinctrl-rockchip.h
pinctrl-single.c pinctrl: pinctrl-single: add ti,j7200-padconf compatible 2023-12-04 15:32:42 +01:00
pinctrl-st.c pinctrl: st: drop the wrapper around pinctrl_gpio_direction_input() 2023-11-04 10:23:22 +01:00
pinctrl-stmfx.c pinctrl: stmfx: Convert to platform remove callback returning void 2023-10-10 15:41:35 +02:00
pinctrl-sx150x.c pinctrl: sx150x: Simplify probe() 2023-09-12 10:12:36 +02:00
pinctrl-tb10x.c pinctrl: tb10x: Convert to platform remove callback returning void 2023-10-10 15:42:07 +02:00
pinctrl-tps6594.c pinctrl: tps6594: Add driver for TPS6594 pinctrl and GPIOs 2023-11-14 14:45:35 +01:00
pinctrl-utils.c pinctrl: Convert unsigned to unsigned int 2023-12-04 15:32:42 +01:00
pinctrl-utils.h pinctrl: Convert unsigned to unsigned int 2023-12-04 15:32:42 +01:00
pinctrl-xway.c pinctrl: Use device_get_match_data() 2023-10-30 14:50:42 +01:00
pinctrl-zynq.c
pinctrl-zynqmp.c pinctrl: pinctrl-zynqmp: Add support for output-enable and bias-high impedance 2023-08-07 10:48:03 +02:00
pinmux.c pinctrl: Convert unsigned to unsigned int 2023-12-04 15:32:42 +01:00
pinmux.h pinctrl: Convert unsigned to unsigned int 2023-12-04 15:32:42 +01:00