<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/arch/x86/kernel, branch v3.1</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>x86: Default to vsyscall=native for now</title>
<updated>2011-10-11T06:23:34+00:00</updated>
<author>
<name>Adrian Bunk</name>
<email>bunk@stusta.de</email>
</author>
<published>2011-10-05T21:40:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2b666859ec323403ac9a3a441d16eab30945404b'/>
<id>2b666859ec323403ac9a3a441d16eab30945404b</id>
<content type='text'>
This UML breakage:

  linux-2.6.30.1[3800] vsyscall fault (exploit attempt?) ip:ffffffffff600000 cs:33 sp:7fbfb9c498 ax:ffffffffff600000 si:0 di:606790
  linux-2.6.30.1[3856] vsyscall fault (exploit attempt?) ip:ffffffffff600000 cs:33 sp:7fbfb13168 ax:ffffffffff600000 si:0 di:606790

Is caused by commit 3ae36655 ("x86-64: Rework vsyscall emulation and add
vsyscall= parameter") - the vsyscall emulation code is not fully cooked
yet as UML relies on some rather fragile SIGSEGV semantics.

Linus suggested in https://lkml.org/lkml/2011/8/9/376 to default
to vsyscall=native for now, this patch implements that.

Signed-off-by: Adrian Bunk &lt;bunk@kernel.org&gt;
Acked-by: Andrew Lutomirski &lt;luto@mit.edu&gt;
Cc: H. Peter Anvin &lt;hpa@linux.intel.com&gt;
Link: http://lkml.kernel.org/r/20111005214047.GE14406@localhost.pp.htv.fi
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This UML breakage:

  linux-2.6.30.1[3800] vsyscall fault (exploit attempt?) ip:ffffffffff600000 cs:33 sp:7fbfb9c498 ax:ffffffffff600000 si:0 di:606790
  linux-2.6.30.1[3856] vsyscall fault (exploit attempt?) ip:ffffffffff600000 cs:33 sp:7fbfb13168 ax:ffffffffff600000 si:0 di:606790

Is caused by commit 3ae36655 ("x86-64: Rework vsyscall emulation and add
vsyscall= parameter") - the vsyscall emulation code is not fully cooked
yet as UML relies on some rather fragile SIGSEGV semantics.

Linus suggested in https://lkml.org/lkml/2011/8/9/376 to default
to vsyscall=native for now, this patch implements that.

Signed-off-by: Adrian Bunk &lt;bunk@kernel.org&gt;
Acked-by: Andrew Lutomirski &lt;luto@mit.edu&gt;
Cc: H. Peter Anvin &lt;hpa@linux.intel.com&gt;
Link: http://lkml.kernel.org/r/20111005214047.GE14406@localhost.pp.htv.fi
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>x86/rtc: Don't recursively acquire rtc_lock</title>
<updated>2011-09-21T14:16:09+00:00</updated>
<author>
<name>Matt Fleming</name>
<email>matt.fleming@intel.com</email>
</author>
<published>2011-09-21T14:08:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=47997d756aa2a84ab577e1b0383cc12d582fc69c'/>
<id>47997d756aa2a84ab577e1b0383cc12d582fc69c</id>
<content type='text'>
A deadlock was introduced on x86 in commit ef68c8f87ed1 ("x86:
Serialize EFI time accesses on rtc_lock") because efi_get_time()
and friends can be called with rtc_lock already held by
read_persistent_time(), e.g.:

 timekeeping_init()
    read_persistent_clock()     &lt;-- acquire rtc_lock
        efi_get_time()
            phys_efi_get_time() &lt;-- acquire rtc_lock &lt;DEADLOCK&gt;

To fix this let's push the locking down into the get_wallclock()
and set_wallclock() implementations.  Only the clock
implementations that access the x86 RTC directly need to acquire
rtc_lock, so it makes sense to push the locking down into the
rtc, vrtc and efi code.

The virtualization implementations don't require rtc_lock to be
held because they provide their own serialization.

Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
Acked-by: Jan Beulich &lt;jbeulich@novell.com&gt;
Acked-by: Avi Kivity &lt;avi@redhat.com&gt; [for the virtualization aspect]
Cc: "H. Peter Anvin" &lt;hpa@zytor.com&gt;
Cc: Zhang Rui &lt;rui.zhang@intel.com&gt;
Cc: Josh Boyer &lt;jwboyer@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A deadlock was introduced on x86 in commit ef68c8f87ed1 ("x86:
Serialize EFI time accesses on rtc_lock") because efi_get_time()
and friends can be called with rtc_lock already held by
read_persistent_time(), e.g.:

 timekeeping_init()
    read_persistent_clock()     &lt;-- acquire rtc_lock
        efi_get_time()
            phys_efi_get_time() &lt;-- acquire rtc_lock &lt;DEADLOCK&gt;

To fix this let's push the locking down into the get_wallclock()
and set_wallclock() implementations.  Only the clock
implementations that access the x86 RTC directly need to acquire
rtc_lock, so it makes sense to push the locking down into the
rtc, vrtc and efi code.

The virtualization implementations don't require rtc_lock to be
held because they provide their own serialization.

Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
Acked-by: Jan Beulich &lt;jbeulich@novell.com&gt;
Acked-by: Avi Kivity &lt;avi@redhat.com&gt; [for the virtualization aspect]
Cc: "H. Peter Anvin" &lt;hpa@zytor.com&gt;
Cc: Zhang Rui &lt;rui.zhang@intel.com&gt;
Cc: Josh Boyer &lt;jwboyer@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>x86, perf: Check that current-&gt;mm is alive before getting user callchain</title>
<updated>2011-08-31T13:56:31+00:00</updated>
<author>
<name>Andrey Vagin</name>
<email>avagin@openvz.org</email>
</author>
<published>2011-08-30T08:32:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=20afc60f892d285fde179ead4b24e6a7938c2f1b'/>
<id>20afc60f892d285fde179ead4b24e6a7938c2f1b</id>
<content type='text'>
An event may occur when an mm is already released.

I added an event in dequeue_entity() and caught a panic with
the following backtrace:

[  434.421110] BUG: unable to handle kernel NULL pointer dereference at 0000000000000050
[  434.421258] IP: [&lt;ffffffff810464ac&gt;] __get_user_pages_fast+0x9c/0x120
...
[  434.421258] Call Trace:
[  434.421258]  [&lt;ffffffff8101ae81&gt;] copy_from_user_nmi+0x51/0xf0
[  434.421258]  [&lt;ffffffff8109a0d5&gt;] ? sched_clock_local+0x25/0x90
[  434.421258]  [&lt;ffffffff8101b048&gt;] perf_callchain_user+0x128/0x170
[  434.421258]  [&lt;ffffffff811154cd&gt;] ? __perf_event_header__init_id+0xed/0x100
[  434.421258]  [&lt;ffffffff81116690&gt;] perf_prepare_sample+0x200/0x280
[  434.421258]  [&lt;ffffffff81118da8&gt;] __perf_event_overflow+0x1b8/0x290
[  434.421258]  [&lt;ffffffff81065240&gt;] ? tg_shares_up+0x0/0x670
[  434.421258]  [&lt;ffffffff8104fe1a&gt;] ? walk_tg_tree+0x6a/0xb0
[  434.421258]  [&lt;ffffffff81118f44&gt;] perf_swevent_overflow+0xc4/0xf0
[  434.421258]  [&lt;ffffffff81119150&gt;] do_perf_sw_event+0x1e0/0x250
[  434.421258]  [&lt;ffffffff81119204&gt;] perf_tp_event+0x44/0x70
[  434.421258]  [&lt;ffffffff8105701f&gt;] ftrace_profile_sched_block+0xdf/0x110
[  434.421258]  [&lt;ffffffff8106121d&gt;] dequeue_entity+0x2ad/0x2d0
[  434.421258]  [&lt;ffffffff810614ec&gt;] dequeue_task_fair+0x1c/0x60
[  434.421258]  [&lt;ffffffff8105818a&gt;] dequeue_task+0x9a/0xb0
[  434.421258]  [&lt;ffffffff810581e2&gt;] deactivate_task+0x42/0xe0
[  434.421258]  [&lt;ffffffff814bc019&gt;] thread_return+0x191/0x808
[  434.421258]  [&lt;ffffffff81098a44&gt;] ? switch_task_namespaces+0x24/0x60
[  434.421258]  [&lt;ffffffff8106f4c4&gt;] do_exit+0x464/0x910
[  434.421258]  [&lt;ffffffff8106f9c8&gt;] do_group_exit+0x58/0xd0
[  434.421258]  [&lt;ffffffff8106fa57&gt;] sys_exit_group+0x17/0x20
[  434.421258]  [&lt;ffffffff8100b202&gt;] system_call_fastpath+0x16/0x1b

Signed-off-by: Andrey Vagin &lt;avagin@openvz.org&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Cc: stable@kernel.org
Link: http://lkml.kernel.org/r/1314693156-24131-1-git-send-email-avagin@openvz.org
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
An event may occur when an mm is already released.

I added an event in dequeue_entity() and caught a panic with
the following backtrace:

[  434.421110] BUG: unable to handle kernel NULL pointer dereference at 0000000000000050
[  434.421258] IP: [&lt;ffffffff810464ac&gt;] __get_user_pages_fast+0x9c/0x120
...
[  434.421258] Call Trace:
[  434.421258]  [&lt;ffffffff8101ae81&gt;] copy_from_user_nmi+0x51/0xf0
[  434.421258]  [&lt;ffffffff8109a0d5&gt;] ? sched_clock_local+0x25/0x90
[  434.421258]  [&lt;ffffffff8101b048&gt;] perf_callchain_user+0x128/0x170
[  434.421258]  [&lt;ffffffff811154cd&gt;] ? __perf_event_header__init_id+0xed/0x100
[  434.421258]  [&lt;ffffffff81116690&gt;] perf_prepare_sample+0x200/0x280
[  434.421258]  [&lt;ffffffff81118da8&gt;] __perf_event_overflow+0x1b8/0x290
[  434.421258]  [&lt;ffffffff81065240&gt;] ? tg_shares_up+0x0/0x670
[  434.421258]  [&lt;ffffffff8104fe1a&gt;] ? walk_tg_tree+0x6a/0xb0
[  434.421258]  [&lt;ffffffff81118f44&gt;] perf_swevent_overflow+0xc4/0xf0
[  434.421258]  [&lt;ffffffff81119150&gt;] do_perf_sw_event+0x1e0/0x250
[  434.421258]  [&lt;ffffffff81119204&gt;] perf_tp_event+0x44/0x70
[  434.421258]  [&lt;ffffffff8105701f&gt;] ftrace_profile_sched_block+0xdf/0x110
[  434.421258]  [&lt;ffffffff8106121d&gt;] dequeue_entity+0x2ad/0x2d0
[  434.421258]  [&lt;ffffffff810614ec&gt;] dequeue_task_fair+0x1c/0x60
[  434.421258]  [&lt;ffffffff8105818a&gt;] dequeue_task+0x9a/0xb0
[  434.421258]  [&lt;ffffffff810581e2&gt;] deactivate_task+0x42/0xe0
[  434.421258]  [&lt;ffffffff814bc019&gt;] thread_return+0x191/0x808
[  434.421258]  [&lt;ffffffff81098a44&gt;] ? switch_task_namespaces+0x24/0x60
[  434.421258]  [&lt;ffffffff8106f4c4&gt;] do_exit+0x464/0x910
[  434.421258]  [&lt;ffffffff8106f9c8&gt;] do_group_exit+0x58/0xd0
[  434.421258]  [&lt;ffffffff8106fa57&gt;] sys_exit_group+0x17/0x20
[  434.421258]  [&lt;ffffffff8100b202&gt;] system_call_fastpath+0x16/0x1b

Signed-off-by: Andrey Vagin &lt;avagin@openvz.org&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Cc: stable@kernel.org
Link: http://lkml.kernel.org/r/1314693156-24131-1-git-send-email-avagin@openvz.org
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>All Arch: remove linkage for sys_nfsservctl system call</title>
<updated>2011-08-26T22:09:58+00:00</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2011-08-26T22:03:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f5b940997397229975ea073679b03967932a541b'/>
<id>f5b940997397229975ea073679b03967932a541b</id>
<content type='text'>
The nfsservctl system call is now gone, so we should remove all
linkage for it.

Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The nfsservctl system call is now gone, so we should remove all
linkage for it.

Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>x86-32: Fix boot with CONFIG_X86_INVD_BUG</title>
<updated>2011-08-25T20:27:14+00:00</updated>
<author>
<name>Andy Lutomirski</name>
<email>luto@mit.edu</email>
</author>
<published>2011-08-25T20:10:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b4ca46e4e82a0a5976fe5eab85be585d75f8202f'/>
<id>b4ca46e4e82a0a5976fe5eab85be585d75f8202f</id>
<content type='text'>
entry_32.S contained a hardcoded alternative instruction entry, and the
format changed in commit 59e97e4d6fbc ("x86: Make alternative
instruction pointers relative").

Replace the hardcoded entry with the altinstruction_entry macro.  This
fixes the 32-bit boot with CONFIG_X86_INVD_BUG=y.

Reported-and-tested-by: Arnaud Lacombe &lt;lacombar@gmail.com&gt;
Signed-off-by: Andy Lutomirski &lt;luto@mit.edu&gt;
Cc: Peter Anvin &lt;hpa@zytor.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
entry_32.S contained a hardcoded alternative instruction entry, and the
format changed in commit 59e97e4d6fbc ("x86: Make alternative
instruction pointers relative").

Replace the hardcoded entry with the altinstruction_entry macro.  This
fixes the 32-bit boot with CONFIG_X86_INVD_BUG=y.

Reported-and-tested-by: Arnaud Lacombe &lt;lacombar@gmail.com&gt;
Signed-off-by: Andy Lutomirski &lt;luto@mit.edu&gt;
Cc: Peter Anvin &lt;hpa@zytor.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mtrr: fix UP breakage caused during switch to stop_machine</title>
<updated>2011-08-25T18:02:29+00:00</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2011-08-25T17:46:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=cbbfa38fcb95930babc5233cf6927ec430f38abc'/>
<id>cbbfa38fcb95930babc5233cf6927ec430f38abc</id>
<content type='text'>
While removing custom rendezvous code and switching to stop_machine,
commit 192d8857427d ("x86, mtrr: use stop_machine APIs for doing MTRR
rendezvous") completely dropped mtrr setting code on !CONFIG_SMP
breaking MTRR settting on UP.

Fix it by removing the incorrect CONFIG_SMP.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Reported-by: Anders Eriksson &lt;aeriksson@fastmail.fm&gt;
Tested-and-acked-by: Suresh Siddha &lt;suresh.b.siddha@intel.com&gt;
Acked-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While removing custom rendezvous code and switching to stop_machine,
commit 192d8857427d ("x86, mtrr: use stop_machine APIs for doing MTRR
rendezvous") completely dropped mtrr setting code on !CONFIG_SMP
breaking MTRR settting on UP.

Fix it by removing the incorrect CONFIG_SMP.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Reported-by: Anders Eriksson &lt;aeriksson@fastmail.fm&gt;
Tested-and-acked-by: Suresh Siddha &lt;suresh.b.siddha@intel.com&gt;
Acked-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip</title>
<updated>2011-08-24T01:09:08+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-08-24T01:09:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=14c62e78dc1379185515be41903c4a667efc6d54'/>
<id>14c62e78dc1379185515be41903c4a667efc6d54</id>
<content type='text'>
* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86-32, vdso: On system call restart after SYSENTER, use int $0x80
  x86, UV: Remove UV delay in starting slave cpus
  x86, olpc: Wait for last byte of EC command to be accepted
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86-32, vdso: On system call restart after SYSENTER, use int $0x80
  x86, UV: Remove UV delay in starting slave cpus
  x86, olpc: Wait for last byte of EC command to be accepted
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-tip</title>
<updated>2011-08-13T03:46:24+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-08-13T03:46:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=06e727d2a5d9d889fabad35223ad77205a9bebb9'/>
<id>06e727d2a5d9d889fabad35223ad77205a9bebb9</id>
<content type='text'>
* 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-tip:
  x86-64: Rework vsyscall emulation and add vsyscall= parameter
  x86-64: Wire up getcpu syscall
  x86: Remove unnecessary compile flag tweaks for vsyscall code
  x86-64: Add vsyscall:emulate_vsyscall trace event
  x86-64: Add user_64bit_mode paravirt op
  x86-64, xen: Enable the vvar mapping
  x86-64: Work around gold bug 13023
  x86-64: Move the "user" vsyscall segment out of the data segment.
  x86-64: Pad vDSO to a page boundary
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-tip:
  x86-64: Rework vsyscall emulation and add vsyscall= parameter
  x86-64: Wire up getcpu syscall
  x86: Remove unnecessary compile flag tweaks for vsyscall code
  x86-64: Add vsyscall:emulate_vsyscall trace event
  x86-64: Add user_64bit_mode paravirt op
  x86-64, xen: Enable the vvar mapping
  x86-64: Work around gold bug 13023
  x86-64: Move the "user" vsyscall segment out of the data segment.
  x86-64: Pad vDSO to a page boundary
</pre>
</div>
</content>
</entry>
<entry>
<title>x86-64: Rework vsyscall emulation and add vsyscall= parameter</title>
<updated>2011-08-11T00:26:46+00:00</updated>
<author>
<name>Andy Lutomirski</name>
<email>luto@mit.edu</email>
</author>
<published>2011-08-10T15:15:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3ae36655b97a03fa1decf72f04078ef945647c1a'/>
<id>3ae36655b97a03fa1decf72f04078ef945647c1a</id>
<content type='text'>
There are three choices:

vsyscall=native: Vsyscalls are native code that issues the
corresponding syscalls.

vsyscall=emulate (default): Vsyscalls are emulated by instruction
fault traps, tested in the bad_area path.  The actual contents of
the vsyscall page is the same as the vsyscall=native case except
that it's marked NX.  This way programs that make assumptions about
what the code in the page does will not be confused when they read
that code.

vsyscall=none: Trying to execute a vsyscall will segfault.

Signed-off-by: Andy Lutomirski &lt;luto@mit.edu&gt;
Link: http://lkml.kernel.org/r/8449fb3abf89851fd6b2260972666a6f82542284.1312988155.git.luto@mit.edu
Signed-off-by: H. Peter Anvin &lt;hpa@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are three choices:

vsyscall=native: Vsyscalls are native code that issues the
corresponding syscalls.

vsyscall=emulate (default): Vsyscalls are emulated by instruction
fault traps, tested in the bad_area path.  The actual contents of
the vsyscall page is the same as the vsyscall=native case except
that it's marked NX.  This way programs that make assumptions about
what the code in the page does will not be confused when they read
that code.

vsyscall=none: Trying to execute a vsyscall will segfault.

Signed-off-by: Andy Lutomirski &lt;luto@mit.edu&gt;
Link: http://lkml.kernel.org/r/8449fb3abf89851fd6b2260972666a6f82542284.1312988155.git.luto@mit.edu
Signed-off-by: H. Peter Anvin &lt;hpa@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>x86: Remove unnecessary compile flag tweaks for vsyscall code</title>
<updated>2011-08-10T23:55:29+00:00</updated>
<author>
<name>Andy Lutomirski</name>
<email>luto@mit.edu</email>
</author>
<published>2011-08-10T15:15:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f3fb5b7bb70d6e679c15fef85707810a067f5fb6'/>
<id>f3fb5b7bb70d6e679c15fef85707810a067f5fb6</id>
<content type='text'>
As of commit 98d0ac38ca7b1b7a552c9a2359174ff84decb600
Author: Andy Lutomirski &lt;luto@mit.edu&gt;
Date:   Thu Jul 14 06:47:22 2011 -0400

    x86-64: Move vread_tsc and vread_hpet into the vDSO

user code no longer directly calls into code in arch/x86/kernel/, so
we don't need compile flag hacks to make it safe.  All vdso code is
in the vdso directory now.

Signed-off-by: Andy Lutomirski &lt;luto@mit.edu&gt;
Link: http://lkml.kernel.org/r/835cd05a4c7740544d09723d6ba48f4406f9826c.1312988155.git.luto@mit.edu
Signed-off-by: H. Peter Anvin &lt;hpa@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As of commit 98d0ac38ca7b1b7a552c9a2359174ff84decb600
Author: Andy Lutomirski &lt;luto@mit.edu&gt;
Date:   Thu Jul 14 06:47:22 2011 -0400

    x86-64: Move vread_tsc and vread_hpet into the vDSO

user code no longer directly calls into code in arch/x86/kernel/, so
we don't need compile flag hacks to make it safe.  All vdso code is
in the vdso directory now.

Signed-off-by: Andy Lutomirski &lt;luto@mit.edu&gt;
Link: http://lkml.kernel.org/r/835cd05a4c7740544d09723d6ba48f4406f9826c.1312988155.git.luto@mit.edu
Signed-off-by: H. Peter Anvin &lt;hpa@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
