diff options
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; | 
