[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKwvOdn0xoVWjQ6ufM_rojtKb0f1i1hW-J_xYGfKDNFdHwaeHQ@mail.gmail.com>
Date: Tue, 29 Aug 2023 09:45:38 -0700
From: Nick Desaulniers <ndesaulniers@...gle.com>
To: Helge Deller <deller@....de>
Cc: linux-fbdev@...r.kernel.org,
dri-devel <dri-devel@...ts.freedesktop.org>,
clang-built-linux <llvm@...ts.linux.dev>,
LKML <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Nathan Chancellor <nathan@...nel.org>
Subject: truncation in drivers/video/fbdev/neofb.c
Helge,
A recent change in clang made it better about spotting snprintf that
will result in truncation. Nathan reported the following instances:
drivers/video/fbdev/neofb.c:1959:3: warning: 'snprintf' will always be
truncated; specified size is 16, but format string expands to at least
17 [-Wfortify-source]
drivers/video/fbdev/neofb.c:1963:3: warning: 'snprintf' will always be
truncated; specified size is 16, but format string expands to at least
18 [-Wfortify-source]
drivers/video/fbdev/neofb.c:1967:3: warning: 'snprintf' will always be
truncated; specified size is 16, but format string expands to at least
17 [-Wfortify-source]
drivers/video/fbdev/neofb.c:1971:3: warning: 'snprintf' will always be
truncated; specified size is 16, but format string expands to at least
17 [-Wfortify-source]
drivers/video/fbdev/neofb.c:1978:3: warning: 'snprintf' will always be
truncated; specified size is 16, but format string expands to at least
18 [-Wfortify-source]
drivers/video/fbdev/neofb.c:1985:3: warning: 'snprintf' will always be
truncated; specified size is 16, but format string expands to at least
17 [-Wfortify-source]
drivers/video/fbdev/neofb.c:1992:3: warning: 'snprintf' will always be
truncated; specified size is 16, but format string expands to at least
18 [-Wfortify-source]
https://github.com/ClangBuiltLinux/linux/issues/1923
Clang is right here. `info->fix.id` is declared as `char id[16];` so
indeed string literals like "MagicGraph 256AV+" indeed lead to
truncation. But this is declared in include/uapi/linux/fb.h; I assume
those headers cant be changed? Can the strings be shortened then? Is
it perhaps time to delete this driver?
I see AKPM mentioned alluded to this in
commit 0e90454 ("neofb: avoid overwriting fb_info fields")
(Also, snprintf probably isn't necessary for string literals that
don't contain format strings)
--
Thanks,
~Nick Desaulniers
Powered by blists - more mailing lists