Re: [PATCH 1/1] x86/entry/64: randomize kernel stack offset upon syscall

From: Ingo Molnar
Date: Wed Apr 10 2019 - 07:43:06 EST



* Elena Reshetova <elena.reshetova@xxxxxxxxx> wrote:

> 2) Andy's tests, misc-tests: ./timing_test_64 10M sys_enosys
> base: 10000000 loops in 1.62224s = 162.22 nsec / loop
> random_offset (prandom_u32() every syscall): 10000000 loops in 1.64660s = 166.26 nsec / loop

Stupid question, how did you manage to buil timing_test_64? Here it fails
with a bog standard gcc 7.3.0 x86-64 distro toolchain:

dagon:~/luto-misc-tests.git> make timing_test_64
g++ -m64 -o timing_test_64 -O2 -g -std=gnu++11 -pthread -Wall timing_test.cc -lrt -ldl
/usr/bin/ld: /tmp/cc8VRkuV.o: relocation R_X86_64_32S against `.text.startup' can not be used when making a PIE object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on outputcollect2: error: ld returned 1 exit status
Makefile:39: recipe for target 'timing_test_64' failed


I'm using cb7f9f0592f8, which is like 1.5 years old - is this still the
latest and greatest:

git://git.kernel.org/pub/scm/linux/kernel/git/luto/misc-tests.git

?

Thanks,

Ingo