[PATCH v6 0/6] KASAN for arm64

Ard Biesheuvel ard.biesheuvel at linaro.org
Thu Oct 8 05:09:26 PDT 2015


On 8 October 2015 at 13:23, Andrey Ryabinin <ryabinin.a.a at gmail.com> wrote:
> On 10/08/2015 02:11 PM, Mark Rutland wrote:
>> On Thu, Oct 08, 2015 at 01:36:09PM +0300, Andrey Ryabinin wrote:
>>> 2015-10-07 13:04 GMT+03:00 Catalin Marinas <catalin.marinas at arm.com>:
>>>> On Thu, Sep 17, 2015 at 12:38:06PM +0300, Andrey Ryabinin wrote:
>>>>> As usual patches available in git
>>>>>       git://github.com/aryabinin/linux.git kasan/arm64v6
>>>>>
>>>>> Changes since v5:
>>>>>  - Rebase on top of 4.3-rc1
>>>>>  - Fixed EFI boot.
>>>>>  - Updated Doc/features/KASAN.
>>>>
>>>> I tried to merge these patches (apart from the x86 one which is already
>>>> merged) but it still doesn't boot on Juno as an EFI application.
>>>>
>>>
>>> 4.3-rc1 was ok and 4.3-rc4 is not. Break caused by 0ce3cc008ec04
>>> ("arm64/efi: Fix boot crash by not padding between EFI_MEMORY_RUNTIME
>>> regions")
>>> It introduced sort() call in efi_get_virtmap().
>>> sort() is generic kernel function and it's instrumented, so we crash
>>> when KASAN tries to access shadow in sort().
>>
>> I believe this is solved by Ard's stub isolation series [1,2], which
>> will build a stub-specific copy of sort() and various other functions
>> (see the arm-deps in [2]).
>>
>> So long as the stub is not built with ASAN, that should work.
>
> Thanks, this should help, as we already build the stub without ASAN instrumentation.
>

Indeed. I did not mention instrumentation in the commit log for those
patches, but obviously, something like KASAN instrumentation cannot be
tolerated in the stub since it makes assumptions about the memory
layout



More information about the linux-arm-kernel mailing list