<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/arch, branch v3.3.7</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/arch?h=v3.3.7</id>
<link rel='self' href='https://git.amat.us/linux/atom/arch?h=v3.3.7'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-05-21T17:46:20Z</updated>
<entry>
<title>arch/tile: apply commit 74fca9da0 to the compat signal handling as well</title>
<updated>2012-05-21T17:46:20Z</updated>
<author>
<name>Chris Metcalf</name>
<email>cmetcalf@tilera.com</email>
</author>
<published>2012-05-16T18:54:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1c3a16855faa9dec5d580987b0993ce7b1b303d7'/>
<id>urn:sha1:1c3a16855faa9dec5d580987b0993ce7b1b303d7</id>
<content type='text'>
commit a134d228298c6aa9007205c6b81cae0cac0acb5d upstream.

This passes siginfo and mcontext to tilegx32 signal handlers that
don't have SA_SIGINFO set just as we have been doing for tilegx64.

Signed-off-by: Chris Metcalf &lt;cmetcalf@tilera.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ARM: prevent VM_GROWSDOWN mmaps extending below FIRST_USER_ADDRESS</title>
<updated>2012-05-21T17:46:18Z</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2012-05-16T14:19:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4d650fc196b3d6a600edfb7ed72ac72b47ea6185'/>
<id>urn:sha1:4d650fc196b3d6a600edfb7ed72ac72b47ea6185</id>
<content type='text'>
commit 9b61a4d1b2064dbd0c9e61754305ac852170509f upstream.

Reported-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ARM: 7417/1: vfp: ensure preemption is disabled when enabling VFP access</title>
<updated>2012-05-21T17:46:18Z</updated>
<author>
<name>Will Deacon</name>
<email>will.deacon@arm.com</email>
</author>
<published>2012-05-11T16:42:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a2e4e710c086666027b14bfcc4ca7c46773a7d6e'/>
<id>urn:sha1:a2e4e710c086666027b14bfcc4ca7c46773a7d6e</id>
<content type='text'>
commit 998de4acb2ba188d20768d1065658377a2e7d29b upstream.

The vfp_enable function enables access to the VFP co-processor register
space (cp10 and cp11) on the current CPU and must be called with
preemption disabled. Unfortunately, the vfp_init late initcall does not
disable preemption and can lead to an oops during boot if thread
migration occurs at the wrong time and we end up attempting to access
the FPSID on a CPU with VFP access disabled.

This patch fixes the initcall to call vfp_enable from a non-preemptible
context on each CPU and adds a BUG_ON(preemptible) to ensure that any
similar problems are easily spotted in the future.

Reported-by: Hyungwoo Yang &lt;hwoo.yang@gmail.com&gt;
Signed-off-by: Hyungwoo Yang &lt;hyungwooy@nvidia.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>sparc64: Do not clobber %g2 in xcall_fetch_glob_regs().</title>
<updated>2012-05-21T17:46:17Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2012-05-10T18:00:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=64e7fc77d3eef5a0864929a58a034d6be4a6fb1d'/>
<id>urn:sha1:64e7fc77d3eef5a0864929a58a034d6be4a6fb1d</id>
<content type='text'>
[ Upstream commit a5a737e090e25981e99d69f01400e3a80356581c ]

%g2 is meant to hold the CPUID number throughout this routine, since
at the very beginning, and at the very end, we use %g2 to calculate
indexes into per-cpu arrays.

However we erroneously clobber it in order to hold the %cwp register
value mid-stream.

Fix this code to use %g3 for the %cwp read and related calulcations
instead.

Reported-by: Meelis Roos &lt;mroos@linux.ee&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ARM: 7398/1: l2x0: only write to debug registers on PL310</title>
<updated>2012-05-12T16:32:22Z</updated>
<author>
<name>Will Deacon</name>
<email>will.deacon@arm.com</email>
</author>
<published>2012-04-20T16:22:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f3d426d5b791e91a0c515ac8f9dbf9e16dc439e6'/>
<id>urn:sha1:f3d426d5b791e91a0c515ac8f9dbf9e16dc439e6</id>
<content type='text'>
commit ab4d536890853ab6675ede65db40e2c0980cb0ea upstream.

PL310 errata #588369 and #727915 require writes to the debug registers
of the cache controller to work around known problems. Writing these
registers on L220 may cause deadlock, so ensure that we only perform
this operation when we identify a PL310 at probe time.

Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ARM: 7397/1: l2x0: only apply workaround for erratum #753970 on PL310</title>
<updated>2012-05-12T16:32:21Z</updated>
<author>
<name>Will Deacon</name>
<email>will.deacon@arm.com</email>
</author>
<published>2012-04-20T16:21:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c2fa9282ae75212b61077b274bf69d89890362e5'/>
<id>urn:sha1:c2fa9282ae75212b61077b274bf69d89890362e5</id>
<content type='text'>
commit f154fe9b806574437b47f08e924ad10c0e240b23 upstream.

The workaround for PL310 erratum #753970 can lead to deadlock on systems
with an L220 cache controller.

This patch makes the workaround effective only when the cache controller
is identified as a PL310 at probe time.

Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>KVM: VMX: Fix kvm_set_shared_msr() called in preemptible context</title>
<updated>2012-05-12T16:32:20Z</updated>
<author>
<name>Avi Kivity</name>
<email>avi@redhat.com</email>
</author>
<published>2012-05-09T13:10:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a4dfde33d7f8448d65d066392ecccbbf50d55fd8'/>
<id>urn:sha1:a4dfde33d7f8448d65d066392ecccbbf50d55fd8</id>
<content type='text'>
(cherry picked from commit 2225fd56049643c1a7d645c0ce9d499d43c7974e)

kvm_set_shared_msr() may not be called in preemptible context,
but vmx_set_msr() does so:

  BUG: using smp_processor_id() in preemptible [00000000] code: qemu-kvm/22713
  caller is kvm_set_shared_msr+0x32/0xa0 [kvm]
  Pid: 22713, comm: qemu-kvm Not tainted 3.4.0-rc3+ #39
  Call Trace:
   [&lt;ffffffff8131fa82&gt;] debug_smp_processor_id+0xe2/0x100
   [&lt;ffffffffa0328ae2&gt;] kvm_set_shared_msr+0x32/0xa0 [kvm]
   [&lt;ffffffffa03a103b&gt;] vmx_set_msr+0x28b/0x2d0 [kvm_intel]
   ...

Making kvm_set_shared_msr() work in preemptible is cleaner, but
it's used in the fast path.  Making two variants is overkill, so
this patch just disables preemption around the call.

Reported-by: Dave Jones &lt;davej@redhat.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>KVM: VMX: vmx_set_cr0 expects kvm-&gt;srcu locked</title>
<updated>2012-05-12T16:32:20Z</updated>
<author>
<name>Marcelo Tosatti</name>
<email>mtosatti@redhat.com</email>
</author>
<published>2012-05-09T13:10:45Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8a4a30bf172a05f53714f0f54af2e044a6ede7a8'/>
<id>urn:sha1:8a4a30bf172a05f53714f0f54af2e044a6ede7a8</id>
<content type='text'>
(cherry picked from commit 7a4f5ad051e02139a9f1c0f7f4b1acb88915852b)

vmx_set_cr0 is called from vcpu run context, therefore it expects
kvm-&gt;srcu to be held (for setting up the real-mode TSS).

Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>KVM: nVMX: Fix erroneous exception bitmap check</title>
<updated>2012-05-12T16:32:20Z</updated>
<author>
<name>Nadav Har'El</name>
<email>nyh@math.technion.ac.il</email>
</author>
<published>2012-05-09T13:10:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8dd2cb2a8d183d59f6d41dd71db550a306cc55eb'/>
<id>urn:sha1:8dd2cb2a8d183d59f6d41dd71db550a306cc55eb</id>
<content type='text'>
(cherry picked from commit 9587190107d0c0cbaccbf7bf6b0245d29095a9ae)

The code which checks whether to inject a pagefault to L1 or L2 (in
nested VMX) was wrong, incorrect in how it checked the PF_VECTOR bit.
Thanks to Dan Carpenter for spotting this.

Signed-off-by: Nadav Har'El &lt;nyh@il.ibm.com&gt;
Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>KVM: VMX: Fix delayed load of shared MSRs</title>
<updated>2012-05-12T16:32:20Z</updated>
<author>
<name>Avi Kivity</name>
<email>avi@redhat.com</email>
</author>
<published>2012-05-09T13:10:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=044873c9fc637a88225f0e01bedb9daee04524ed'/>
<id>urn:sha1:044873c9fc637a88225f0e01bedb9daee04524ed</id>
<content type='text'>
(cherry picked from commit 9ee73970c03edb68146ceb1ba2a7033c99a5e017)

Shared MSRs (MSR_*STAR and related) are stored in both vmx-&gt;guest_msrs
and in the CPU registers, but vmx_set_msr() only updated memory. Prior
to 46199f33c2953, this didn't matter, since we called vmx_load_host_state(),
which scheduled a vmx_save_host_state(), which re-synchronized the CPU
state, but now we don't, so the CPU state will not be synchronized until
the next exit to host userspace.  This mostly affects nested vmx workloads,
which play with these MSRs a lot.

Fix by loading the MSR eagerly.

Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
