linux-stable/arch/arm64/lib
Catalin Marinas 34bfeea4a9 arm64: mte: Clear the tags when a page is mapped in user-space with PROT_MTE
Pages allocated by the kernel are not guaranteed to have the tags
zeroed, especially as the kernel does not (yet) use MTE itself. To
ensure the user can still access such pages when mapped into its address
space, clear the tags via set_pte_at(). A new page flag - PG_mte_tagged
(PG_arch_2) - is used to track pages with valid allocation tags.

Since the zero page is mapped as pte_special(), it won't be covered by
the above set_pte_at() mechanism. Clear its tags during early MTE
initialisation.

Co-developed-by: Steven Price <steven.price@arm.com>
Signed-off-by: Steven Price <steven.price@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
2020-09-04 12:46:06 +01:00
..
clear_page.S arm64: lib: Use modern annotations for assembly functions 2020-01-08 12:23:02 +00:00
clear_user.S arm64: lib: Use modern annotations for assembly functions 2020-01-08 12:23:02 +00:00
copy_from_user.S arm64: Reorder the macro arguments in the copy routines 2020-04-29 21:50:01 +01:00
copy_in_user.S arm64: Reorder the macro arguments in the copy routines 2020-04-29 21:50:01 +01:00
copy_page.S Merge branch 'for-next/asm-annotations' into for-next/core 2020-01-22 11:34:21 +00:00
copy_template.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
copy_to_user.S arm64: Reorder the macro arguments in the copy routines 2020-04-29 21:50:01 +01:00
crc32.S arm64: lib: Consistently enable crc32 extension 2020-04-28 14:36:32 +01:00
csum.c arm64: csum: Disable KASAN for do_csum() 2020-04-15 21:36:41 +01:00
delay.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
error-inject.c arm64: Add support for function error injection 2019-08-07 13:53:09 +01:00
Makefile arm64: mte: Clear the tags when a page is mapped in user-space with PROT_MTE 2020-09-04 12:46:06 +01:00
memchr.S arm64: lib: Use modern annotations for assembly functions 2020-01-08 12:23:02 +00:00
memcmp.S arm64: lib: Use modern annotations for assembly functions 2020-01-08 12:23:02 +00:00
memcpy.S arm64: Reorder the macro arguments in the copy routines 2020-04-29 21:50:01 +01:00
memmove.S arm64: lib: Use modern annotations for assembly functions 2020-01-08 12:23:02 +00:00
memset.S arm64: lib: Use modern annotations for assembly functions 2020-01-08 12:23:02 +00:00
mte.S arm64: mte: Clear the tags when a page is mapped in user-space with PROT_MTE 2020-09-04 12:46:06 +01:00
strchr.S arm64: lib: Use modern annotations for assembly functions 2020-01-08 12:23:02 +00:00
strcmp.S arm64: fix spelling mistake "ca not" -> "cannot" 2020-03-17 18:22:40 +00:00
strlen.S arm64: lib: Use modern annotations for assembly functions 2020-01-08 12:23:02 +00:00
strncmp.S arm64: lib: Use modern annotations for assembly functions 2020-01-08 12:23:02 +00:00
strnlen.S arm64: lib: Use modern annotations for assembly functions 2020-01-08 12:23:02 +00:00
strrchr.S arm64: lib: Use modern annotations for assembly functions 2020-01-08 12:23:02 +00:00
tishift.S arm64: lib: Use modern annotations for assembly functions 2020-01-08 12:23:02 +00:00
uaccess_flushcache.c arm64: uaccess: Remove uaccess_*_not_uao asm macros 2019-11-20 18:51:54 +00:00
xor-neon.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00