projects/linux·commit 88d324e6

Merge tag 'spi-fix-v6.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi

88d324e6 · Linus Torvalds <[email protected]> · 2025-03-21 14:07:40 -07:00

Pull spi fix from Mark Brown:
 "This is a straightforward fix for a reference count leak in the rarely
  used SPI device mode functionality"

* tag 'spi-fix-v6.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
  spi: Fix reference count leak in slave_show()
Commit
88d324e69ea9f3ae1c1905ea75d717c08bdb8e15
Parents
21d1ccf0 · 176fda56

Merge commit. Changes below are compared with the first parent: 21d1ccf0.

Changes

1 files changed · +5 −1

FileStatusAddDelContent
drivers/spi/spi.cmodified+5−1View file

drivers/spi/spi.c

View file
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index a7a4647..ff07c87 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -2954,9 +2954,13 @@ static ssize_t slave_show(struct device *dev, struct device_attribute *attr,
struct spi_controller *ctlr = container_of(dev, struct spi_controller,
dev);
struct device *child;
+ int ret;
child = device_find_any_child(&ctlr->dev);
- return sysfs_emit(buf, "%s\n", child ? to_spi_device(child)->modalias : NULL);
+ ret = sysfs_emit(buf, "%s\n", child ? to_spi_device(child)->modalias : NULL);
+ put_device(child);
+
+ return ret;
}
static ssize_t slave_store(struct device *dev, struct device_attribute *attr,