[RFC PATCH 0/3] Improved ALSR
Adhemerval Zanella
adhemerval.zanella@linaro.org
Tue Nov 24 14:29:56 GMT 2020
On 24/11/2020 08:59, Topi Miettinen via Libc-alpha wrote:
> On 24.11.2020 13.24, Florian Weimer wrote:
>> * Topi Miettinen:
>>
>>> On 23.11.2020 23.45, Florian Weimer wrote:
>>>> * Topi Miettinen via Libc-alpha:
>>>>
>>>>> $ time ./malloc-vs-sbrk
>>>>>
>>>>> real 0m1.923s
>>>>> user 0m0.160s
>>>>> sys 0m1.762s
>>>>> $ time ./malloc-vs-sbrk 1
>>>>>
>>>>> real 0m2.847s
>>>>> user 0m0.176s
>>>>> sys 0m2.669s
>>>> Does the difference go away if you change the mmap granularity to
>>>> 128 KiB? I think this happens under the covers (on the kernel side)
>>>> with sbrk.
>>>
>>> Does not seem so, 56% increase:
>>
>> But the test does not seem very realistic because the pages are never
>> faulted in. Sorry, I didn't check that before.
>
> Right, this changes the equation dramatically:
>
> # time ./malloc-vs-sbrk
>
> real 0m19.498s
> user 0m1.192s
> sys 0m18.302s
> # time ./malloc-vs-sbrk 1
>
> real 0m19.428s
> user 0m1.276s
> sys 0m18.146s
>
> FYI, the effect of full ASLR of mmap() by kernel also seems small:
>
> # echo 3 >/proc/sys/kernel/randomize_va_space
> # time ./malloc-vs-sbrk
>
> real 0m19.489s
> user 0m1.263s
> sys 0m18.211s
> # time ./malloc-vs-sbrk 1
>
> real 0m19.532s
> user 0m1.148s
> sys 0m18.366s
I saw similar results showing little performance difference on different
architectures as well (aarch64, s390x, sparc64, and armhf), so I don't
think performance should an impending reason for this change.
More information about the Libc-alpha
mailing list