summaryrefslogtreecommitdiff
path: root/crypto/curve25519-generic.c
diff options
context:
space:
mode:
authorAlexander Potapenko <glider@google.com>2024-05-28 12:48:06 +0200
committerAndrew Morton <akpm@linux-foundation.org>2024-06-05 19:19:25 -0700
commit2ef3cec44c60ae171b287db7fc2aa341586d65ba (patch)
treef55c92430f01a4c594020af42344ec8dee417f2a /crypto/curve25519-generic.c
parent0105eaabb27f31d9b8d340aca6fb6a3420cab30f (diff)
kmsan: do not wipe out origin when doing partial unpoisoning
As noticed by Brian, KMSAN should not be zeroing the origin when unpoisoning parts of a four-byte uninitialized value, e.g.: char a[4]; kmsan_unpoison_memory(a, 1); This led to false negatives, as certain poisoned values could receive zero origins, preventing those values from being reported. To fix the problem, check that kmsan_internal_set_shadow_origin() writes zero origins only to slots which have zero shadow. Link: https://lkml.kernel.org/r/20240528104807.738758-1-glider@google.com Fixes: f80be4571b19 ("kmsan: add KMSAN runtime core") Signed-off-by: Alexander Potapenko <glider@google.com> Reported-by: Brian Johannesmeyer <bjohannesmeyer@gmail.com> Link: https://lore.kernel.org/lkml/20240524232804.1984355-1-bjohannesmeyer@gmail.com/T/ Reviewed-by: Marco Elver <elver@google.com> Tested-by: Brian Johannesmeyer <bjohannesmeyer@gmail.com> Cc: Dmitry Vyukov <dvyukov@google.com> Cc: Kees Cook <keescook@chromium.org> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'crypto/curve25519-generic.c')
0 files changed, 0 insertions, 0 deletions