Skip to content

Commit 176fda5

Browse files
Yuuoniybroonie
authored andcommitted
spi: Fix reference count leak in slave_show()
Fix a reference count leak in slave_show() by properly putting the device reference obtained from device_find_any_child(). Fixes: 6c36406 ("spi: core: Add support for registering SPI slave controllers") Fixes: c21b083 ("spi: Use device_find_any_child() instead of custom approach") Signed-off-by: Miaoqian Lin <linmq006@gmail.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://patch.msgid.link/20250319032305.70340-1-linmq006@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent 4701f33 commit 176fda5

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

drivers/spi/spi.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2954,9 +2954,13 @@ static ssize_t slave_show(struct device *dev, struct device_attribute *attr,
29542954
struct spi_controller *ctlr = container_of(dev, struct spi_controller,
29552955
dev);
29562956
struct device *child;
2957+
int ret;
29572958

29582959
child = device_find_any_child(&ctlr->dev);
2959-
return sysfs_emit(buf, "%s\n", child ? to_spi_device(child)->modalias : NULL);
2960+
ret = sysfs_emit(buf, "%s\n", child ? to_spi_device(child)->modalias : NULL);
2961+
put_device(child);
2962+
2963+
return ret;
29602964
}
29612965

29622966
static ssize_t slave_store(struct device *dev, struct device_attribute *attr,

0 commit comments

Comments
 (0)