linux-stable/drivers/pinctrl
Zeng Heng 5834a3a98c pinctrl: devicetree: fix null pointer dereferencing in pinctrl_dt_to_map
[ Upstream commit 91d5c5060e ]

Here is the BUG report by KASAN about null pointer dereference:

BUG: KASAN: null-ptr-deref in strcmp+0x2e/0x50
Read of size 1 at addr 0000000000000000 by task python3/2640
Call Trace:
 strcmp
 __of_find_property
 of_find_property
 pinctrl_dt_to_map

kasprintf() would return NULL pointer when kmalloc() fail to allocate.
So directly return ENOMEM, if kasprintf() return NULL pointer.

Fixes: 57291ce295 ("pinctrl: core device tree mapping table parsing support")
Signed-off-by: Zeng Heng <zengheng4@huawei.com>
Link: https://lore.kernel.org/r/20221110082056.2014898-1-zengheng4@huawei.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-11-26 09:27:31 +01:00
..
actions pinctrl: Get rid of duplicate of_node assignment in the drivers 2021-12-16 04:18:30 +01:00
aspeed Pin control bulk changes for v6.0: 2022-08-10 11:01:44 -07:00
bcm Pin control bulk changes for v6.0: 2022-08-10 11:01:44 -07:00
berlin pinctrl: berlin: bg4ct: Use devm_platform_*ioremap_resource() APIs 2022-05-22 22:45:47 +02:00
cirrus pinctrl: Propagate firmware node from a parent device 2021-12-22 03:09:56 +01:00
freescale Pin control bulk changes for v6.0: 2022-08-10 11:01:44 -07:00
intel Pin control bulk changes for v6.0: 2022-08-10 11:01:44 -07:00
mediatek pinctrl: mediatek: common-v2: Fix bias-disable for PULL_PU_PD_RSEL_TYPE 2022-11-26 09:27:30 +01:00
meson intel-gpio for v5.19-1 2022-05-04 23:15:21 +02:00
mvebu Pin control bulk changes for v6.0: 2022-08-10 11:01:44 -07:00
nomadik pinctrl: nomadik: Fix refcount leak in nmk_pinctrl_dt_subnode_to_map 2022-06-15 16:04:01 +02:00
nuvoton Pin control bulk changes for the v5.19 series: 2022-05-28 11:15:54 -07:00
pxa drivers/pinctrl: remove redundant ret variable 2022-01-24 01:12:54 +01:00
qcom pinctrl: qcom: Avoid glitching lines when we first mux to output 2022-11-04 00:00:27 +09:00
ralink pinctrl: ralink: Check for null return of devm_kcalloc 2022-07-11 14:40:17 +02:00
renesas Pin control bulk changes for v6.0: 2022-08-10 11:01:44 -07:00
samsung pinctrl: samsung: do not use bindings header with constants 2022-06-28 15:55:20 +02:00
spear pinctrl: Get rid of duplicate of_node assignment in the drivers 2021-12-16 04:18:30 +01:00
sprd
stm32 pinctrl: stm32: fix optional IRQ support to gpios 2022-06-28 16:12:40 +02:00
sunplus pinctrl: sunplus: Add check for kcalloc 2022-07-11 15:04:19 +02:00
sunxi pinctrl: sunxi: Fix name for A100 R_PIO 2022-08-26 10:37:24 +02:00
tegra pinctrl: tegra: tegra194: drop unused pin groups 2022-05-04 23:40:05 +02:00
ti
uniphier pinctrl: uniphier: Add USB device pinmux settings 2022-02-11 01:37:21 +01:00
visconti
vt8500 pinctrl: Get rid of duplicate of_node assignment in the drivers 2021-12-16 04:18:30 +01:00
core.c pinctrl: core: Use device_match_of_node() helper 2022-07-18 11:38:37 +02:00
core.h
devicetree.c pinctrl: devicetree: fix null pointer dereferencing in pinctrl_dt_to_map 2022-11-26 09:27:31 +01:00
devicetree.h
Kconfig Pin control bulk changes for v6.0: 2022-08-10 11:01:44 -07:00
Makefile pinctrl: nuvoton: Add driver for WPCM450 2022-03-15 01:16:20 +01:00
pinconf-generic.c pinctrl: pinconf-generic: Print arguments for bias-pull-* 2022-03-15 01:24:15 +01:00
pinconf.c
pinconf.h
pinctrl-amd.c pinctrl: amd: change dev_warn to dev_dbg for additional feature support 2022-10-26 12:22:55 +02:00
pinctrl-amd.h pinctrl: amd: Implement pinmux functionality 2022-06-15 15:54:20 +02:00
pinctrl-apple-gpio.c pinctrl: apple: Use a raw spinlock for the regmap 2022-05-25 09:37:44 +02:00
pinctrl-artpec6.c
pinctrl-as3722.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_318.RULE 2022-06-10 14:51:36 +02:00
pinctrl-at91-pio4.c pinctrl: at91-pio4: remove #ifdef CONFIG_PM_SLEEP 2022-07-18 11:38:36 +02:00
pinctrl-at91.c pinctrl: at91: Fix typo 'the the' in comment 2022-07-26 09:53:35 +02:00
pinctrl-at91.h
pinctrl-axp209.c pinctrl: axp209: Support the AXP221/AXP223/AXP809 variant 2022-06-30 14:05:57 +02:00
pinctrl-bm1880.c
pinctrl-da850-pupd.c
pinctrl-da9062.c pinctrl: Propagate firmware node from a parent device 2021-12-22 03:09:56 +01:00
pinctrl-digicolor.c pinctrl: Get rid of duplicate of_node assignment in the drivers 2021-12-16 04:18:30 +01:00
pinctrl-equilibrium.c pinctrl: equilibrium: Switch to use fwnode instead of of_node 2022-05-09 13:46:51 +02:00
pinctrl-equilibrium.h pinctrl: equilibrium: Switch to use fwnode instead of of_node 2022-05-09 13:46:51 +02:00
pinctrl-falcon.c
pinctrl-gemini.c
pinctrl-ingenic.c pinctrl: Ingenic: JZ4755 bug fixes 2022-11-04 00:00:24 +09:00
pinctrl-k210.c pinctrl: k210: Fix bias-pull-up 2022-02-11 02:19:47 +01:00
pinctrl-keembay.c pinctrl: keembay: rework loops looking for groups names 2021-12-22 02:57:27 +01:00
pinctrl-lantiq.c
pinctrl-lantiq.h
pinctrl-lpc18xx.c
pinctrl-max77620.c pinctrl: max77620: drop unneeded MODULE_ALIAS 2022-04-22 22:56:46 +02:00
pinctrl-mcp23s08.c pinctrl: Get rid of duplicate of_node assignment in the drivers 2021-12-16 04:18:30 +01:00
pinctrl-mcp23s08.h
pinctrl-mcp23s08_i2c.c
pinctrl-mcp23s08_spi.c
pinctrl-microchip-sgpio.c pinctrl: microchip-sgpio: Switch to use fwnode instead of of_node 2022-05-09 13:47:49 +02:00
pinctrl-ocelot.c pinctrl: ocelot: Fix incorrect trigger of the interrupt. 2022-11-04 00:00:28 +09:00
pinctrl-oxnas.c pinctrl: Get rid of duplicate of_node assignment in the drivers 2021-12-16 04:18:30 +01:00
pinctrl-palmas.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_318.RULE 2022-06-10 14:51:36 +02:00
pinctrl-pic32.c pinctrl: Get rid of duplicate of_node assignment in the drivers 2021-12-16 04:18:30 +01:00
pinctrl-pic32.h
pinctrl-pistachio.c pinctrl: pistachio: fix use of irq_of_parse_and_map() 2022-04-24 16:24:09 +02:00
pinctrl-rk805.c pinctrl: Propagate firmware node from a parent device 2021-12-22 03:09:56 +01:00
pinctrl-rockchip.c pinctrl: rockchip: list all pins in a possible mux route for PX30 2022-11-26 09:27:28 +01:00
pinctrl-rockchip.h pinctrl/rockchip: add rk3588 support 2022-04-29 00:55:02 +02:00
pinctrl-single.c
pinctrl-st.c
pinctrl-starfive.c pinctrl: starfive: Serialize adding groups and functions 2022-07-11 10:22:57 +02:00
pinctrl-stmfx.c pinctrl: Get rid of duplicate of_node assignment in the drivers 2021-12-16 04:18:30 +01:00
pinctrl-sx150x.c pinctrl: Get rid of duplicate of_node assignment in the drivers 2021-12-16 04:18:30 +01:00
pinctrl-tb10x.c
pinctrl-thunderbay.c pinctrl: thunderbay: Use devm_platform_ioremap_resource() 2022-04-23 00:01:55 +02:00
pinctrl-utils.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_318.RULE 2022-06-10 14:51:36 +02:00
pinctrl-utils.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_318.RULE 2022-06-10 14:51:36 +02:00
pinctrl-xway.c pinctrl: Get rid of duplicate of_node assignment in the drivers 2021-12-16 04:18:30 +01:00
pinctrl-zynq.c pinctrl: zynq: use module_platform_driver to simplify the code 2022-03-15 01:46:13 +01:00
pinctrl-zynqmp.c Revert "pinctrl: pinctrl-zynqmp: Add support for output-enable and bias-high-impedance" 2022-11-04 00:00:24 +09:00
pinmux.c pinctrl: add one more "const" for generic function groups 2021-12-22 02:57:27 +01:00
pinmux.h pinctrl: add one more "const" for generic function groups 2021-12-22 02:57:27 +01:00