[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: [PATCH 0/5] Collected vdso/vsyscall fixes for 3.1
On Wed, Jul 27, 2011 at 11:43 AM, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> wrote: > On Wed, Jul 27, 2011 at 11:34:21AM -0400, Andrew Lutomirski wrote: >> On Wed, Jul 27, 2011 at 11:30 AM, Konrad Rzeszutek Wilk >> <konrad.wilk@xxxxxxxxxx> wrote: >> >> > Anyhow, removed the benchmark code and ran it on 64-bit: >> >> > >> >> > sh-4.1# /test_vsyscall test >> >> > Testing gettimeofday... >> >> > [ 109.552261] test_vsyscall[2462] trap invalid opcode ip:400c8d >> >> > sp:7fff84fab470 error:0 in test_vsyscall[400000+2000] >> >> > Illegal instruction >> >> > sh-4.1# /test_vsyscall intcc >> >> > About to execute int 0xcc from RIP = 400959 >> >> > [ 114.137150] test_vsyscall[2463] illegal int 0xcc (exploit attempt?) >> >> > ip:400959 cs:e033 sp:7fff8b328310 ax:2c si:0 di:7fff8b3280f0 >> >> > Caught SIGSEGV: Segmentation fault (Signal sent by the kernel >> >> > [(nil)])RIP = 400959 >> >> > >> >> > [This is on >> >> > git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git #testing, >> >> > which >> >> > has todays linus/master and your patchset] >> >> > >> >> >> >> I'll set up Xen. Something's clearly still buggy. >> > >> > You sure? This is what I get when I boot baremetal: >> > >> > sh-4.1# >> > sh-4.1# xen-detect >> > Not running on Xen. >> > sh-4.1# /test_vsyscall test >> > Testing gettimeo[ 84.442819] test_vsyscall[3175] trap invalid opcode >> > ip:400c8d sp:7fffa8a72dc0 error:0fday... >> > in test_vsyscall[400000+2000] >> >> $ test_vsyscall test >> Testing gettimeofday... >> vDSO offset = 0.000001s >> vsyscall offset = 0.000001s >> >> Testing time... >> vDSO offset = 0 >> vsyscall offset = 0 >> Testing getcpu... >> ok! cpu=6 node=0 >> >> Can you send me your test_vsyscall binary so I can disassemble it? > > Here it is (also including source since I uncommented parts of it). > > One extra thing - I've been using AMD machines for this - I hadn't > tried this on an Intel box. > Whoops! The offending instruction is: 400c8d: c4 e1 f3 2a c8 vcvtsi2sd %rax,%xmm1,%xmm1 which is unlikely to work on AMD unless you're the lucky owner of a prerelease Bulldozer chip. I I bet if you pull a new copy or remove -mavx from Makefile it will work. I got a grossly hacked-up Xen domU booted and everything seems to work. (Testing native kernels is really fun with qemu-kvm -kernel <image> -initrd <my silly initramfs>. But Xen doesn't seem to support that.) --Andy _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |