Maria Yu
1eaa188f7f
pinctrl: avoid reload of p state in list iteration
...
commit 4198a9b571065978632276264e01d71d68000ac5 upstream.
When in the list_for_each_entry iteration, reload of p->state->settings
with a local setting from old_state will turn the list iteration into an
infinite loop.
The typical symptom when the issue happens, will be a printk message like:
"not freeing pin xx (xxx) as part of deactivating group xxx - it is
already used for some other setting".
This is a compiler-dependent problem, one instance occurred using Clang
version 10.0 on the arm64 architecture with linux version 4.19.
Fixes: 6e5e959dde ("pinctrl: API changes to support multiple states per device")
Signed-off-by: Maria Yu <quic_aiquny@quicinc.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20231115102824.23727-1-quic_aiquny@quicinc.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-12-08 08:44:26 +01:00
..
actions
aspeed
pinctrl: aspeed: Fix confusing types in return value
2023-02-22 12:50:32 +01:00
bcm
berlin
cirrus
freescale
intel
pinctrl: cherryview: Return correct value if pin in push-pull mode
2023-07-27 08:37:16 +02:00
mediatek
pinctrl: meditatek: Startup with the IRQs disabled
2022-12-19 12:24:16 +01:00
meson
pinctrl: meson-axg: add missing GPIOA_18 gpio group
2023-06-14 10:59:58 +02:00
mvebu
pinctrl: mvebu: Fix irq_of_parse_and_map() return value
2022-06-14 18:11:41 +02:00
nomadik
pinctrl: nomadik: Fix refcount leak in nmk_pinctrl_dt_subnode_to_map
2022-08-25 11:18:23 +02:00
nuvoton
pxa
qcom
pinctrl: qcom: msm8916: Allow CAMSS GP clocks to be muxed
2022-08-25 11:18:23 +02:00
samsung
sh-pfc
sirf
spear
sprd
stm32
pinctrl: stm32: Fix refcount leak in stm32_pctrl_get_irq_domain
2023-03-11 16:43:44 +01:00
sunxi
pinctrl: sunxi: Add I/O bias setting for H6 R-PIO
2022-08-25 11:18:24 +02:00
tegra
ti
uniphier
vt8500
zte
core.c
pinctrl: avoid reload of p state in list iteration
2023-12-08 08:44:26 +01:00
core.h
devicetree.c
pinctrl: devicetree: fix null pointer dereferencing in pinctrl_dt_to_map
2022-11-25 17:42:14 +01:00
devicetree.h
Kconfig
Makefile
pinconf-generic.c
pinctrl: pinconf-generic: add missing of_node_put()
2023-01-18 11:41:06 +01:00
pinconf.c
pinconf.h
pinctrl-amd.c
pinctrl: amd: Don't show Invalid config param errors
2023-09-23 10:59:37 +02:00
pinctrl-amd.h
pinctrl: amd: Detect internal GPIO0 debounce handling
2023-07-27 08:37:34 +02:00
pinctrl-artpec6.c
pinctrl-as3722.c
pinctrl-at91-pio4.c
pinctrl: at91-pio4: check return value of devm_kasprintf()
2023-07-27 08:37:17 +02:00
pinctrl-at91.c
pinctrl: at91: use devm_kasprintf() to avoid potential leaks
2023-03-11 16:43:57 +01:00
pinctrl-at91.h
pinctrl-axp209.c
pinctrl-bm1880.c
pinctrl-coh901.c
pinctrl-coh901.h
pinctrl-da850-pupd.c
pinctrl-digicolor.c
pinctrl-falcon.c
pinctrl-gemini.c
pinctrl-ingenic.c
pinctrl-lantiq.c
pinctrl-lantiq.h
pinctrl-lpc18xx.c
pinctrl-max77620.c
pinctrl-mcp23s08.c
pinctrl-ocelot.c
pinctrl: ocelot: Fix alt mode for ocelot
2023-04-05 11:16:44 +02:00
pinctrl-oxnas.c
pinctrl-palmas.c
pinctrl-pic32.c
pinctrl-pic32.h
pinctrl-pistachio.c
pinctrl-rk805.c
pinctrl-rockchip.c
pinctrl-rza1.c
pinctrl-rza2.c
pinctrl: renesas: rza2: Add lock around pinctrl_generic{{add,remove}_group,{add,remove}_function}
2023-08-30 16:27:28 +02:00
pinctrl-rzn1.c
pinctrl-single.c
pinctrl: single: fix potential NULL dereference
2023-02-22 12:50:32 +01:00
pinctrl-st.c
pinctrl-stmfx.c
pinctrl-sx150x.c
pinctrl-tb10x.c
pinctrl-u300.c
pinctrl-utils.c
pinctrl-utils.h
pinctrl-xway.c
pinctrl-zynq.c
pinmux.c
pinmux.h