]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/arm64/include/asm/asm-uaccess.h
arm64: entry: improve data abort handling of tagged pointers
[karo-tx-linux.git] / arch / arm64 / include / asm / asm-uaccess.h
index df411f3e083ce7074daedf65c8bb3ed4aed4dc31..ecd9788cd29881074dd04bb9708eddef286677a6 100644 (file)
@@ -62,4 +62,13 @@ alternative_if ARM64_ALT_PAN_NOT_UAO
 alternative_else_nop_endif
        .endm
 
+/*
+ * Remove the address tag from a virtual address, if present.
+ */
+       .macro  clear_address_tag, dst, addr
+       tst     \addr, #(1 << 55)
+       bic     \dst, \addr, #(0xff << 56)
+       csel    \dst, \dst, \addr, eq
+       .endm
+
 #endif