<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/arch, branch v3.18.29</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>arm64: kernel: pause/unpause function graph tracer in cpu_suspend()</title>
<updated>2016-03-15T16:15:16+00:00</updated>
<author>
<name>Lorenzo Pieralisi</name>
<email>lorenzo.pieralisi@arm.com</email>
</author>
<published>2015-11-17T11:50:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=ae6b37f1a19776e90384bedf5792a3b3eae71094'/>
<id>ae6b37f1a19776e90384bedf5792a3b3eae71094</id>
<content type='text'>
[ Upstream commit de818bd4522c40ea02a81b387d2fa86f989c9623 ]

The function graph tracer adds instrumentation that is required to trace
both entry and exit of a function. In particular the function graph
tracer updates the "return address" of a function in order to insert
a trace callback on function exit.

Kernel power management functions like cpu_suspend() are called
upon power down entry with functions called "finishers" that are in turn
called to trigger the power down sequence but they may not return to the
kernel through the normal return path.

When the core resumes from low-power it returns to the cpu_suspend()
function through the cpu_resume path, which leaves the trace stack frame
set-up by the function tracer in an incosistent state upon return to the
kernel when tracing is enabled.

This patch fixes the issue by pausing/resuming the function graph
tracer on the thread executing cpu_suspend() (ie the function call that
subsequently triggers the "suspend finishers"), so that the function graph
tracer state is kept consistent across functions that enter power down
states and never return by effectively disabling graph tracer while they
are executing.

Fixes: 819e50e25d0c ("arm64: Add ftrace support")
Signed-off-by: Lorenzo Pieralisi &lt;lorenzo.pieralisi@arm.com&gt;
Reported-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Reported-by: AKASHI Takahiro &lt;takahiro.akashi@linaro.org&gt;
Suggested-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Acked-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Cc: Will Deacon &lt;will.deacon@arm.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # 3.16+
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit de818bd4522c40ea02a81b387d2fa86f989c9623 ]

The function graph tracer adds instrumentation that is required to trace
both entry and exit of a function. In particular the function graph
tracer updates the "return address" of a function in order to insert
a trace callback on function exit.

Kernel power management functions like cpu_suspend() are called
upon power down entry with functions called "finishers" that are in turn
called to trigger the power down sequence but they may not return to the
kernel through the normal return path.

When the core resumes from low-power it returns to the cpu_suspend()
function through the cpu_resume path, which leaves the trace stack frame
set-up by the function tracer in an incosistent state upon return to the
kernel when tracing is enabled.

This patch fixes the issue by pausing/resuming the function graph
tracer on the thread executing cpu_suspend() (ie the function call that
subsequently triggers the "suspend finishers"), so that the function graph
tracer state is kept consistent across functions that enter power down
states and never return by effectively disabling graph tracer while they
are executing.

Fixes: 819e50e25d0c ("arm64: Add ftrace support")
Signed-off-by: Lorenzo Pieralisi &lt;lorenzo.pieralisi@arm.com&gt;
Reported-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Reported-by: AKASHI Takahiro &lt;takahiro.akashi@linaro.org&gt;
Suggested-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Acked-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Cc: Will Deacon &lt;will.deacon@arm.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # 3.16+
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: x86: move steal time initialization to vcpu entry time</title>
<updated>2016-03-13T17:53:42+00:00</updated>
<author>
<name>Marcelo Tosatti</name>
<email>mtosatti@redhat.com</email>
</author>
<published>2016-03-11T08:53:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e5aa9bc4adeca95a3858e14ac5d1698efefa737d'/>
<id>e5aa9bc4adeca95a3858e14ac5d1698efefa737d</id>
<content type='text'>
[ Upstream commit 7cae2bedcbd4680b155999655e49c27b9cf020fa ]

As reported at https://bugs.launchpad.net/qemu/+bug/1494350,
it is possible to have vcpu-&gt;arch.st.last_steal initialized
from a thread other than vcpu thread, say the iothread, via
KVM_SET_MSRS.

Which can cause an overflow later (when subtracting from vcpu threads
sched_info.run_delay).

To avoid that, move steal time accumulation to vcpu entry time,
before copying steal time data to guest.

Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Reviewed-by: David Matlack &lt;dmatlack@google.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 7cae2bedcbd4680b155999655e49c27b9cf020fa ]

As reported at https://bugs.launchpad.net/qemu/+bug/1494350,
it is possible to have vcpu-&gt;arch.st.last_steal initialized
from a thread other than vcpu thread, say the iothread, via
KVM_SET_MSRS.

Which can cause an overflow later (when subtracting from vcpu threads
sched_info.run_delay).

To avoid that, move steal time accumulation to vcpu entry time,
before copying steal time data to guest.

Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Reviewed-by: David Matlack &lt;dmatlack@google.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>MIPS: traps: Fix SIGFPE information leak from `do_ov' and `do_trap_or_bp'</title>
<updated>2016-03-13T17:53:41+00:00</updated>
<author>
<name>Maciej W. Rozycki</name>
<email>macro@imgtec.com</email>
</author>
<published>2016-03-04T01:42:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b8882250c376aaa4413b535692d5c6ba20a84800'/>
<id>b8882250c376aaa4413b535692d5c6ba20a84800</id>
<content type='text'>
[ Upstream commit e723e3f7f9591b79e8c56b3d7c5a204a9c571b55 ]

Avoid sending a partially initialised `siginfo_t' structure along SIGFPE
signals issued from `do_ov' and `do_trap_or_bp', leading to information
leaking from the kernel stack.

Signed-off-by: Maciej W. Rozycki &lt;macro@imgtec.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit e723e3f7f9591b79e8c56b3d7c5a204a9c571b55 ]

Avoid sending a partially initialised `siginfo_t' structure along SIGFPE
signals issued from `do_ov' and `do_trap_or_bp', leading to information
leaking from the kernel stack.

Signed-off-by: Maciej W. Rozycki &lt;macro@imgtec.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>PM / sleep / x86: Fix crash on graph trace through x86 suspend</title>
<updated>2016-03-13T17:53:41+00:00</updated>
<author>
<name>Todd E Brandt</name>
<email>todd.e.brandt@linux.intel.com</email>
</author>
<published>2016-03-03T00:05:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d9b930d53bfdefab2d8a55a5bd584bdea8e23fd6'/>
<id>d9b930d53bfdefab2d8a55a5bd584bdea8e23fd6</id>
<content type='text'>
[ Upstream commit 92f9e179a702a6adbc11e2fedc76ecd6ffc9e3f7 ]

Pause/unpause graph tracing around do_suspend_lowlevel as it has
inconsistent call/return info after it jumps to the wakeup vector.
The graph trace buffer will otherwise become misaligned and
may eventually crash and hang on suspend.

To reproduce the issue and test the fix:
Run a function_graph trace over suspend/resume and set the graph
function to suspend_devices_and_enter. This consistently hangs the
system without this fix.

Signed-off-by: Todd Brandt &lt;todd.e.brandt@linux.intel.com&gt;
Cc: All applicable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 92f9e179a702a6adbc11e2fedc76ecd6ffc9e3f7 ]

Pause/unpause graph tracing around do_suspend_lowlevel as it has
inconsistent call/return info after it jumps to the wakeup vector.
The graph trace buffer will otherwise become misaligned and
may eventually crash and hang on suspend.

To reproduce the issue and test the fix:
Run a function_graph trace over suspend/resume and set the graph
function to suspend_devices_and_enter. This consistently hangs the
system without this fix.

Signed-off-by: Todd Brandt &lt;todd.e.brandt@linux.intel.com&gt;
Cc: All applicable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>arm/arm64: KVM: Fix ioctl error handling</title>
<updated>2016-03-11T14:45:24+00:00</updated>
<author>
<name>Michael S. Tsirkin</name>
<email>mst@redhat.com</email>
</author>
<published>2016-02-28T15:32:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=a0afb034eef8385fdfa882b103f5e3ec9f43b0ae'/>
<id>a0afb034eef8385fdfa882b103f5e3ec9f43b0ae</id>
<content type='text'>
[ Upstream commit 4cad67fca3fc952d6f2ed9e799621f07666a560f ]

Calling return copy_to_user(...) in an ioctl will not
do the right thing if there's a pagefault:
copy_to_user returns the number of bytes not copied
in this case.

Fix up kvm to do
	return copy_to_user(...)) ?  -EFAULT : 0;

everywhere.

Cc: stable@vger.kernel.org
Acked-by: Christoffer Dall &lt;christoffer.dall@linaro.org&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 4cad67fca3fc952d6f2ed9e799621f07666a560f ]

Calling return copy_to_user(...) in an ioctl will not
do the right thing if there's a pagefault:
copy_to_user returns the number of bytes not copied
in this case.

Fix up kvm to do
	return copy_to_user(...)) ?  -EFAULT : 0;

everywhere.

Cc: stable@vger.kernel.org
Acked-by: Christoffer Dall &lt;christoffer.dall@linaro.org&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: x86: MMU: fix ubsan index-out-of-range warning</title>
<updated>2016-03-11T14:45:19+00:00</updated>
<author>
<name>Mike Krinkin</name>
<email>krinkin.m.u@gmail.com</email>
</author>
<published>2016-02-24T18:02:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=38973f72a668e864dde5a740a92a503b4bbd5c5f'/>
<id>38973f72a668e864dde5a740a92a503b4bbd5c5f</id>
<content type='text'>
[ Upstream commit 17e4bce0ae63c7e03f3c7fa8d80890e7af3d4971 ]

Ubsan reports the following warning due to a typo in
update_accessed_dirty_bits template, the patch fixes
the typo:

[  168.791851] ================================================================================
[  168.791862] UBSAN: Undefined behaviour in arch/x86/kvm/paging_tmpl.h:252:15
[  168.791866] index 4 is out of range for type 'u64 [4]'
[  168.791871] CPU: 0 PID: 2950 Comm: qemu-system-x86 Tainted: G           O L  4.5.0-rc5-next-20160222 #7
[  168.791873] Hardware name: LENOVO 23205NG/23205NG, BIOS G2ET95WW (2.55 ) 07/09/2013
[  168.791876]  0000000000000000 ffff8801cfcaf208 ffffffff81c9f780 0000000041b58ab3
[  168.791882]  ffffffff82eb2cc1 ffffffff81c9f6b4 ffff8801cfcaf230 ffff8801cfcaf1e0
[  168.791886]  0000000000000004 0000000000000001 0000000000000000 ffffffffa1981600
[  168.791891] Call Trace:
[  168.791899]  [&lt;ffffffff81c9f780&gt;] dump_stack+0xcc/0x12c
[  168.791904]  [&lt;ffffffff81c9f6b4&gt;] ? _atomic_dec_and_lock+0xc4/0xc4
[  168.791910]  [&lt;ffffffff81da9e81&gt;] ubsan_epilogue+0xd/0x8a
[  168.791914]  [&lt;ffffffff81daafa2&gt;] __ubsan_handle_out_of_bounds+0x15c/0x1a3
[  168.791918]  [&lt;ffffffff81daae46&gt;] ? __ubsan_handle_shift_out_of_bounds+0x2bd/0x2bd
[  168.791922]  [&lt;ffffffff811287ef&gt;] ? get_user_pages_fast+0x2bf/0x360
[  168.791954]  [&lt;ffffffffa1794050&gt;] ? kvm_largepages_enabled+0x30/0x30 [kvm]
[  168.791958]  [&lt;ffffffff81128530&gt;] ? __get_user_pages_fast+0x360/0x360
[  168.791987]  [&lt;ffffffffa181b818&gt;] paging64_walk_addr_generic+0x1b28/0x2600 [kvm]
[  168.792014]  [&lt;ffffffffa1819cf0&gt;] ? init_kvm_mmu+0x1100/0x1100 [kvm]
[  168.792019]  [&lt;ffffffff8129e350&gt;] ? debug_check_no_locks_freed+0x350/0x350
[  168.792044]  [&lt;ffffffffa1819cf0&gt;] ? init_kvm_mmu+0x1100/0x1100 [kvm]
[  168.792076]  [&lt;ffffffffa181c36d&gt;] paging64_gva_to_gpa+0x7d/0x110 [kvm]
[  168.792121]  [&lt;ffffffffa181c2f0&gt;] ? paging64_walk_addr_generic+0x2600/0x2600 [kvm]
[  168.792130]  [&lt;ffffffff812e848b&gt;] ? debug_lockdep_rcu_enabled+0x7b/0x90
[  168.792178]  [&lt;ffffffffa17d9a4a&gt;] emulator_read_write_onepage+0x27a/0x1150 [kvm]
[  168.792208]  [&lt;ffffffffa1794d44&gt;] ? __kvm_read_guest_page+0x54/0x70 [kvm]
[  168.792234]  [&lt;ffffffffa17d97d0&gt;] ? kvm_task_switch+0x160/0x160 [kvm]
[  168.792238]  [&lt;ffffffff812e848b&gt;] ? debug_lockdep_rcu_enabled+0x7b/0x90
[  168.792263]  [&lt;ffffffffa17daa07&gt;] emulator_read_write+0xe7/0x6d0 [kvm]
[  168.792290]  [&lt;ffffffffa183b620&gt;] ? em_cr_write+0x230/0x230 [kvm]
[  168.792314]  [&lt;ffffffffa17db005&gt;] emulator_write_emulated+0x15/0x20 [kvm]
[  168.792340]  [&lt;ffffffffa18465f8&gt;] segmented_write+0xf8/0x130 [kvm]
[  168.792367]  [&lt;ffffffffa1846500&gt;] ? em_lgdt+0x20/0x20 [kvm]
[  168.792374]  [&lt;ffffffffa14db512&gt;] ? vmx_read_guest_seg_ar+0x42/0x1e0 [kvm_intel]
[  168.792400]  [&lt;ffffffffa1846d82&gt;] writeback+0x3f2/0x700 [kvm]
[  168.792424]  [&lt;ffffffffa1846990&gt;] ? em_sidt+0xa0/0xa0 [kvm]
[  168.792449]  [&lt;ffffffffa185554d&gt;] ? x86_decode_insn+0x1b3d/0x4f70 [kvm]
[  168.792474]  [&lt;ffffffffa1859032&gt;] x86_emulate_insn+0x572/0x3010 [kvm]
[  168.792499]  [&lt;ffffffffa17e71dd&gt;] x86_emulate_instruction+0x3bd/0x2110 [kvm]
[  168.792524]  [&lt;ffffffffa17e6e20&gt;] ? reexecute_instruction.part.110+0x2e0/0x2e0 [kvm]
[  168.792532]  [&lt;ffffffffa14e9a81&gt;] handle_ept_misconfig+0x61/0x460 [kvm_intel]
[  168.792539]  [&lt;ffffffffa14e9a20&gt;] ? handle_pause+0x450/0x450 [kvm_intel]
[  168.792546]  [&lt;ffffffffa15130ea&gt;] vmx_handle_exit+0xd6a/0x1ad0 [kvm_intel]
[  168.792572]  [&lt;ffffffffa17f6a6c&gt;] ? kvm_arch_vcpu_ioctl_run+0xbdc/0x6090 [kvm]
[  168.792597]  [&lt;ffffffffa17f6bcd&gt;] kvm_arch_vcpu_ioctl_run+0xd3d/0x6090 [kvm]
[  168.792621]  [&lt;ffffffffa17f6a6c&gt;] ? kvm_arch_vcpu_ioctl_run+0xbdc/0x6090 [kvm]
[  168.792627]  [&lt;ffffffff8293b530&gt;] ? __ww_mutex_lock_interruptible+0x1630/0x1630
[  168.792651]  [&lt;ffffffffa17f5e90&gt;] ? kvm_arch_vcpu_runnable+0x4f0/0x4f0 [kvm]
[  168.792656]  [&lt;ffffffff811eeb30&gt;] ? preempt_notifier_unregister+0x190/0x190
[  168.792681]  [&lt;ffffffffa17e0447&gt;] ? kvm_arch_vcpu_load+0x127/0x650 [kvm]
[  168.792704]  [&lt;ffffffffa178e9a3&gt;] kvm_vcpu_ioctl+0x553/0xda0 [kvm]
[  168.792727]  [&lt;ffffffffa178e450&gt;] ? vcpu_put+0x40/0x40 [kvm]
[  168.792732]  [&lt;ffffffff8129e350&gt;] ? debug_check_no_locks_freed+0x350/0x350
[  168.792735]  [&lt;ffffffff82946087&gt;] ? _raw_spin_unlock+0x27/0x40
[  168.792740]  [&lt;ffffffff8163a943&gt;] ? handle_mm_fault+0x1673/0x2e40
[  168.792744]  [&lt;ffffffff8129daa8&gt;] ? trace_hardirqs_on_caller+0x478/0x6c0
[  168.792747]  [&lt;ffffffff8129dcfd&gt;] ? trace_hardirqs_on+0xd/0x10
[  168.792751]  [&lt;ffffffff812e848b&gt;] ? debug_lockdep_rcu_enabled+0x7b/0x90
[  168.792756]  [&lt;ffffffff81725a80&gt;] do_vfs_ioctl+0x1b0/0x12b0
[  168.792759]  [&lt;ffffffff817258d0&gt;] ? ioctl_preallocate+0x210/0x210
[  168.792763]  [&lt;ffffffff8174aef3&gt;] ? __fget+0x273/0x4a0
[  168.792766]  [&lt;ffffffff8174acd0&gt;] ? __fget+0x50/0x4a0
[  168.792770]  [&lt;ffffffff8174b1f6&gt;] ? __fget_light+0x96/0x2b0
[  168.792773]  [&lt;ffffffff81726bf9&gt;] SyS_ioctl+0x79/0x90
[  168.792777]  [&lt;ffffffff82946880&gt;] entry_SYSCALL_64_fastpath+0x23/0xc1
[  168.792780] ================================================================================

Signed-off-by: Mike Krinkin &lt;krinkin.m.u@gmail.com&gt;
Reviewed-by: Xiao Guangrong &lt;guangrong.xiao@linux.intel.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 17e4bce0ae63c7e03f3c7fa8d80890e7af3d4971 ]

Ubsan reports the following warning due to a typo in
update_accessed_dirty_bits template, the patch fixes
the typo:

[  168.791851] ================================================================================
[  168.791862] UBSAN: Undefined behaviour in arch/x86/kvm/paging_tmpl.h:252:15
[  168.791866] index 4 is out of range for type 'u64 [4]'
[  168.791871] CPU: 0 PID: 2950 Comm: qemu-system-x86 Tainted: G           O L  4.5.0-rc5-next-20160222 #7
[  168.791873] Hardware name: LENOVO 23205NG/23205NG, BIOS G2ET95WW (2.55 ) 07/09/2013
[  168.791876]  0000000000000000 ffff8801cfcaf208 ffffffff81c9f780 0000000041b58ab3
[  168.791882]  ffffffff82eb2cc1 ffffffff81c9f6b4 ffff8801cfcaf230 ffff8801cfcaf1e0
[  168.791886]  0000000000000004 0000000000000001 0000000000000000 ffffffffa1981600
[  168.791891] Call Trace:
[  168.791899]  [&lt;ffffffff81c9f780&gt;] dump_stack+0xcc/0x12c
[  168.791904]  [&lt;ffffffff81c9f6b4&gt;] ? _atomic_dec_and_lock+0xc4/0xc4
[  168.791910]  [&lt;ffffffff81da9e81&gt;] ubsan_epilogue+0xd/0x8a
[  168.791914]  [&lt;ffffffff81daafa2&gt;] __ubsan_handle_out_of_bounds+0x15c/0x1a3
[  168.791918]  [&lt;ffffffff81daae46&gt;] ? __ubsan_handle_shift_out_of_bounds+0x2bd/0x2bd
[  168.791922]  [&lt;ffffffff811287ef&gt;] ? get_user_pages_fast+0x2bf/0x360
[  168.791954]  [&lt;ffffffffa1794050&gt;] ? kvm_largepages_enabled+0x30/0x30 [kvm]
[  168.791958]  [&lt;ffffffff81128530&gt;] ? __get_user_pages_fast+0x360/0x360
[  168.791987]  [&lt;ffffffffa181b818&gt;] paging64_walk_addr_generic+0x1b28/0x2600 [kvm]
[  168.792014]  [&lt;ffffffffa1819cf0&gt;] ? init_kvm_mmu+0x1100/0x1100 [kvm]
[  168.792019]  [&lt;ffffffff8129e350&gt;] ? debug_check_no_locks_freed+0x350/0x350
[  168.792044]  [&lt;ffffffffa1819cf0&gt;] ? init_kvm_mmu+0x1100/0x1100 [kvm]
[  168.792076]  [&lt;ffffffffa181c36d&gt;] paging64_gva_to_gpa+0x7d/0x110 [kvm]
[  168.792121]  [&lt;ffffffffa181c2f0&gt;] ? paging64_walk_addr_generic+0x2600/0x2600 [kvm]
[  168.792130]  [&lt;ffffffff812e848b&gt;] ? debug_lockdep_rcu_enabled+0x7b/0x90
[  168.792178]  [&lt;ffffffffa17d9a4a&gt;] emulator_read_write_onepage+0x27a/0x1150 [kvm]
[  168.792208]  [&lt;ffffffffa1794d44&gt;] ? __kvm_read_guest_page+0x54/0x70 [kvm]
[  168.792234]  [&lt;ffffffffa17d97d0&gt;] ? kvm_task_switch+0x160/0x160 [kvm]
[  168.792238]  [&lt;ffffffff812e848b&gt;] ? debug_lockdep_rcu_enabled+0x7b/0x90
[  168.792263]  [&lt;ffffffffa17daa07&gt;] emulator_read_write+0xe7/0x6d0 [kvm]
[  168.792290]  [&lt;ffffffffa183b620&gt;] ? em_cr_write+0x230/0x230 [kvm]
[  168.792314]  [&lt;ffffffffa17db005&gt;] emulator_write_emulated+0x15/0x20 [kvm]
[  168.792340]  [&lt;ffffffffa18465f8&gt;] segmented_write+0xf8/0x130 [kvm]
[  168.792367]  [&lt;ffffffffa1846500&gt;] ? em_lgdt+0x20/0x20 [kvm]
[  168.792374]  [&lt;ffffffffa14db512&gt;] ? vmx_read_guest_seg_ar+0x42/0x1e0 [kvm_intel]
[  168.792400]  [&lt;ffffffffa1846d82&gt;] writeback+0x3f2/0x700 [kvm]
[  168.792424]  [&lt;ffffffffa1846990&gt;] ? em_sidt+0xa0/0xa0 [kvm]
[  168.792449]  [&lt;ffffffffa185554d&gt;] ? x86_decode_insn+0x1b3d/0x4f70 [kvm]
[  168.792474]  [&lt;ffffffffa1859032&gt;] x86_emulate_insn+0x572/0x3010 [kvm]
[  168.792499]  [&lt;ffffffffa17e71dd&gt;] x86_emulate_instruction+0x3bd/0x2110 [kvm]
[  168.792524]  [&lt;ffffffffa17e6e20&gt;] ? reexecute_instruction.part.110+0x2e0/0x2e0 [kvm]
[  168.792532]  [&lt;ffffffffa14e9a81&gt;] handle_ept_misconfig+0x61/0x460 [kvm_intel]
[  168.792539]  [&lt;ffffffffa14e9a20&gt;] ? handle_pause+0x450/0x450 [kvm_intel]
[  168.792546]  [&lt;ffffffffa15130ea&gt;] vmx_handle_exit+0xd6a/0x1ad0 [kvm_intel]
[  168.792572]  [&lt;ffffffffa17f6a6c&gt;] ? kvm_arch_vcpu_ioctl_run+0xbdc/0x6090 [kvm]
[  168.792597]  [&lt;ffffffffa17f6bcd&gt;] kvm_arch_vcpu_ioctl_run+0xd3d/0x6090 [kvm]
[  168.792621]  [&lt;ffffffffa17f6a6c&gt;] ? kvm_arch_vcpu_ioctl_run+0xbdc/0x6090 [kvm]
[  168.792627]  [&lt;ffffffff8293b530&gt;] ? __ww_mutex_lock_interruptible+0x1630/0x1630
[  168.792651]  [&lt;ffffffffa17f5e90&gt;] ? kvm_arch_vcpu_runnable+0x4f0/0x4f0 [kvm]
[  168.792656]  [&lt;ffffffff811eeb30&gt;] ? preempt_notifier_unregister+0x190/0x190
[  168.792681]  [&lt;ffffffffa17e0447&gt;] ? kvm_arch_vcpu_load+0x127/0x650 [kvm]
[  168.792704]  [&lt;ffffffffa178e9a3&gt;] kvm_vcpu_ioctl+0x553/0xda0 [kvm]
[  168.792727]  [&lt;ffffffffa178e450&gt;] ? vcpu_put+0x40/0x40 [kvm]
[  168.792732]  [&lt;ffffffff8129e350&gt;] ? debug_check_no_locks_freed+0x350/0x350
[  168.792735]  [&lt;ffffffff82946087&gt;] ? _raw_spin_unlock+0x27/0x40
[  168.792740]  [&lt;ffffffff8163a943&gt;] ? handle_mm_fault+0x1673/0x2e40
[  168.792744]  [&lt;ffffffff8129daa8&gt;] ? trace_hardirqs_on_caller+0x478/0x6c0
[  168.792747]  [&lt;ffffffff8129dcfd&gt;] ? trace_hardirqs_on+0xd/0x10
[  168.792751]  [&lt;ffffffff812e848b&gt;] ? debug_lockdep_rcu_enabled+0x7b/0x90
[  168.792756]  [&lt;ffffffff81725a80&gt;] do_vfs_ioctl+0x1b0/0x12b0
[  168.792759]  [&lt;ffffffff817258d0&gt;] ? ioctl_preallocate+0x210/0x210
[  168.792763]  [&lt;ffffffff8174aef3&gt;] ? __fget+0x273/0x4a0
[  168.792766]  [&lt;ffffffff8174acd0&gt;] ? __fget+0x50/0x4a0
[  168.792770]  [&lt;ffffffff8174b1f6&gt;] ? __fget_light+0x96/0x2b0
[  168.792773]  [&lt;ffffffff81726bf9&gt;] SyS_ioctl+0x79/0x90
[  168.792777]  [&lt;ffffffff82946880&gt;] entry_SYSCALL_64_fastpath+0x23/0xc1
[  168.792780] ================================================================================

Signed-off-by: Mike Krinkin &lt;krinkin.m.u@gmail.com&gt;
Reviewed-by: Xiao Guangrong &lt;guangrong.xiao@linux.intel.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>s390/compat: correct restore of high gprs on signal return</title>
<updated>2016-03-08T06:13:56+00:00</updated>
<author>
<name>Martin Schwidefsky</name>
<email>schwidefsky@de.ibm.com</email>
</author>
<published>2016-02-19T13:44:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f5054278cae5abb73add17ceb7e52da48536f84b'/>
<id>f5054278cae5abb73add17ceb7e52da48536f84b</id>
<content type='text'>
[ Upstream commit 342300cc9cd3428bc6bfe5809bfcc1b9a0f06702 ]

git commit 8070361799ae1e3f4ef347bd10f0a508ac10acfb
"s390: add support for vector extension"
broke 31-bit compat processes in regard to signal handling.

The restore_sigregs_ext32() function is used to restore the additional
elements from the user space signal frame. Among the additional elements
are the upper registers halves for 64-bit register support for 31-bit
processes. The copy_from_user that is used to retrieve the high-gprs
array from the user stack uses an incorrect length, 8 bytes instead of
64 bytes. This causes incorrect upper register halves to get loaded.

Cc: stable@vger.kernel.org # 3.8+
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 342300cc9cd3428bc6bfe5809bfcc1b9a0f06702 ]

git commit 8070361799ae1e3f4ef347bd10f0a508ac10acfb
"s390: add support for vector extension"
broke 31-bit compat processes in regard to signal handling.

The restore_sigregs_ext32() function is used to restore the additional
elements from the user space signal frame. Among the additional elements
are the upper registers halves for 64-bit register support for 31-bit
processes. The copy_from_user that is used to retrieve the high-gprs
array from the user stack uses an incorrect length, 8 bytes instead of
64 bytes. This causes incorrect upper register halves to get loaded.

Cc: stable@vger.kernel.org # 3.8+
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>x86/entry/compat: Add missing CLAC to entry_INT80_32</title>
<updated>2016-03-07T14:37:08+00:00</updated>
<author>
<name>Andy Lutomirski</name>
<email>luto@kernel.org</email>
</author>
<published>2016-03-04T18:46:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=06a0f04fa071ac532f619959c6e908bb7e313852'/>
<id>06a0f04fa071ac532f619959c6e908bb7e313852</id>
<content type='text'>
commit 3d44d51bd339766f0178f0cf2e8d048b4a4872aa upstream.

This doesn't seem to fix a regression -- I don't think the CLAC was
ever there.

I double-checked in a debugger: entries through the int80 gate do
not automatically clear AC.

Stable maintainers: I can provide a backport to 4.3 and earlier if
needed.  This needs to be backported all the way to 3.10.

Reported-by: Brian Gerst &lt;brgerst@gmail.com&gt;
Signed-off-by: Andy Lutomirski &lt;luto@kernel.org&gt;
Cc: Andy Lutomirski &lt;luto@amacapital.net&gt;
Cc: Borislav Petkov &lt;bp@alien8.de&gt;
Cc: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;
Cc: H. Peter Anvin &lt;hpa@zytor.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v3.10 and later
Fixes: 63bcff2a307b ("x86, smap: Add STAC and CLAC instructions to control user space access")
Link: http://lkml.kernel.org/r/b02b7e71ae54074be01fc171cbd4b72517055c0e.1456345086.git.luto@kernel.org
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
[ kamal: backport to 3.10 through 3.19-stable: file rename; context ]
Signed-off-by: Kamal Mostafa &lt;kamal@canonical.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 3d44d51bd339766f0178f0cf2e8d048b4a4872aa upstream.

This doesn't seem to fix a regression -- I don't think the CLAC was
ever there.

I double-checked in a debugger: entries through the int80 gate do
not automatically clear AC.

Stable maintainers: I can provide a backport to 4.3 and earlier if
needed.  This needs to be backported all the way to 3.10.

Reported-by: Brian Gerst &lt;brgerst@gmail.com&gt;
Signed-off-by: Andy Lutomirski &lt;luto@kernel.org&gt;
Cc: Andy Lutomirski &lt;luto@amacapital.net&gt;
Cc: Borislav Petkov &lt;bp@alien8.de&gt;
Cc: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;
Cc: H. Peter Anvin &lt;hpa@zytor.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v3.10 and later
Fixes: 63bcff2a307b ("x86, smap: Add STAC and CLAC instructions to control user space access")
Link: http://lkml.kernel.org/r/b02b7e71ae54074be01fc171cbd4b72517055c0e.1456345086.git.luto@kernel.org
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
[ kamal: backport to 3.10 through 3.19-stable: file rename; context ]
Signed-off-by: Kamal Mostafa &lt;kamal@canonical.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>powerpc/powernv: Shorten EEH function names</title>
<updated>2016-03-04T15:18:41+00:00</updated>
<author>
<name>Gavin Shan</name>
<email>gwshan@linux.vnet.ibm.com</email>
</author>
<published>2015-02-16T03:45:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=69cbeac9ac888328df66147e85ee1970623e4dc1'/>
<id>69cbeac9ac888328df66147e85ee1970623e4dc1</id>
<content type='text'>
[ Upstream commit 01f3bfb7804ae20aaf66884cf537f7dc2cdc1671 ]

The patch shortens names of EEH functions in powernv-eeh.c and no
logic change introduced by this patch.

Signed-off-by: Gavin Shan &lt;gwshan@linux.vnet.ibm.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 01f3bfb7804ae20aaf66884cf537f7dc2cdc1671 ]

The patch shortens names of EEH functions in powernv-eeh.c and no
logic change introduced by this patch.

Signed-off-by: Gavin Shan &lt;gwshan@linux.vnet.ibm.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: 8519/1: ICST: try other dividends than 1</title>
<updated>2016-03-04T15:18:40+00:00</updated>
<author>
<name>Linus Walleij</name>
<email>linus.walleij@linaro.org</email>
</author>
<published>2016-02-10T08:25:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=95fd8af5271c9201bc0a4a751e23a05363560c4b'/>
<id>95fd8af5271c9201bc0a4a751e23a05363560c4b</id>
<content type='text'>
[ Upstream commit e972c37459c813190461dabfeaac228e00aae259 ]

Since the dawn of time the ICST code has only supported divide
by one or hang in an eternal loop. Luckily we were always dividing
by one because the reference frequency for the systems using
the ICSTs is 24MHz and the [min,max] values for the PLL input
if [10,320] MHz for ICST307 and [6,200] for ICST525, so the loop
will always terminate immediately without assigning any divisor
for the reference frequency.

But for the code to make sense, let's insert the missing i++

Reported-by: David Binderman &lt;dcb314@hotmail.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit e972c37459c813190461dabfeaac228e00aae259 ]

Since the dawn of time the ICST code has only supported divide
by one or hang in an eternal loop. Luckily we were always dividing
by one because the reference frequency for the systems using
the ICSTs is 24MHz and the [min,max] values for the PLL input
if [10,320] MHz for ICST307 and [6,200] for ICST525, so the loop
will always terminate immediately without assigning any divisor
for the reference frequency.

But for the code to make sense, let's insert the missing i++

Reported-by: David Binderman &lt;dcb314@hotmail.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
