From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Andy Lutomirski <luto@mit.edu>
Cc: x86@kernel.org,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
jeremy@goop.org, keir.xen@gmail.com,
xen-devel@lists.xensource.com,
virtualization@lists.linux-foundation.org
Subject: Re: [PATCH 0/5] Collected vdso/vsyscall fixes for 3.1
Date: Wed, 27 Jul 2011 10:57:45 -0400 [thread overview]
Message-ID: <20110727145745.GA11872@dumpdata.com> (raw)
In-Reply-To: <cover.1311736366.git.luto@mit.edu>
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]
next prev parent reply other threads:[~2011-07-27 14:58 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-27 3:20 [PATCH 0/5] Collected vdso/vsyscall fixes for 3.1 Andy Lutomirski
2011-07-27 3:20 ` [PATCH 1/5] x86-64: Pad vDSO to a page boundary Andy Lutomirski
2011-07-27 3:20 ` [PATCH 2/5] x86-64: Move the "user" vsyscall segment out of the data segment Andy Lutomirski
2011-07-27 3:20 ` [PATCH 3/5] x86-64: Work around gold bug 13023 Andy Lutomirski
2011-07-27 3:20 ` [PATCH 4/5] x86-64/xen: Enable the vvar mapping Andy Lutomirski
2011-07-27 13:06 ` Konrad Rzeszutek Wilk
2011-07-27 13:48 ` Andrew Lutomirski
2011-07-27 3:20 ` [PATCH 5/5] x86-64: Add user_64bit_mode paravirt op Andy Lutomirski
2011-07-27 17:24 ` Jeremy Fitzhardinge
2011-07-27 17:45 ` Andrew Lutomirski
2011-07-27 12:59 ` [PATCH 0/5] Collected vdso/vsyscall fixes for 3.1 Konrad Rzeszutek Wilk
2011-07-27 14:57 ` Konrad Rzeszutek Wilk [this message]
2011-07-27 15:04 ` Andrew Lutomirski
2011-07-27 15:30 ` Konrad Rzeszutek Wilk
2011-07-27 15:34 ` Andrew Lutomirski
2011-07-27 15:43 ` Konrad Rzeszutek Wilk
2011-07-27 16:15 ` Andrew Lutomirski
2011-07-27 16:29 ` [Xen-devel] " Konrad Rzeszutek Wilk
2011-07-27 16:58 ` Konrad Rzeszutek Wilk
2011-07-27 17:05 ` Andrew Lutomirski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110727145745.GA11872@dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=jeremy@goop.org \
--cc=keir.xen@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@mit.edu \
--cc=virtualization@lists.linux-foundation.org \
--cc=x86@kernel.org \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox