diff options
| author | Thomas Zimmermann <tzimmermann@suse.de> | 2022-11-21 11:03:13 +0300 |
|---|---|---|
| committer | Thomas Zimmermann <tzimmermann@suse.de> | 2022-11-21 11:03:13 +0300 |
| commit | 29583dfcd2dd72c766422bd05c16f06c6b1fb356 (patch) | |
| tree | a35bc4aa5e84ce6ae0df1b43ca431f6cd8f38997 /lib/string.c | |
| parent | 39dd0cc2e5bd0d5188dd69f27e18783cea7ff06a (diff) | |
| parent | 4e291f2f585313efa5200cce655e17c94906e50a (diff) | |
| download | linux-29583dfcd2dd72c766422bd05c16f06c6b1fb356.tar.xz | |
Merge drm/drm-next into drm-misc-next-fixes
Backmerging to update drm-misc-next-fixes for the final phase
of the release cycle.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Diffstat (limited to 'lib/string.c')
| -rw-r--r-- | lib/string.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/string.c b/lib/string.c index 6f334420f687..3371d26a0e39 100644 --- a/lib/string.c +++ b/lib/string.c @@ -197,6 +197,14 @@ ssize_t strscpy(char *dest, const char *src, size_t count) max = 0; #endif + /* + * read_word_at_a_time() below may read uninitialized bytes after the + * trailing zero and use them in comparisons. Disable this optimization + * under KMSAN to prevent false positive reports. + */ + if (IS_ENABLED(CONFIG_KMSAN)) + max = 0; + while (max >= sizeof(unsigned long)) { unsigned long c, data; |
