linux-uconsole/drivers/leds/trigger
Rasmus Villemoes ee096f0dc4 leds: trigger: netdev: use memcpy in device_name_store
[ Upstream commit 9093464330 ]

If userspace doesn't end the input with a newline (which can easily
happen if the write happens from a C program that does write(fd,
iface, strlen(iface))), we may end up including garbage from a
previous, longer value in the device_name. For example

# cat device_name

# printf 'eth12' > device_name
# cat device_name
eth12
# printf 'eth3' > device_name
# cat device_name
eth32

I highly doubt anybody is relying on this behaviour, so switch to
simply copying the bytes (we've already checked that size is <
IFNAMSIZ) and unconditionally zero-terminate it; of course, we also
still have to strip a trailing newline.

This is also preparation for future patches.

Fixes: 06f502f57d ("leds: trigger: Introduce a NETDEV trigger")
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
Signed-off-by: Sasha Levin (Microsoft) <sashal@kernel.org>
2019-05-04 09:20:22 +02:00
..
Kconfig leds: triggers: don't depend on LEDS_TRIGGERS twice 2018-06-28 21:34:44 +02:00
ledtrig-activity.c leds: activity trigger: simplifications from core changes 2018-07-05 23:21:14 +02:00
ledtrig-backlight.c leds: backlight trigger: simplifications from core changes 2018-07-05 23:21:14 +02:00
ledtrig-camera.c leds: triggers: make the MODULE_LICENSE string match the actual license 2018-07-05 22:59:36 +02:00
ledtrig-cpu.c leds/trigger/cpu: Add LED trigger for all CPUs aggregated 2017-03-06 22:06:47 +01:00
ledtrig-default-on.c leds: default-on trigger: make use of module_led_trigger() 2018-07-05 23:21:14 +02:00
ledtrig-disk.c leds: Extends disk trigger for reads and writes 2018-03-11 20:01:55 +01:00
ledtrig-gpio.c leds: gpio trigger: simplifications from core changes 2018-07-05 23:21:15 +02:00
ledtrig-heartbeat.c leds: heartbeat trigger: simplifications from core changes 2018-07-05 23:21:13 +02:00
ledtrig-mtd.c leds: trigger: Introduce a MTD (NAND/NOR) trigger 2016-04-13 10:23:14 +02:00
ledtrig-netdev.c leds: trigger: netdev: use memcpy in device_name_store 2019-05-04 09:20:22 +02:00
ledtrig-oneshot.c leds: oneshot trigger: simplifications from core changes 2018-07-05 23:21:13 +02:00
ledtrig-panic.c leds: triggers: Allow to switch the trigger to "panic" on a kernel panic 2016-05-06 10:22:09 +02:00
ledtrig-timer.c leds: timer trigger: simplifications from core changes 2018-07-05 23:21:12 +02:00
ledtrig-transient.c leds: transient trigger: simplifications from core changes 2018-07-05 23:21:12 +02:00
Makefile leds: trigger: Introduce a NETDEV trigger 2018-01-08 21:28:11 +01:00