This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] Re: [PATCH 0/5] Collected vdso/vsyscall fixes for 3.1

To: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Subject: [Xen-devel] Re: [PATCH 0/5] Collected vdso/vsyscall fixes for 3.1
From: Andrew Lutomirski <luto@xxxxxxx>
Date: Wed, 27 Jul 2011 11:04:44 -0400
Cc: jeremy@xxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxx, x86@xxxxxxxxxx, Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>, virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx, keir.xen@xxxxxxxxx
Delivery-date: Wed, 27 Jul 2011 08:28:15 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type :content-transfer-encoding; bh=zP+6yjb1TfaEu9mH8I0r3ZE2pY5FsA5w0yVUEe2UWho=; b=vb4+EPxf63odrNQ19+G7Un+Ue6R8Xry1VTb+ZNgavbM5YJkca9DFGtnybCL7LY3IFp 31BUqgOwjzkUFczL904ZPX2vvUN6AybLGVMMeGSRsDDEQ6MpDsmZbQNludLWuvYOKXQh GPJtPSXw6J8lvKd2Kij87GZLMXX3df9Vczq3A=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20110727145745.GA11872@xxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <cover.1311736366.git.luto@xxxxxxx> <20110727145745.GA11872@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
On Wed, Jul 27, 2011 at 10:57 AM, Konrad Rzeszutek Wilk
<konrad.wilk@xxxxxxxxxx> wrote:
> 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).

Whoops!  I thought xen/enlighten.c was 64-bit only.

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


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

Apparently it needs g++ 4.5 for lambdas.

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


Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>