Re: [PATCH 1/1] s390/dasd: fix string length handling
From: Nick Desaulniers <ndesaulniers@google.com>
Date: 2023-08-28 22:47:43
Also in:
linux-s390, lkml, llvm
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@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>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@kernel.org> Closes: https://github.com/ClangBuiltLinux/linux/issues/1923 Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> I also like David's idea of passing `char ident [DASD_UID_STRLEN]`, too, but I don't feel strongly either way.