Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

leds: trigger: ledtrig-cpu:: Fix 'output may be truncated' issue for 'cpu'

In order to teach the compiler that 'trig->name' will never be truncated,
we need to tell it that 'cpu' is not negative.

When building with W=1, this fixes the following warnings:

drivers/leds/trigger/ledtrig-cpu.c: In function ‘ledtrig_cpu_init’:
drivers/leds/trigger/ledtrig-cpu.c:155:56: error: ‘%d’ directive output may be truncated writing between 1 and 11 bytes into a region of size 5 [-Werror=format-truncation=]
155 | snprintf(trig->name, MAX_NAME_LEN, "cpu%d", cpu);
| ^~
drivers/leds/trigger/ledtrig-cpu.c:155:52: note: directive argument in the range [-2147483648, 7]
155 | snprintf(trig->name, MAX_NAME_LEN, "cpu%d", cpu);
| ^~~~~~~
drivers/leds/trigger/ledtrig-cpu.c:155:17: note: ‘snprintf’ output between 5 and 15 bytes into a destination of size 8
155 | snprintf(trig->name, MAX_NAME_LEN, "cpu%d", cpu);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Fixes: 8f88731d052d ("led-triggers: create a trigger for CPU activity")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/3f4be7a99933cf8566e630da54f6ab913caac432.1695453322.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Lee Jones <lee@kernel.org>

authored by

Christophe JAILLET and committed by
Lee Jones
ff50f532 76fe464c

+2 -2
+2 -2
drivers/leds/trigger/ledtrig-cpu.c
··· 130 130 131 131 static int __init ledtrig_cpu_init(void) 132 132 { 133 - int cpu; 133 + unsigned int cpu; 134 134 int ret; 135 135 136 136 /* Supports up to 9999 cpu cores */ ··· 152 152 if (cpu >= 8) 153 153 continue; 154 154 155 - snprintf(trig->name, MAX_NAME_LEN, "cpu%d", cpu); 155 + snprintf(trig->name, MAX_NAME_LEN, "cpu%u", cpu); 156 156 157 157 led_trigger_register_simple(trig->name, &trig->_trig); 158 158 }