linux/drivers/staging/greybus
Johan Hovold 7b2cdbd67f staging: greybus: loopback_test: fix potential path truncations
commit ae62cf5eb2 upstream.

Newer GCC warns about possible truncations of two generated path names as
we're concatenating the configurable sysfs and debugfs path prefixes
with a filename and placing the results in buffers of the same size as
the maximum length of the prefixes.

	snprintf(d->name, MAX_STR_LEN, "gb_loopback%u", dev_id);

	snprintf(d->sysfs_entry, MAX_SYSFS_PATH, "%s%s/",
		 t->sysfs_prefix, d->name);

	snprintf(d->debugfs_entry, MAX_SYSFS_PATH, "%sraw_latency_%s",
		 t->debugfs_prefix, d->name);

Fix this by separating the maximum path length from the maximum prefix
length and reducing the latter enough to fit the generated strings.

Note that we also need to reduce the device-name buffer size as GCC
isn't smart enough to figure out that we ever only used MAX_STR_LEN
bytes of it.

Fixes: 6b0658f687 ("greybus: tools: Add tools directory to greybus repo and add loopback")
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20200312110151.22028-4-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-03-25 08:25:59 +01:00
..
Documentation
tools staging: greybus: loopback_test: fix potential path truncations 2020-03-25 08:25:59 +01:00
Kconfig
Makefile
TODO
arche-apb-ctrl.c
arche-platform.c
arche_platform.h
audio_apbridgea.c
audio_apbridgea.h
audio_codec.c
audio_codec.h
audio_gb.c
audio_manager.c
audio_manager.h
audio_manager_module.c
audio_manager_private.h
audio_manager_sysfs.c
audio_module.c
audio_topology.c
authentication.c
bootrom.c
camera.c
firmware.h
fw-core.c
fw-download.c
fw-management.c
gb-camera.h
gbphy.c
gbphy.h
gpio.c
greybus_authentication.h
greybus_firmware.h
hid.c
i2c.c
light.c
log.c
loopback.c
power_supply.c
pwm.c
raw.c
sdio.c
spi.c
spilib.c
spilib.h
uart.c
usb.c
vibrator.c