linux-stable/drivers/gpio
Bartosz Golaszewski 21bc9b1589 gpio: cdev: sanitize the label before requesting the interrupt
commit b34490879b upstream.

When an interrupt is requested, a procfs directory is created under
"/proc/irq/<irqnum>/<label>" where <label> is the string passed to one of
the request_irq() variants.

What follows is that the string must not contain the "/" character or
the procfs mkdir operation will fail. We don't have such constraints for
GPIO consumer labels which are used verbatim as interrupt labels for
GPIO irqs. We must therefore sanitize the consumer string before
requesting the interrupt.

Let's replace all "/" with ":".

Cc: stable@vger.kernel.org
Reported-by: Stefan Wahren <wahrenst@gmx.net>
Closes: https://lore.kernel.org/linux-gpio/39fe95cb-aa83-4b8b-8cab-63947a726754@gmx.net/
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Kent Gibson <warthog618@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-04-10 16:35:47 +02:00
..
gpio-74x164.c gpio: 74x164: Enable output pins after registers are reset 2024-03-06 14:48:43 +00:00
gpio-74xx-mmio.c gpio: 74xx-mmio: remove unneeded platform_set_drvdata() call 2023-07-29 16:03:17 +02:00
gpio-104-dio-48e.c gpio: 104-dio-48e: Add Counter/Timer support 2023-07-27 09:37:33 +02:00
gpio-104-idi-48.c gpio: 104-idi-48: Enable use_raw_spinlock for idi48_regmap_config 2023-04-11 21:08:31 +02:00
gpio-104-idio-16.c gpio: 104-idio-16: Migrate to the regmap API 2023-08-11 14:23:29 +02:00
gpio-adnp.c gpio: Switch i2c drivers back to use .probe() 2023-05-23 10:09:11 +02:00
gpio-adp5520.c
gpio-aggregator.c gpio: aggregator: Set up a parser of delay line parameters 2023-06-16 11:02:07 +02:00
gpio-altera-a10sr.c gpio: altera-a10sr: remove redundant of_match_ptr 2023-08-03 15:58:45 +02:00
gpio-altera.c gpio: altera: drop of_match_ptr for ID table 2023-03-15 10:38:03 +01:00
gpio-amd-fch.c
gpio-amd8111.c gpio: amd8111: Fix PCI device reference count leak 2022-11-30 17:18:35 +01:00
gpio-amdpt.c
gpio-arizona.c gpio: arizona: Remove unused header(s) 2022-10-19 17:03:55 +03:00
gpio-aspeed-sgpio.c gpio: aspeed-sgpio: Convert to immutable irq_chip 2023-03-10 16:17:20 +01:00
gpio-aspeed.c gpio: aspeed: fix the GPIO number passed to pinctrl_gpio_set_config() 2023-10-05 08:41:56 +02:00
gpio-ath79.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-bcm-kona.c gpio: bcm-kona: Drop unused pdev member in private data structure 2023-07-19 13:26:22 +02:00
gpio-bd9571mwv.c
gpio-bd71815.c
gpio-bd71828.c
gpio-brcmstb.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-bt8xx.c
gpio-cadence.c gpio: cadence: Convert to immutable irq_chip 2023-03-10 16:17:24 +01:00
gpio-clps711x.c gpio: clps711x: remove redundant of_match_ptr() 2023-08-03 15:58:46 +02:00
gpio-creg-snps.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-crystalcove.c
gpio-cs5535.c
gpio-da9052.c gpio: da9052: Remove unused header(s) 2022-10-19 17:03:55 +03:00
gpio-da9055.c
gpio-davinci.c gpio: davinci: Remove redundant dev_err_probe() 2023-07-29 15:58:32 +02:00
gpio-dln2.c
gpio-ds4520.c gpio: ds4520: Add ADI DS4520 GPIO Expander Support 2023-07-29 15:56:33 +02:00
gpio-dwapb.c gpio: dwapb: mask/unmask IRQ when disable/enale it 2024-01-01 12:42:46 +00:00
gpio-eic-sprd.c gpio: eic-sprd: Clear interrupt after set the interrupt type 2024-01-31 16:19:12 -08:00
gpio-elkhartlake.c gpio: elkhartlake: Introduce Intel Elkhart Lake PSE GPIO 2023-03-06 17:10:46 +02:00
gpio-em.c
gpio-en7523.c
gpio-ep93xx.c gpio: ep93xx: remove unused variable 2023-01-27 14:05:38 +01:00
gpio-exar.c gpio: exar: remove unneeded platform_set_drvdata() call 2023-07-29 16:04:38 +02:00
gpio-f7188x.c gpio-f7188x: fix chip name and pin count on Nuvoton chip 2023-05-23 10:47:41 +02:00
gpio-ftgpio010.c gpio: ftgpio010: Do not check for 0 return after calling platform_get_irq() 2023-08-03 15:54:11 +02:00
gpio-fxl6408.c gpio: Switch i2c drivers back to use .probe() 2023-05-23 10:09:11 +02:00
gpio-ge.c gpio: ge: Replace GPLv2 boilerplate with SPDX 2023-07-27 09:33:07 +02:00
gpio-gpio-mm.c gpio: gpio-mm: Migrate to regmap API 2023-01-30 15:55:28 +01:00
gpio-grgpio.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-gw-pld.c gpio: Switch i2c drivers back to use .probe() 2023-05-23 10:09:11 +02:00
gpio-hisi.c gpio: hisi: Convert to immutable irq_chip 2023-03-10 16:17:27 +01:00
gpio-hlwd.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-htc-egpio.c
gpio-i8255.c gpio: i8255: Remove unused legacy interface 2023-01-30 15:55:28 +01:00
gpio-i8255.h gpio: i8255: Remove unused legacy interface 2023-01-30 15:55:28 +01:00
gpio-ich.c gpio: ich: Use devm_gpiochip_add_data() to simplify remove path 2023-03-09 16:08:39 +02:00
gpio-idio-16.c gpio: idio-16: Remove unused legacy interface 2023-08-11 14:23:32 +02:00
gpio-idio-16.h gpio: idio-16: Remove unused legacy interface 2023-08-11 14:23:32 +02:00
gpio-idt3243x.c gpio: idt3243x: Convert to immutable irq_chip 2023-03-10 16:17:30 +01:00
gpio-imx-scu.c gpio: imx-scu: Use ARRAY_SIZE for array length 2023-08-11 16:20:02 +02:00
gpio-it87.c
gpio-ixp4xx.c gpio: ixp4xx: remove redundant of_match_ptr() 2023-08-03 15:58:48 +02:00
gpio-janz-ttl.c
gpio-kempld.c
gpio-latch.c gpio: Add gpio latch driver 2022-10-26 14:52:01 +02:00
gpio-ljca.c gpio: Add support for Intel LJCA USB GPIO driver 2023-04-26 11:40:29 +01:00
gpio-logicvc.c gpio: logicvc: remove unneeded platform_set_drvdata() call 2023-07-29 16:05:50 +02:00
gpio-loongson-64bit.c gpio: loongson: Remove unnecessary .owner 2023-03-10 16:27:28 +01:00
gpio-loongson.c
gpio-loongson1.c gpio: loongson1: Add DT support 2023-03-23 14:31:18 +01:00
gpio-lp873x.c
gpio-lp3943.c gpio: lp3943: remove unneeded platform_set_drvdata() call 2023-08-01 21:14:48 +02:00
gpio-lp87565.c
gpio-lpc18xx.c gpio: lpc18xx: Remove unused of_gpio.h inclusion 2023-06-19 14:45:29 +02:00
gpio-lpc32xx.c gpio: lpc32xx: remove redundant CONFIG_OF and of_match_ptr() 2023-08-03 15:58:49 +02:00
gpio-madera.c
gpio-max730x.c
gpio-max732x.c gpio: max732x: remove redundant CONFIG_OF and of_match_ptr() 2023-08-03 15:56:30 +02:00
gpio-max3191x.c gpio: max3191x: remove redundant of_match_ptr() 2023-08-03 15:58:50 +02:00
gpio-max7300.c gpio: Switch i2c drivers back to use .probe() 2023-05-23 10:09:11 +02:00
gpio-max7301.c
gpio-max77620.c gpio: max77620: remove unneeded platform_set_drvdata() call 2023-08-01 21:15:23 +02:00
gpio-max77650.c
gpio-mb86s7x.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-mc33880.c
gpio-menz127.c
gpio-merrifield.c gpio: merrifield: Utilise temporary variable for struct device 2023-03-06 17:10:46 +02:00
gpio-ml-ioh.c
gpio-mlxbf.c
gpio-mlxbf2.c gpio: mlxbf2: Convert to immutable irq_chip 2023-03-10 16:17:32 +01:00
gpio-mlxbf3.c gpio: mlxbf3: add an error code check in mlxbf3_gpio_probe 2024-01-25 15:35:58 -08:00
gpio-mm-lantiq.c gpio: mm-lantiq: Fix typo in the newly added header filename 2023-03-23 16:22:18 +02:00
gpio-mmio.c gpio: mmio: handle "ngpios" properly in bgpio_init() 2023-07-18 20:59:25 +02:00
gpio-mockup.c gpio: mockup: Fix mode of debugfs files 2023-05-17 11:19:32 +02:00
gpio-moxtet.c
gpio-mpc8xxx.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-mpc5200.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-msc313.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-mt7621.c gpio updates for v6.1-rc1 2022-10-08 09:46:29 -07:00
gpio-mvebu.c gpio: mvebu: fix irq domain leak 2023-07-20 14:38:36 +02:00
gpio-mxc.c gpio: mxc: Use helper function devm_clk_get_optional_enabled() 2023-08-21 14:11:16 +02:00
gpio-mxs.c gpio: mxs: fix Wvoid-pointer-to-enum-cast warning 2023-08-11 16:21:46 +02:00
gpio-octeon.c
gpio-omap.c gpio: omap: Remove redundant dev_err_probe() and zero value handle code 2023-07-29 15:50:44 +02:00
gpio-palmas.c gpio: palmas: remove unnecessary call to platform_set_drvdata() 2023-08-01 21:22:38 +02:00
gpio-pca953x.c gpio: pca953x: add support for TCA9538 2023-08-25 13:16:54 +02:00
gpio-pca9570.c gpio: pca9570: fix kerneldoc 2023-08-21 10:39:58 +02:00
gpio-pcf857x.c gpio: pcf857x: Extend match data support for OF tables 2023-08-22 11:41:17 +02:00
gpio-pch.c
gpio-pci-idio-16.c gpio: pci-idio-16: Migrate to the regmap API 2023-08-11 14:23:31 +02:00
gpio-pcie-idio-24.c gpio: pcie-idio-24: Migrate to the regmap API 2023-08-11 14:23:33 +02:00
gpio-pisosr.c gpio: pisosr: Use devm_gpiochip_add_data() to simplify remove path 2023-07-20 17:22:10 +02:00
gpio-pl061.c gpio: pl061: Add missing header(s) 2022-10-24 12:29:26 +03:00
gpio-pmic-eic-sprd.c gpio: pmic-eic-sprd: Add can_sleep flag for PMIC EIC chip 2023-09-27 09:12:09 +02:00
gpio-pxa.c gpio: pxa: disable pinctrl calls for MMP_GPIO 2023-10-02 09:18:53 +02:00
gpio-raspberrypi-exp.c gpio: raspberrypi-exp: remove redundant of_match_ptr() 2023-08-03 15:58:52 +02:00
gpio-rc5t583.c gpio: rc5t583: remove unneeded call to platform_set_drvdata() 2023-08-01 21:26:48 +02:00
gpio-rcar.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-rda.c gpio: rda: Convert to immutable irq_chip 2023-03-23 14:31:18 +01:00
gpio-rdc321x.c
gpio-realtek-otto.c
gpio-reg.c gpio: reg: Add missing header(s) 2023-03-06 12:33:02 +02:00
gpio-regmap.c gpio: regmap: Add missing header(s) 2023-03-06 12:33:02 +02:00
gpio-rockchip.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-sa1100.c gpio: sa1100: include <mach/generic.h> 2023-05-17 11:56:24 +02:00
gpio-sama5d2-piobu.c gpio: sama5d2-piobu: remove unneeded call to platform_set_drvdata() 2023-08-01 21:27:38 +02:00
gpio-sch.c gpio: sch: remove unneeded call to platform_set_drvdata() 2023-08-03 15:44:46 +02:00
gpio-sch311x.c gpio: sch311x: Use devm_gpiochip_add_data() to simplify remove path 2023-05-17 11:52:14 +02:00
gpio-sifive.c gpio: sifive: Allow building the driver as a module 2023-07-25 12:00:42 +02:00
gpio-sim.c gpio: sim: initialize a managed pointer when declaring it 2023-11-20 11:59:04 +01:00
gpio-siox.c gpio: siox: Convert to immutable irq_chip 2023-03-23 14:31:18 +01:00
gpio-sl28cpld.c gpio: sl28cpld: Replace irqchip mask_invert with unmask_base 2022-11-15 15:41:45 +01:00
gpio-sodaville.c
gpio-spear-spics.c
gpio-sprd.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-stmpe.c gpio: stmpe: Convert to immutable irq_chip 2023-03-23 14:31:18 +01:00
gpio-stp-xway.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-syscon.c gpio: syscon: remove unneeded call to platform_set_drvdata() 2023-08-03 15:44:49 +02:00
gpio-tangier.c gpio: tangier: calculate number of ctx using temporary variable 2023-05-23 10:22:25 +02:00
gpio-tangier.h gpio: elkhartlake: Introduce Intel Elkhart Lake PSE GPIO 2023-03-06 17:10:46 +02:00
gpio-tb10x.c gpio: tb10x: Fix an error handling path in tb10x_gpio_probe() 2023-09-20 11:52:14 +02:00
gpio-tc3589x.c gpio: tc3589x: Make irqchip immutable 2022-10-03 20:56:46 +02:00
gpio-tegra.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-tegra186.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-thunderx.c gpio: thunderx: Convert to immutable irq_chip 2023-03-23 14:31:18 +01:00
gpio-timberdale.c gpio: timberdale: Fix potential deadlock on &tgpio->lock 2023-09-27 08:51:28 +02:00
gpio-tn48m.c
gpio-tpic2810.c gpio: Switch i2c drivers back to use .probe() 2023-05-23 10:09:11 +02:00
gpio-tps6586x.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-tps65086.c gpio: tps65086: Use devm_gpiochip_add_data() to simplify remove path 2023-05-17 11:40:40 +02:00
gpio-tps65218.c gpio: tps65218: remove redundant of_match_ptr() 2023-08-03 15:55:34 +02:00
gpio-tps65219.c gpio: tps65219: add GPIO support for TPS65219 PMIC 2023-06-13 14:49:56 +02:00
gpio-tps65910.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-tps65912.c
gpio-tps68470.c gpio: tps68470: Make tps68470_gpio_output() always set the initial value 2023-07-19 13:22:13 +02:00
gpio-tqmx86.c gpio: tqmx86: remove unneeded call to platform_set_drvdata() 2023-08-03 15:47:58 +02:00
gpio-ts4800.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-ts4900.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-ts5500.c
gpio-twl4030.c This removes all usage of global GPIO numbers from 2023-05-31 17:01:34 +02:00
gpio-twl6040.c
gpio-uniphier.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-vf610.c gpio: vf610: set value before the direction to avoid a glitch 2023-10-18 11:01:08 +02:00
gpio-viperboard.c
gpio-virtio.c
gpio-visconti.c gpio: visconti: Convert to immutable irq_chip 2023-03-23 14:31:18 +01:00
gpio-vx855.c gpio: vx855: remove unneeded call to platform_set_drvdata() 2023-08-03 15:48:15 +02:00
gpio-wcd934x.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-wcove.c
gpio-winbond.c
gpio-wm831x.c
gpio-wm8350.c gpio: wm8350: Remove unused header(s) 2022-10-24 12:29:41 +03:00
gpio-wm8994.c
gpio-ws16c48.c gpio updates for v6.6 2023-08-29 10:21:56 -07:00
gpio-xgene-sb.c
gpio-xgene.c
gpio-xgs-iproc.c gpio: xgs-iproc: Convert to immutable irq_chip 2023-03-23 14:31:18 +01:00
gpio-xilinx.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-xlp.c gpio: xlp: Convert to immutable irq_chip 2023-03-23 14:31:19 +01:00
gpio-xra1403.c gpio: xra1403: remove redundant of_match_ptr() 2023-08-03 15:58:54 +02:00
gpio-xtensa.c
gpio-zevio.c gpio: zevio: remove unneeded call to platform_set_drvdata() 2023-08-03 15:48:27 +02:00
gpio-zynq.c gpio: zynq: restore zynq_gpio_irq_reqres/zynq_gpio_irq_relres callbacks 2023-09-06 17:08:51 +02:00
gpio-zynqmp-modepin.c
gpiolib-acpi.c gpiolib: acpi: Ignore touchpad wakeup on GPD G1619-04 2024-01-31 16:19:07 -08:00
gpiolib-acpi.h gpiolib: Clean up headers 2023-03-06 12:33:02 +02:00
gpiolib-cdev.c gpio: cdev: sanitize the label before requesting the interrupt 2024-04-10 16:35:47 +02:00
gpiolib-cdev.h
gpiolib-devres.c gpiolib: Pass consumer device through to core in devm_fwnode_gpiod_get_index() 2024-03-26 18:19:34 -04:00
gpiolib-legacy.c gpiolib: Kill unused GPIOF_OPEN_* 2023-06-01 09:52:39 +02:00
gpiolib-of.c gpiolib: of: Add quirk for mt2701-cs42448 ASoC sound 2023-11-28 17:19:43 +00:00
gpiolib-of.h gpiolib: Clean up headers 2023-03-06 12:33:02 +02:00
gpiolib-swnode.c gpiolib: Clean up headers 2023-03-06 12:33:02 +02:00
gpiolib-swnode.h gpiolib: add support for software nodes 2022-11-15 11:21:43 +01:00
gpiolib-sysfs.c gpio: sysfs: drop the mention of gpiochip_find() from sysfs code 2024-01-25 15:35:40 -08:00
gpiolib-sysfs.h gpiolib: Clean up headers 2022-10-24 12:30:26 +03:00
gpiolib.c gpiolib: Pass consumer device through to core in devm_fwnode_gpiod_get_index() 2024-03-26 18:19:34 -04:00
gpiolib.h gpiolib: Pass consumer device through to core in devm_fwnode_gpiod_get_index() 2024-03-26 18:19:34 -04:00
Kconfig gpio: vf610: allow disabling the vf610 driver 2024-03-26 18:19:26 -04:00
Makefile gpio: ds4520: Add ADI DS4520 GPIO Expander Support 2023-07-29 15:56:33 +02:00
TODO gpiolib: split of_mm_gpio_chip out of linux/of_gpio.h 2023-03-06 12:33:01 +02:00