[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 Tue, Jul 26, 2011 at 11:20:34PM -0400, Andy Lutomirski wrote:
> This fixes various problems that cropped up with the vdso patches.
> 
>  - Patch 1 fixes an information leak to userspace.
>  - Patches 2 and 3 fix the kernel build on gold.
>  - Patches 4 and 5 fix Xen (I hope).
> 
> Konrad, could you could test these on Xen and run 'test_vsyscall test' [1]?

They boot 64-bit guest succesfully.

But I doesn't compile under 32-bit:

home/konrad/ssd/linux/arch/x86/xen/enlighten.c:953: error: unknown field 
âextra_user_64bit_csâ specified in initializer
/home/konrad/ssd/linux/arch/x86/xen/enlighten.c:953: error: âFLAT_USER_CS64â 
undeclared here (not in a function)

Looks like it needs some #ifdef CONFIG_X86_64 magic.. and after
applying that magic dust it compiles and it also boots as 32-bit
(no surprise there).

> I don't have a usable Xen setup.

It is pretty easy to setup. Google for PVops Wiki and you will find wealth
of information. FYI: I am gone next week so won't be able to test these
patches.

> 
> Also, I'd appreciate a review of patches 4 and 5 from some Xen/paravirt
> people.
> 
> [1] https://gitorious.org/linux-test-utils/linux-clock-tests

Grrrrr..

g++ -o test_vsyscall -std=gnu++0x -lrt -ldl -O2 -Wall -mavx -g test_vsyscall.cc
test_vsyscall.cc: In function âint bench(int, char**)â:
test_vsyscall.cc:205: error: expected primary-expression before â[â token
test_vsyscall.cc:205: error: expected primary-expression before â]â token
test_vsyscall.cc:206: error: expected primary-expression before â[â token
test_vsyscall.cc:206: error: expected primary-expression before â]â token
test_vsyscall.cc:207: error: expected primary-expression before â[â token
test_vsyscall.cc:207: error: expected primary-expression before â]â token
test_vsyscall.cc:211: error: expected primary-expression before â[â token
test_vsyscall.cc:211: error: expected primary-expression before â]â token
test_vsyscall.cc:213: error: expected primary-expression before â[â token
test_vsyscall.cc:213: error: expected primary-expression before â]â token
test_vsyscall.cc:214: error: expected primary-expression before â[â token
test_vsyscall.cc:214: error: expected primary-expression before â]â token
test_vsyscall.cc:218: error: expected primary-expression before â[â token
test_vsyscall.cc:218: error: expected primary-expression before â]â token
test_vsyscall.cc:219: error: expected primary-expression before â[â token
test_vsyscall.cc:219: error: expected primary-expression before â]â token
test_vsyscall.cc:222: error: expected primary-expression before â[â token
test_vsyscall.cc:222: error: expected primary-expression before â]â token
test_vsyscall.cc:203: warning: unused variable âtvâ
test_vsyscall.cc:204: warning: unused variable âtzâ
test_vsyscall.cc:210: warning: unused variable âtâ
test_vsyscall.cc:217: warning: unused variable âcpuâ
test_vsyscall.cc:217: warning: unused variable ânodeâ

Is there a specific version of GCC I should be using? I seem to be
using: g++ (GCC) 4.4.4 20100503 (Red Hat 4.4.4-2)

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]

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.