When creating a physical device name in the driver the snprintf() takes an up to 32 characters argument along with the additional 8 characters and tries to pack this into 32 bytes array. GCC complains about that when build with `make W=1`: drivers/input/mouse/alps.c:1411:9: note: ‘snprintf’ output between 8 and 39 bytes into a destination of size 32 1411 | snprintf(priv->phys3, sizeof(priv->phys3), "%s/%s", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1412 | psmouse->ps2dev.serio->phys, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1413 | (priv->dev2 ? "input2" : "input1")); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/input/mouse/alps.c:3106:17: note: ‘snprintf’ output between 8 and 39 bytes into a destination of size 32 3106 | snprintf(priv->phys2, sizeof(priv->phys2), "%s/input1", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3107 | psmouse->ps2dev.serio->phys); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Increase the size to cover all possible cases. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> --- drivers/input/mouse/alps.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/input/mouse/alps.h b/drivers/input/mouse/alps.h index 0a1048cf23f6..9c8f69694f60 100644 --- a/drivers/input/mouse/alps.h +++ b/drivers/input/mouse/alps.h @@ -287,8 +287,8 @@ struct alps_data { struct psmouse *psmouse; struct input_dev *dev2; struct input_dev *dev3; - char phys2[32]; - char phys3[32]; + char phys2[40]; + char phys3[40]; struct delayed_work dev3_register_work; /* these are autodetected when the device is identified */ -- 2.47.2