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

From: Reshetova, Elena
Date: Wed Apr 10 2019 - 10:27:08 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 used -no-pie on CFLAGS/CCFLAGS for the whole set of tools.

Unfortunately, this was only the first problem. After it complains about
rdwrgsbase asm case... That one I didn't quite understand, but because I could see that
this case wasn't used for particular measurements I was doing, I just commented that particular
case out.

>
>
> 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

Yes, same for me.

Best Regards,
Elena.