[PATCH] arm64: always use STRICT_MM_TYPECHECKS

Arnd Bergmann arnd at arndb.de
Fri Apr 29 14:57:23 PDT 2016


On Friday 29 April 2016 14:07:54 Yang Shi wrote:
> Inspired by the counterpart of powerpc [1], which shows there is no negative
> effect on code generation from enabling STRICT_MM_TYPECHECKS with a modern
> compiler.
> 
> And, Arnd's comment [2] about that patch says STRICT_MM_TYPECHECKS could
> be default as long as the architecture can pass structures in registers as
> function arguments. ARM64 can do it as long as the size of structure <= 16
> bytes. All the page table value types are u64 on ARM64.
> 
> The below disassembly demonstrates it, entry is pte_t type:
> 
>             entry = arch_make_huge_pte(entry, vma, page, writable);
>    0xffff00000826fc38 <+80>:    and     x0, x0, #0xfffffffffffffffd
>    0xffff00000826fc3c <+84>:    mov     w3, w21
>    0xffff00000826fc40 <+88>:    mov     x2, x20
>    0xffff00000826fc44 <+92>:    mov     x1, x19
>    0xffff00000826fc48 <+96>:    orr     x0, x0, #0x400
>    0xffff00000826fc4c <+100>:   bl      0xffff00000809bcc0 <arch_make_huge_pte>
> 
> [1] http://www.spinics.net/lists/linux-mm/msg105951.html
> [2] http://www.spinics.net/lists/linux-mm/msg105969.html
> 
> Signed-off-by: Yang Shi <yang.shi at linaro.org>
> CC: Arnd Bergmann <arnd at arndb.de>
> CC: Ard Biesheuvel <ard.biesheuvel at linaro.org>
> ---
> 

Acked-by: Arnd Bergmann <arnd at arndb.de>



More information about the linux-arm-kernel mailing list