<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/arch, branch v3.12.51</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/mm/hotplug: Modify PGD entry when removing memory</title>
<updated>2015-11-18T12:42:46+00:00</updated>
<author>
<name>Yasuaki Ishimatsu</name>
<email>isimatu.yasuaki@jp.fujitsu.com</email>
</author>
<published>2014-08-22T20:27:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5f2f951264d00b7abbba4ce95ead10d5ff25c0da'/>
<id>5f2f951264d00b7abbba4ce95ead10d5ff25c0da</id>
<content type='text'>
commit 9661d5bcd058fe15b4138a00d96bd36516134543 upstream.

When hot-adding/removing memory, sync_global_pgds() is called
for synchronizing PGD to PGD entries of all processes MM.  But
when hot-removing memory, sync_global_pgds() does not work
correctly.

At first, sync_global_pgds() checks whether target PGD is none
or not.  And if PGD is none, the PGD is skipped.  But when
hot-removing memory, PGD may be none since PGD may be cleared by
free_pud_table().  So when sync_global_pgds() is called after
hot-removing memory, sync_global_pgds() should not skip PGD even
if the PGD is none.  And sync_global_pgds() must clear PGD
entries of all processes MM.

Currently sync_global_pgds() does not clear PGD entries of all
processes MM when hot-removing memory.  So when hot adding
memory which is same memory range as removed memory after
hot-removing memory, following call traces are shown:

 kernel BUG at arch/x86/mm/init_64.c:206!
 ...
 [&lt;ffffffff815e0c80&gt;] kernel_physical_mapping_init+0x1b2/0x1d2
 [&lt;ffffffff815ced94&gt;] init_memory_mapping+0x1d4/0x380
 [&lt;ffffffff8104aebd&gt;] arch_add_memory+0x3d/0xd0
 [&lt;ffffffff815d03d9&gt;] add_memory+0xb9/0x1b0
 [&lt;ffffffff81352415&gt;] acpi_memory_device_add+0x1af/0x28e
 [&lt;ffffffff81325dc4&gt;] acpi_bus_device_attach+0x8c/0xf0
 [&lt;ffffffff813413b9&gt;] acpi_ns_walk_namespace+0xc8/0x17f
 [&lt;ffffffff81325d38&gt;] ? acpi_bus_type_and_status+0xb7/0xb7
 [&lt;ffffffff81325d38&gt;] ? acpi_bus_type_and_status+0xb7/0xb7
 [&lt;ffffffff813418ed&gt;] acpi_walk_namespace+0x95/0xc5
 [&lt;ffffffff81326b4c&gt;] acpi_bus_scan+0x9a/0xc2
 [&lt;ffffffff81326bff&gt;] acpi_scan_bus_device_check+0x8b/0x12e
 [&lt;ffffffff81326cb5&gt;] acpi_scan_device_check+0x13/0x15
 [&lt;ffffffff81320122&gt;] acpi_os_execute_deferred+0x25/0x32
 [&lt;ffffffff8107e02b&gt;] process_one_work+0x17b/0x460
 [&lt;ffffffff8107edfb&gt;] worker_thread+0x11b/0x400
 [&lt;ffffffff8107ece0&gt;] ? rescuer_thread+0x400/0x400
 [&lt;ffffffff81085aef&gt;] kthread+0xcf/0xe0
 [&lt;ffffffff81085a20&gt;] ? kthread_create_on_node+0x140/0x140
 [&lt;ffffffff815fc76c&gt;] ret_from_fork+0x7c/0xb0
 [&lt;ffffffff81085a20&gt;] ? kthread_create_on_node+0x140/0x140

This patch clears PGD entries of all processes MM when
sync_global_pgds() is called after hot-removing memory

Signed-off-by: Yasuaki Ishimatsu &lt;isimatu.yasuaki@jp.fujitsu.com&gt;
Acked-by: Toshi Kani &lt;toshi.kani@hp.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Tang Chen &lt;tangchen@cn.fujitsu.com&gt;
Cc: Gu Zheng &lt;guz.fnst@cn.fujitsu.com&gt;
Cc: Zhang Yanfei &lt;zhangyanfei@cn.fujitsu.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Cc: Vlastimil Babka &lt;vbabka@suse.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 9661d5bcd058fe15b4138a00d96bd36516134543 upstream.

When hot-adding/removing memory, sync_global_pgds() is called
for synchronizing PGD to PGD entries of all processes MM.  But
when hot-removing memory, sync_global_pgds() does not work
correctly.

At first, sync_global_pgds() checks whether target PGD is none
or not.  And if PGD is none, the PGD is skipped.  But when
hot-removing memory, PGD may be none since PGD may be cleared by
free_pud_table().  So when sync_global_pgds() is called after
hot-removing memory, sync_global_pgds() should not skip PGD even
if the PGD is none.  And sync_global_pgds() must clear PGD
entries of all processes MM.

Currently sync_global_pgds() does not clear PGD entries of all
processes MM when hot-removing memory.  So when hot adding
memory which is same memory range as removed memory after
hot-removing memory, following call traces are shown:

 kernel BUG at arch/x86/mm/init_64.c:206!
 ...
 [&lt;ffffffff815e0c80&gt;] kernel_physical_mapping_init+0x1b2/0x1d2
 [&lt;ffffffff815ced94&gt;] init_memory_mapping+0x1d4/0x380
 [&lt;ffffffff8104aebd&gt;] arch_add_memory+0x3d/0xd0
 [&lt;ffffffff815d03d9&gt;] add_memory+0xb9/0x1b0
 [&lt;ffffffff81352415&gt;] acpi_memory_device_add+0x1af/0x28e
 [&lt;ffffffff81325dc4&gt;] acpi_bus_device_attach+0x8c/0xf0
 [&lt;ffffffff813413b9&gt;] acpi_ns_walk_namespace+0xc8/0x17f
 [&lt;ffffffff81325d38&gt;] ? acpi_bus_type_and_status+0xb7/0xb7
 [&lt;ffffffff81325d38&gt;] ? acpi_bus_type_and_status+0xb7/0xb7
 [&lt;ffffffff813418ed&gt;] acpi_walk_namespace+0x95/0xc5
 [&lt;ffffffff81326b4c&gt;] acpi_bus_scan+0x9a/0xc2
 [&lt;ffffffff81326bff&gt;] acpi_scan_bus_device_check+0x8b/0x12e
 [&lt;ffffffff81326cb5&gt;] acpi_scan_device_check+0x13/0x15
 [&lt;ffffffff81320122&gt;] acpi_os_execute_deferred+0x25/0x32
 [&lt;ffffffff8107e02b&gt;] process_one_work+0x17b/0x460
 [&lt;ffffffff8107edfb&gt;] worker_thread+0x11b/0x400
 [&lt;ffffffff8107ece0&gt;] ? rescuer_thread+0x400/0x400
 [&lt;ffffffff81085aef&gt;] kthread+0xcf/0xe0
 [&lt;ffffffff81085a20&gt;] ? kthread_create_on_node+0x140/0x140
 [&lt;ffffffff815fc76c&gt;] ret_from_fork+0x7c/0xb0
 [&lt;ffffffff81085a20&gt;] ? kthread_create_on_node+0x140/0x140

This patch clears PGD entries of all processes MM when
sync_global_pgds() is called after hot-removing memory

Signed-off-by: Yasuaki Ishimatsu &lt;isimatu.yasuaki@jp.fujitsu.com&gt;
Acked-by: Toshi Kani &lt;toshi.kani@hp.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Tang Chen &lt;tangchen@cn.fujitsu.com&gt;
Cc: Gu Zheng &lt;guz.fnst@cn.fujitsu.com&gt;
Cc: Zhang Yanfei &lt;zhangyanfei@cn.fujitsu.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Cc: Vlastimil Babka &lt;vbabka@suse.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>x86/mm/hotplug: Pass sync_global_pgds() a correct argument in remove_pagetable()</title>
<updated>2015-11-18T12:42:37+00:00</updated>
<author>
<name>Yasuaki Ishimatsu</name>
<email>isimatu.yasuaki@jp.fujitsu.com</email>
</author>
<published>2014-08-22T20:27:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3434ce3d38e41b0c46c932b1b06913cb42197f9c'/>
<id>3434ce3d38e41b0c46c932b1b06913cb42197f9c</id>
<content type='text'>
commit 5255e0a79fcc0ff47b387af92bd9ef5729b1b859 upstream.

When hot-adding memory after hot-removing memory, following call
traces are shown:

  kernel BUG at arch/x86/mm/init_64.c:206!
  ...
 [&lt;ffffffff815e0c80&gt;] kernel_physical_mapping_init+0x1b2/0x1d2
 [&lt;ffffffff815ced94&gt;] init_memory_mapping+0x1d4/0x380
 [&lt;ffffffff8104aebd&gt;] arch_add_memory+0x3d/0xd0
 [&lt;ffffffff815d03d9&gt;] add_memory+0xb9/0x1b0
 [&lt;ffffffff81352415&gt;] acpi_memory_device_add+0x1af/0x28e
 [&lt;ffffffff81325dc4&gt;] acpi_bus_device_attach+0x8c/0xf0
 [&lt;ffffffff813413b9&gt;] acpi_ns_walk_namespace+0xc8/0x17f
 [&lt;ffffffff81325d38&gt;] ? acpi_bus_type_and_status+0xb7/0xb7
 [&lt;ffffffff81325d38&gt;] ? acpi_bus_type_and_status+0xb7/0xb7
 [&lt;ffffffff813418ed&gt;] acpi_walk_namespace+0x95/0xc5
 [&lt;ffffffff81326b4c&gt;] acpi_bus_scan+0x9a/0xc2
 [&lt;ffffffff81326bff&gt;] acpi_scan_bus_device_check+0x8b/0x12e
 [&lt;ffffffff81326cb5&gt;] acpi_scan_device_check+0x13/0x15
 [&lt;ffffffff81320122&gt;] acpi_os_execute_deferred+0x25/0x32
 [&lt;ffffffff8107e02b&gt;] process_one_work+0x17b/0x460
 [&lt;ffffffff8107edfb&gt;] worker_thread+0x11b/0x400
 [&lt;ffffffff8107ece0&gt;] ? rescuer_thread+0x400/0x400
 [&lt;ffffffff81085aef&gt;] kthread+0xcf/0xe0
 [&lt;ffffffff81085a20&gt;] ? kthread_create_on_node+0x140/0x140
 [&lt;ffffffff815fc76c&gt;] ret_from_fork+0x7c/0xb0
 [&lt;ffffffff81085a20&gt;] ? kthread_create_on_node+0x140/0x140

The patch-set fixes the issue.

This patch (of 2):

remove_pagetable() gets start argument and passes the argument
to sync_global_pgds().  In this case, the argument must not be
modified.  If the argument is modified and passed to
sync_global_pgds(), sync_global_pgds() does not correctly
synchronize PGD to PGD entries of all processes MM since
synchronized range of memory [start, end] is wrong.

Unfortunately the start argument is modified in
remove_pagetable().  So this patch fixes the issue.

Signed-off-by: Yasuaki Ishimatsu &lt;isimatu.yasuaki@jp.fujitsu.com&gt;
Acked-by: Toshi Kani &lt;toshi.kani@hp.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Tang Chen &lt;tangchen@cn.fujitsu.com&gt;
Cc: Gu Zheng &lt;guz.fnst@cn.fujitsu.com&gt;
Cc: Zhang Yanfei &lt;zhangyanfei@cn.fujitsu.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Cc: Vlastimil Babka &lt;vbabka@suse.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 5255e0a79fcc0ff47b387af92bd9ef5729b1b859 upstream.

When hot-adding memory after hot-removing memory, following call
traces are shown:

  kernel BUG at arch/x86/mm/init_64.c:206!
  ...
 [&lt;ffffffff815e0c80&gt;] kernel_physical_mapping_init+0x1b2/0x1d2
 [&lt;ffffffff815ced94&gt;] init_memory_mapping+0x1d4/0x380
 [&lt;ffffffff8104aebd&gt;] arch_add_memory+0x3d/0xd0
 [&lt;ffffffff815d03d9&gt;] add_memory+0xb9/0x1b0
 [&lt;ffffffff81352415&gt;] acpi_memory_device_add+0x1af/0x28e
 [&lt;ffffffff81325dc4&gt;] acpi_bus_device_attach+0x8c/0xf0
 [&lt;ffffffff813413b9&gt;] acpi_ns_walk_namespace+0xc8/0x17f
 [&lt;ffffffff81325d38&gt;] ? acpi_bus_type_and_status+0xb7/0xb7
 [&lt;ffffffff81325d38&gt;] ? acpi_bus_type_and_status+0xb7/0xb7
 [&lt;ffffffff813418ed&gt;] acpi_walk_namespace+0x95/0xc5
 [&lt;ffffffff81326b4c&gt;] acpi_bus_scan+0x9a/0xc2
 [&lt;ffffffff81326bff&gt;] acpi_scan_bus_device_check+0x8b/0x12e
 [&lt;ffffffff81326cb5&gt;] acpi_scan_device_check+0x13/0x15
 [&lt;ffffffff81320122&gt;] acpi_os_execute_deferred+0x25/0x32
 [&lt;ffffffff8107e02b&gt;] process_one_work+0x17b/0x460
 [&lt;ffffffff8107edfb&gt;] worker_thread+0x11b/0x400
 [&lt;ffffffff8107ece0&gt;] ? rescuer_thread+0x400/0x400
 [&lt;ffffffff81085aef&gt;] kthread+0xcf/0xe0
 [&lt;ffffffff81085a20&gt;] ? kthread_create_on_node+0x140/0x140
 [&lt;ffffffff815fc76c&gt;] ret_from_fork+0x7c/0xb0
 [&lt;ffffffff81085a20&gt;] ? kthread_create_on_node+0x140/0x140

The patch-set fixes the issue.

This patch (of 2):

remove_pagetable() gets start argument and passes the argument
to sync_global_pgds().  In this case, the argument must not be
modified.  If the argument is modified and passed to
sync_global_pgds(), sync_global_pgds() does not correctly
synchronize PGD to PGD entries of all processes MM since
synchronized range of memory [start, end] is wrong.

Unfortunately the start argument is modified in
remove_pagetable().  So this patch fixes the issue.

Signed-off-by: Yasuaki Ishimatsu &lt;isimatu.yasuaki@jp.fujitsu.com&gt;
Acked-by: Toshi Kani &lt;toshi.kani@hp.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Tang Chen &lt;tangchen@cn.fujitsu.com&gt;
Cc: Gu Zheng &lt;guz.fnst@cn.fujitsu.com&gt;
Cc: Zhang Yanfei &lt;zhangyanfei@cn.fujitsu.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Cc: Vlastimil Babka &lt;vbabka@suse.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: x86: Use new is_noncanonical_address in _linearize</title>
<updated>2015-11-18T11:43:22+00:00</updated>
<author>
<name>Nadav Amit</name>
<email>namit@cs.technion.ac.il</email>
</author>
<published>2014-09-18T19:39:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2b27106cd93020563185ea94618ea5019308226b'/>
<id>2b27106cd93020563185ea94618ea5019308226b</id>
<content type='text'>
commit 4be4de7ef9fd3a4d77320d4713970299ffecd286 upstream.

Replace the current canonical address check with the new function which is
identical.

Signed-off-by: Nadav Amit &lt;namit@cs.technion.ac.il&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 4be4de7ef9fd3a4d77320d4713970299ffecd286 upstream.

Replace the current canonical address check with the new function which is
identical.

Signed-off-by: Nadav Amit &lt;namit@cs.technion.ac.il&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: x86: Fix far-jump to non-canonical check</title>
<updated>2015-11-18T10:28:01+00:00</updated>
<author>
<name>Nadav Amit</name>
<email>namit@cs.technion.ac.il</email>
</author>
<published>2014-10-27T22:03:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e4bcfa44c82cb5bcfb44a4722c80686096c2e181'/>
<id>e4bcfa44c82cb5bcfb44a4722c80686096c2e181</id>
<content type='text'>
commit 7e46dddd6f6cd5dbf3c7bd04a7e75d19475ac9f2 upstream.

Commit d1442d85cc30 ("KVM: x86: Handle errors when RIP is set during far
jumps") introduced a bug that caused the fix to be incomplete.  Due to
incorrect evaluation, far jump to segment with L bit cleared (i.e., 32-bit
segment) and RIP with any of the high bits set (i.e, RIP[63:32] != 0) set may
not trigger #GP.  As we know, this imposes a security problem.

In addition, the condition for two warnings was incorrect.

Fixes: d1442d85cc30ea75f7d399474ca738e0bc96f715
Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Nadav Amit &lt;namit@cs.technion.ac.il&gt;
[Add #ifdef CONFIG_X86_64 to avoid complaints of undefined behavior. - Paolo]
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 7e46dddd6f6cd5dbf3c7bd04a7e75d19475ac9f2 upstream.

Commit d1442d85cc30 ("KVM: x86: Handle errors when RIP is set during far
jumps") introduced a bug that caused the fix to be incomplete.  Due to
incorrect evaluation, far jump to segment with L bit cleared (i.e., 32-bit
segment) and RIP with any of the high bits set (i.e, RIP[63:32] != 0) set may
not trigger #GP.  As we know, this imposes a security problem.

In addition, the condition for two warnings was incorrect.

Fixes: d1442d85cc30ea75f7d399474ca738e0bc96f715
Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Nadav Amit &lt;namit@cs.technion.ac.il&gt;
[Add #ifdef CONFIG_X86_64 to avoid complaints of undefined behavior. - Paolo]
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: svm: unconditionally intercept #DB</title>
<updated>2015-11-18T10:08:02+00:00</updated>
<author>
<name>Paolo Bonzini</name>
<email>pbonzini@redhat.com</email>
</author>
<published>2015-11-10T08:14:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4c6a0e0edfe824edd777a496f46817b4fb465cbd'/>
<id>4c6a0e0edfe824edd777a496f46817b4fb465cbd</id>
<content type='text'>
commit cbdb967af3d54993f5814f1cee0ed311a055377d upstream.

This is needed to avoid the possibility that the guest triggers
an infinite stream of #DB exceptions (CVE-2015-8104).

VMX is not affected: because it does not save DR6 in the VMCS,
it already intercepts #DB unconditionally.

Reported-by: Jan Beulich &lt;jbeulich@suse.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit cbdb967af3d54993f5814f1cee0ed311a055377d upstream.

This is needed to avoid the possibility that the guest triggers
an infinite stream of #DB exceptions (CVE-2015-8104).

VMX is not affected: because it does not save DR6 in the VMCS,
it already intercepts #DB unconditionally.

Reported-by: Jan Beulich &lt;jbeulich@suse.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: x86: work around infinite loop in microcode when #AC is delivered</title>
<updated>2015-11-18T10:08:01+00:00</updated>
<author>
<name>Eric Northup</name>
<email>digitaleric@google.com</email>
</author>
<published>2015-11-03T17:03:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0ccaee7be83eb288e8baacf6eebd4d8b8593f462'/>
<id>0ccaee7be83eb288e8baacf6eebd4d8b8593f462</id>
<content type='text'>
commit 54a20552e1eae07aa240fa370a0293e006b5faed upstream.

It was found that a guest can DoS a host by triggering an infinite
stream of "alignment check" (#AC) exceptions.  This causes the
microcode to enter an infinite loop where the core never receives
another interrupt.  The host kernel panics pretty quickly due to the
effects (CVE-2015-5307).

Signed-off-by: Eric Northup &lt;digitaleric@google.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 54a20552e1eae07aa240fa370a0293e006b5faed upstream.

It was found that a guest can DoS a host by triggering an infinite
stream of "alignment check" (#AC) exceptions.  This causes the
microcode to enter an infinite loop where the core never receives
another interrupt.  The host kernel panics pretty quickly due to the
effects (CVE-2015-5307).

Signed-off-by: Eric Northup &lt;digitaleric@google.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>KVM: x86: Defining missing x86 vectors</title>
<updated>2015-11-18T10:08:00+00:00</updated>
<author>
<name>Nadav Amit</name>
<email>namit@cs.technion.ac.il</email>
</author>
<published>2014-07-21T11:37:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=97a51976c67e9dd841026a60f200f41c292fce37'/>
<id>97a51976c67e9dd841026a60f200f41c292fce37</id>
<content type='text'>
commit c9cdd085bb75226879fd468b88e2e7eb467325b7 upstream.

Defining XE, XM and VE vector numbers.

Signed-off-by: Nadav Amit &lt;namit@cs.technion.ac.il&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit c9cdd085bb75226879fd468b88e2e7eb467325b7 upstream.

Defining XE, XM and VE vector numbers.

Signed-off-by: Nadav Amit &lt;namit@cs.technion.ac.il&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: orion: Fix DSA platform device after mvmdio conversion</title>
<updated>2015-11-14T17:58:27+00:00</updated>
<author>
<name>Florian Fainelli</name>
<email>f.fainelli@gmail.com</email>
</author>
<published>2015-10-03T20:03:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6c2295ef2fb999cc0bed5e722e6eddcc56742e14'/>
<id>6c2295ef2fb999cc0bed5e722e6eddcc56742e14</id>
<content type='text'>
commit d836ace65ee98d7079bc3c5afdbcc0e27dca20a3 upstream.

DSA expects the host_dev pointer to be the device structure associated
with the MDIO bus controller driver. First commit breaking that was
c3a07134e6aa ("mv643xx_eth: convert to use the Marvell Orion MDIO
driver"), and then, it got completely under the radar for a while.

Reported-by: Frans van de Wiel &lt;fvdw@fvdw.eu&gt;
Fixes: c3a07134e6aa ("mv643xx_eth: convert to use the Marvell Orion MDIO driver")
CC: stable@vger.kernel.org
Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: Gregory CLEMENT &lt;gregory.clement@free-electrons.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit d836ace65ee98d7079bc3c5afdbcc0e27dca20a3 upstream.

DSA expects the host_dev pointer to be the device structure associated
with the MDIO bus controller driver. First commit breaking that was
c3a07134e6aa ("mv643xx_eth: convert to use the Marvell Orion MDIO
driver"), and then, it got completely under the radar for a while.

Reported-by: Frans van de Wiel &lt;fvdw@fvdw.eu&gt;
Fixes: c3a07134e6aa ("mv643xx_eth: convert to use the Marvell Orion MDIO driver")
CC: stable@vger.kernel.org
Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: Gregory CLEMENT &lt;gregory.clement@free-electrons.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>powerpc/pseries: Fix dedicated processor partition detection</title>
<updated>2015-11-14T16:48:50+00:00</updated>
<author>
<name>Anton Blanchard</name>
<email>anton@samba.org</email>
</author>
<published>2013-10-19T23:26:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=594a70103f91b679da58cefa6c6ca14f9afb5838'/>
<id>594a70103f91b679da58cefa6c6ca14f9afb5838</id>
<content type='text'>
commit 733187e29576041ceccf3b82092ca900fc929170 upstream.

commit f13c13a00512 (powerpc: Stop using non-architected shared_proc
field in lppaca) fixed a potential issue with shared/dedicated
partition detection. The old method of detection relied on an
unarchitected field (shared_proc), and this patch switched
to using something architected (a non zero yield_count).

Unfortunately the assertion in the Linux header that yield_count
is only non zero on shared processor partitions is not true. It
turns out dedicated processor partitions can increment yield_count
and as such we falsely detect dedicated partitions as shared.

Fix the comment, and switch back to using the old method.

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 733187e29576041ceccf3b82092ca900fc929170 upstream.

commit f13c13a00512 (powerpc: Stop using non-architected shared_proc
field in lppaca) fixed a potential issue with shared/dedicated
partition detection. The old method of detection relied on an
unarchitected field (shared_proc), and this patch switched
to using something architected (a non zero yield_count).

Unfortunately the assertion in the Linux header that yield_count
is only non zero on shared processor partitions is not true. It
turns out dedicated processor partitions can increment yield_count
and as such we falsely detect dedicated partitions as shared.

Fix the comment, and switch back to using the old method.

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "ARM64: unwind: Fix PC calculation"</title>
<updated>2015-11-12T13:08:58+00:00</updated>
<author>
<name>Will Deacon</name>
<email>will.deacon@arm.com</email>
</author>
<published>2015-10-28T16:56:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b865892e2e90302fa2e4613c181772c8659ea34e'/>
<id>b865892e2e90302fa2e4613c181772c8659ea34e</id>
<content type='text'>
commit 9702970c7bd3e2d6fecb642a190269131d4ac16c upstream.

This reverts commit e306dfd06fcb44d21c80acb8e5a88d55f3d1cf63.

With this patch applied, we were the only architecture making this sort
of adjustment to the PC calculation in the unwinder. This causes
problems for ftrace, where the PC values are matched against the
contents of the stack frames in the callchain and fail to match any
records after the address adjustment.

Whilst there has been some effort to change ftrace to workaround this,
those patches are not yet ready for mainline and, since we're the odd
architecture in this regard, let's just step in line with other
architectures (like arch/arm/) for now.

Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 9702970c7bd3e2d6fecb642a190269131d4ac16c upstream.

This reverts commit e306dfd06fcb44d21c80acb8e5a88d55f3d1cf63.

With this patch applied, we were the only architecture making this sort
of adjustment to the PC calculation in the unwinder. This causes
problems for ftrace, where the PC values are matched against the
contents of the stack frames in the callchain and fail to match any
records after the address adjustment.

Whilst there has been some effort to change ftrace to workaround this,
those patches are not yet ready for mainline and, since we're the odd
architecture in this regard, let's just step in line with other
architectures (like arch/arm/) for now.

Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;

</pre>
</div>
</content>
</entry>
</feed>
