On Mon, Aug 28, 2023 at 3:46 PM Nick Desaulniers <ndesaulniers@xxxxxxxxxx> wrote: > > On Mon, Aug 28, 2023 at 05:31:42PM +0200, Heiko Carstens wrote: > > Building dasd_eckd.o with latest clang reveals this bug: > > > > CC drivers/s390/block/dasd_eckd.o > > drivers/s390/block/dasd_eckd.c:1082:3: warning: 'snprintf' will always be truncated; > > specified size is 1, but format string expands to at least 11 [-Wfortify-source] > > 1082 | snprintf(print_uid, sizeof(*print_uid), > > | ^ > > drivers/s390/block/dasd_eckd.c:1087:3: warning: 'snprintf' will always be truncated; > > specified size is 1, but format string expands to at least 10 [-Wfortify-source] > > 1087 | snprintf(print_uid, sizeof(*print_uid), > > | ^ > > > > Fix this by moving and using the existing UID_STRLEN for the arrays > > that are being written to. Also rename UID_STRLEN to DASD_UID_STRLEN > > to clarify its scope. > > > > Fixes: 23596961b437 ("s390/dasd: split up dasd_eckd_read_conf") > > Reviewed-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxx> > > Signed-off-by: Heiko Carstens <hca@xxxxxxxxxxxxx> > > Thanks for the patch! Nathan just reported a bunch of these. I took a > look at these two and thought "yeah that's clearly a bug in the kernel > sources." Fix LGTM. > > Reported-by: Nathan Chancellor <nathan@xxxxxxxxxx> > Closes: https://github.com/ClangBuiltLinux/linux/issues/1923 > Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> Meant to add: Tested-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> # build > > I also like David's idea of passing `char ident [DASD_UID_STRLEN]`, too, > but I don't feel strongly either way. -- Thanks, ~Nick Desaulniers