diff options
author | Alexander Potapenko <[email protected]> | 2023-04-13 15:12:21 +0200 |
---|---|---|
committer | Andrew Morton <[email protected]> | 2023-04-18 14:22:13 -0700 |
commit | fdea03e12aa2a44a7bb34144208be97fc25dfd90 (patch) | |
tree | cf4d990b76d490372ef63e6ef37a24af277a06f2 /kernel/gcov/gcc_base.c | |
parent | 47ebd0310e89c087f56e58c103c44b72a2f6b216 (diff) |
mm: kmsan: handle alloc failures in kmsan_ioremap_page_range()
Similarly to kmsan_vmap_pages_range_noflush(), kmsan_ioremap_page_range()
must also properly handle allocation/mapping failures. In the case of
such, it must clean up the already created metadata mappings and return an
error code, so that the error can be propagated to ioremap_page_range().
Without doing so, KMSAN may silently fail to bring the metadata for the
page range into a consistent state, which will result in user-visible
crashes when trying to access them.
Link: https://lkml.kernel.org/r/[email protected]
Fixes: b073d7f8aee4 ("mm: kmsan: maintain KMSAN metadata for page operations")
Signed-off-by: Alexander Potapenko <[email protected]>
Reported-by: Dipanjan Das <[email protected]>
Link: https://lore.kernel.org/linux-mm/CANX2M5ZRrRA64k0hOif02TjmY9kbbO2aCBPyq79es34RXZ=cAw@mail.gmail.com/
Reviewed-by: Marco Elver <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Dmitry Vyukov <[email protected]>
Cc: Uladzislau Rezki (Sony) <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'kernel/gcov/gcc_base.c')
0 files changed, 0 insertions, 0 deletions