Hi,

On 5/6/20 6:01 PM, Will Deacon wrote:
On Wed, May 06, 2020 at 05:32:56PM +0530, Amit Kachhap wrote:
On 5/4/20 10:47 PM, Will Deacon wrote:
On Mon, Apr 27, 2020 at 11:55:01AM +0530, Amit Daniel Kachhap wrote:
diff --git a/arch/arm64/include/asm/compiler.h 
b/arch/arm64/include/asm/compiler.h
index eece20d..32d5900 100644
--- a/arch/arm64/include/asm/compiler.h
+++ b/arch/arm64/include/asm/compiler.h
@@ -19,6 +19,9 @@
   #define __builtin_return_address(val)                                        
\
        (void *)(ptrauth_clear_pac((unsigned 
long)__builtin_return_address(val)))
+#else  /* !CONFIG_ARM64_PTR_AUTH */
+#define        ptrauth_user_pac_mask()         0ULL
+#define        ptrauth_kernel_pac_mask()       0ULL

This doesn't look quite right to me, since you still have to take into
account the case where CONFIG_ARM64_PTR_AUTH=y but the feature is not
available at runtime:

Yes agree with you here. However the config gaurd is saving some extra
computation for __builtin_return_address. There are some compiler
support being added in __builtin_extract_return_address to mask the PAC.
Hopefully that will improve this code. In the meantime let it be like this.

Does the extra computation matter? Isn't it just a couple of instructions?

ok sure. I will push v3 as you suggested.

Thanks,
Amit


Will

Reply via email to