<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/arch, branch v3.10.35</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/arch?h=v3.10.35</id>
<link rel='self' href='https://git.amat.us/linux/atom/arch?h=v3.10.35'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-03-31T16:58:14Z</updated>
<entry>
<title>KVM: VMX: fix use after free of vmx-&gt;loaded_vmcs</title>
<updated>2014-03-31T16:58:14Z</updated>
<author>
<name>Marcelo Tosatti</name>
<email>mtosatti@redhat.com</email>
</author>
<published>2014-01-03T19:00:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8705bd42c90cde02da72650c6a2ed87b65f2179a'/>
<id>urn:sha1:8705bd42c90cde02da72650c6a2ed87b65f2179a</id>
<content type='text'>
commit 26a865f4aa8e66a6d94958de7656f7f1b03c6c56 upstream.

After free_loaded_vmcs executes, the "loaded_vmcs" structure
is kfreed, and now vmx-&gt;loaded_vmcs points to a kfreed area.
Subsequent free_loaded_vmcs then attempts to manipulate
vmx-&gt;loaded_vmcs.

Switch the order to avoid the problem.

https://bugzilla.redhat.com/show_bug.cgi?id=1047892

Reviewed-by: Jan Kiszka &lt;jan.kiszka@siemens.com&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Cc: Josh Boyer &lt;jwboyer@fedoraproject.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>KVM: x86: handle invalid root_hpa everywhere</title>
<updated>2014-03-31T16:58:14Z</updated>
<author>
<name>Marcelo Tosatti</name>
<email>mtosatti@redhat.com</email>
</author>
<published>2014-01-03T19:09:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0cb2501e5f4bf2d5409fae7bef5f8e7b7a0d015a'/>
<id>urn:sha1:0cb2501e5f4bf2d5409fae7bef5f8e7b7a0d015a</id>
<content type='text'>
commit 37f6a4e237303549c8676dfe1fd1991ceab512eb upstream.

Rom Freiman &lt;rom@stratoscale.com&gt; notes other code paths vulnerable to
bug fixed by 989c6b34f6a9480e397b.

Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Cc: Josh Boyer &lt;jwboyer@fedoraproject.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>KVM: MMU: handle invalid root_hpa at __direct_map</title>
<updated>2014-03-31T16:58:14Z</updated>
<author>
<name>Marcelo Tosatti</name>
<email>mtosatti@redhat.com</email>
</author>
<published>2013-12-19T17:28:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9bf49602a4129a4bd97526802c34b5e4e76dbc2e'/>
<id>urn:sha1:9bf49602a4129a4bd97526802c34b5e4e76dbc2e</id>
<content type='text'>
commit 989c6b34f6a9480e397b170cc62237e89bf4fdb9 upstream.

It is possible for __direct_map to be called on invalid root_hpa
(-1), two examples:

1) try_async_pf -&gt; can_do_async_pf
    -&gt; vmx_interrupt_allowed -&gt; nested_vmx_vmexit
2) vmx_handle_exit -&gt; vmx_interrupt_allowed -&gt; nested_vmx_vmexit

Then to load_vmcs12_host_state and kvm_mmu_reset_context.

Check for this possibility, let fault exception be regenerated.

BZ: https://bugzilla.redhat.com/show_bug.cgi?id=924916

Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Cc: Josh Boyer &lt;jwboyer@fedoraproject.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ARM: highbank: avoid L2 cache smc calls when PL310 is not present</title>
<updated>2014-03-31T16:58:13Z</updated>
<author>
<name>Rob Herring</name>
<email>rob.herring@calxeda.com</email>
</author>
<published>2013-08-18T01:10:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b56a587c3780bc27a6ca0f751c59f9cff9e4be43'/>
<id>urn:sha1:b56a587c3780bc27a6ca0f751c59f9cff9e4be43</id>
<content type='text'>
commit a56a5cf1f2ec895599eace0ac6eba1e4a489e4bf upstream.

While Midway firmware handles L2 smc calls as nops, the custom smc calls
present a problem when running virtualized Midway guest. They aren't
needed so just avoid calling them.

In the process, cleanup the L2X0 ifdefs and use IS_ENABLED instead.

Signed-off-by: Rob Herring &lt;rob.herring@calxeda.com&gt;
Signed-off-by: Ian Campbell &lt;ian.campbell@citrix.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ARM: move outer_cache declaration out of ifdef</title>
<updated>2014-03-31T16:58:13Z</updated>
<author>
<name>Rob Herring</name>
<email>rob.herring@calxeda.com</email>
</author>
<published>2013-08-18T01:12:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c46696c9e2235a4f00aa424509fd3c12ebcfc475'/>
<id>urn:sha1:c46696c9e2235a4f00aa424509fd3c12ebcfc475</id>
<content type='text'>
commit 0b53c11d533a8f6688d73fad0baf67dd08ec1b90 upstream.

Move the outer_cache declaration of the CONFIG_OUTER_CACHE ifdef so that
outer_cache can be used inside IS_ENABLED condition.

Signed-off-by: Rob Herring &lt;rob.herring@calxeda.com&gt;
Cc: Russell King &lt;linux@arm.linux.org.uk&gt;
Signed-off-by: Ian Campbell &lt;ian.campbell@citrix.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>x86: bpf_jit: support negative offsets</title>
<updated>2014-03-31T16:58:13Z</updated>
<author>
<name>Alexei Starovoitov</name>
<email>ast@plumgrid.com</email>
</author>
<published>2014-03-10T22:56:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=32f139873e89672cbd5b28f5da944201e86fdb92'/>
<id>urn:sha1:32f139873e89672cbd5b28f5da944201e86fdb92</id>
<content type='text'>
commit fdfaf64e75397567257e1051931f9a3377360665 upstream.

Commit a998d4342337 claimed to introduce negative offset support to x86 jit,
but it couldn't be working, since at the time of the execution
of LD+ABS or LD+IND instructions via call into
bpf_internal_load_pointer_neg_helper() the %edx (3rd argument of this func)
had junk value instead of access size in bytes (1 or 2 or 4).

Store size into %edx instead of %ecx (what original commit intended to do)

Fixes: a998d4342337 ("bpf jit: Let the x86 jit handle negative offsets")
Signed-off-by: Alexei Starovoitov &lt;ast@plumgrid.com&gt;
Cc: Jan Seiffert &lt;kaffeemonster@googlemail.com&gt;
Cc: Eric Dumazet &lt;edumazet@google.com&gt;
Acked-by: Eric Dumazet &lt;edumazet@google.com&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: ignore memory below PHYS_OFFSET</title>
<updated>2014-03-24T04:38:21Z</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2014-01-11T11:22:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=22fc72288f35219585f11fd40e663c0d3a30a28a'/>
<id>urn:sha1:22fc72288f35219585f11fd40e663c0d3a30a28a</id>
<content type='text'>
commit 571b14375019c3a66ef70d4d4a7083f4238aca30 upstream.

If the kernel is loaded higher in physical memory than normal, and we
calculate PHYS_OFFSET higher than the start of RAM, this leads to
boot problems as we attempt to map part of this RAM into userspace.
Rather than struggle with this, just truncate the mapping.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Cc: Wang Nan &lt;wangnan0@huawei.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ARM: 7864/1: Handle 64-bit memory in case of 32-bit phys_addr_t</title>
<updated>2014-03-24T04:38:21Z</updated>
<author>
<name>Magnus Damm</name>
<email>damm@opensource.se</email>
</author>
<published>2013-10-22T16:59:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=307af156795a3009398e609719cd557f58a20907'/>
<id>urn:sha1:307af156795a3009398e609719cd557f58a20907</id>
<content type='text'>
commit 6d7d5da7d75c6df676c8b72d32b02ff024438f0c upstream.

Use CONFIG_ARCH_PHYS_ADDR_T_64BIT to determine
if ignoring or truncating of memory banks is
neccessary. This may be needed in the case of
64-bit memory bank addresses but when phys_addr_t
is kept 32-bit.

Signed-off-by: Magnus Damm &lt;damm@opensource.se&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Cc: Wang Nan &lt;wangnan0@huawei.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>MIPS: include linux/types.h</title>
<updated>2014-03-24T04:38:20Z</updated>
<author>
<name>Qais Yousef</name>
<email>qais.yousef@imgtec.com</email>
</author>
<published>2013-12-09T09:49:45Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=99a65d40dfa32a1f6ae205d3d72b64b9c863f608'/>
<id>urn:sha1:99a65d40dfa32a1f6ae205d3d72b64b9c863f608</id>
<content type='text'>
commit 87c99203fea897fbdd84b681ad9fced2517dcf98 upstream.

The file uses u16 type but doesn't include its definition explicitly

I was getting this error when including this header in my driver:

  arch/mips/include/asm/mipsregs.h:644:33: error: unknown type name ‘u16’

Signed-off-by: Qais Yousef &lt;qais.yousef@imgtec.com&gt;
Reviewed-by: Steven J. Hill &lt;Steven.Hill@imgtec.com&gt;
Acked-by: David Daney &lt;david.daney@cavium.com&gt;
Signed-off-by: John Crispin &lt;blogic@openwrt.org&gt;
Patchwork: http://patchwork.linux-mips.org/patch/6212/
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>x86, fpu: Check tsk_used_math() in kernel_fpu_end() for eager FPU</title>
<updated>2014-03-24T04:38:19Z</updated>
<author>
<name>Suresh Siddha</name>
<email>sbsiddha@gmail.com</email>
</author>
<published>2014-02-03T06:56:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d2c6966a096ad50c33825a52e6521102ffeda1ff'/>
<id>urn:sha1:d2c6966a096ad50c33825a52e6521102ffeda1ff</id>
<content type='text'>
commit 731bd6a93a6e9172094a2322bd0ee964bb1f4d63 upstream.

For non-eager fpu mode, thread's fpu state is allocated during the first
fpu usage (in the context of device not available exception). This
(math_state_restore()) can be a blocking call and hence we enable
interrupts (which were originally disabled when the exception happened),
allocate memory and disable interrupts etc.

But the eager-fpu mode, call's the same math_state_restore() from
kernel_fpu_end(). The assumption being that tsk_used_math() is always
set for the eager-fpu mode and thus avoid the code path of enabling
interrupts, allocating fpu state using blocking call and disable
interrupts etc.

But the below issue was noticed by Maarten Baert, Nate Eldredge and
few others:

If a user process dumps core on an ecrypt fs while aesni-intel is loaded,
we get a BUG() in __find_get_block() complaining that it was called with
interrupts disabled; then all further accesses to our ecrypt fs hang
and we have to reboot.

The aesni-intel code (encrypting the core file that we are writing) needs
the FPU and quite properly wraps its code in kernel_fpu_{begin,end}(),
the latter of which calls math_state_restore(). So after kernel_fpu_end(),
interrupts may be disabled, which nobody seems to expect, and they stay
that way until we eventually get to __find_get_block() which barfs.

For eager fpu, most the time, tsk_used_math() is true. At few instances
during thread exit, signal return handling etc, tsk_used_math() might
be false.

In kernel_fpu_end(), for eager-fpu, call math_state_restore()
only if tsk_used_math() is set. Otherwise, don't bother. Kernel code
path which cleared tsk_used_math() knows what needs to be done
with the fpu state.

Reported-by: Maarten Baert &lt;maarten-baert@hotmail.com&gt;
Reported-by: Nate Eldredge &lt;nate@thatsmathematics.com&gt;
Suggested-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Suresh Siddha &lt;sbsiddha@gmail.com&gt;
Link: http://lkml.kernel.org/r/1391410583.3801.6.camel@europa
Cc: George Spelvin &lt;linux@horizon.com&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
</feed>
