<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/arch/x86, branch v3.2.70</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.2.70</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.2.70'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2015-08-06T23:32:18Z</updated>
<entry>
<title>x86/reboot: Fix a warning message triggered by stop_other_cpus()</title>
<updated>2015-08-06T23:32:18Z</updated>
<author>
<name>Feng Tang</name>
<email>feng.tang@intel.com</email>
</author>
<published>2012-05-30T15:15:41Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=ea475029e76a0b7fc6e96baf4d414079dec8a90a'/>
<id>urn:sha1:ea475029e76a0b7fc6e96baf4d414079dec8a90a</id>
<content type='text'>
commit 55c844a4dd16a4d1fdc0cf2a283ec631a02ec448 upstream.

When rebooting our 24 CPU Westmere servers with 3.4-rc6, we
always see this warning msg:

Restarting system.
machine restart
------------[ cut here ]------------
WARNING: at arch/x86/kernel/smp.c:125
native_smp_send_reschedule+0x74/0xa7() Hardware name: X8DTN
Modules linked in: igb [last unloaded: scsi_wait_scan]
Pid: 1, comm: systemd-shutdow Not tainted 3.4.0-rc6+ #22
Call Trace:
 &lt;IRQ&gt;  [&lt;ffffffff8102a41f&gt;] warn_slowpath_common+0x7e/0x96
 [&lt;ffffffff8102a44c&gt;] warn_slowpath_null+0x15/0x17
 [&lt;ffffffff81018cf7&gt;] native_smp_send_reschedule+0x74/0xa7
 [&lt;ffffffff810561c1&gt;] trigger_load_balance+0x279/0x2a6
 [&lt;ffffffff81050112&gt;] scheduler_tick+0xe0/0xe9
 [&lt;ffffffff81036768&gt;] update_process_times+0x60/0x70
 [&lt;ffffffff81062f2f&gt;] tick_sched_timer+0x68/0x92
 [&lt;ffffffff81046e33&gt;] __run_hrtimer+0xb3/0x13c
 [&lt;ffffffff81062ec7&gt;] ? tick_nohz_handler+0xd0/0xd0
 [&lt;ffffffff810474f2&gt;] hrtimer_interrupt+0xdb/0x198
 [&lt;ffffffff81019a35&gt;] smp_apic_timer_interrupt+0x81/0x94
 [&lt;ffffffff81655187&gt;] apic_timer_interrupt+0x67/0x70
 &lt;EOI&gt;  [&lt;ffffffff8101a3c4&gt;] ? default_send_IPI_mask_allbutself_phys+0xb4/0xc4
 [&lt;ffffffff8101c680&gt;] physflat_send_IPI_allbutself+0x12/0x14
 [&lt;ffffffff81018db4&gt;] native_nmi_stop_other_cpus+0x8a/0xd6
 [&lt;ffffffff810188ba&gt;] native_machine_shutdown+0x50/0x67
 [&lt;ffffffff81018926&gt;] machine_shutdown+0xa/0xc
 [&lt;ffffffff8101897e&gt;] native_machine_restart+0x20/0x32
 [&lt;ffffffff810189b0&gt;] machine_restart+0xa/0xc
 [&lt;ffffffff8103b196&gt;] kernel_restart+0x47/0x4c
 [&lt;ffffffff8103b2e6&gt;] sys_reboot+0x13e/0x17c
 [&lt;ffffffff8164e436&gt;] ? _raw_spin_unlock_bh+0x10/0x12
 [&lt;ffffffff810fcac9&gt;] ? bdi_queue_work+0xcf/0xd8
 [&lt;ffffffff810fe82f&gt;] ? __bdi_start_writeback+0xae/0xb7
 [&lt;ffffffff810e0d64&gt;] ? iterate_supers+0xa3/0xb7
 [&lt;ffffffff816547a2&gt;] system_call_fastpath+0x16/0x1b
---[ end trace 320af5cb1cb60c5b ]---

The root cause seems to be the
default_send_IPI_mask_allbutself_phys() takes quite some time (I
measured it could be several ms) to complete sending NMIs to all
the other 23 CPUs, and for HZ=250/1000 system, the time is long
enough for a timer interrupt to happen, which will in turn
trigger to kick load balance to a stopped CPU and cause this
warning in native_smp_send_reschedule().

So disabling the local irq before stop_other_cpu() can fix this
problem (tested 25 times reboot ok), and it is fine as there
should be nobody caring the timer interrupt in such reboot
stage.

The latest 3.4 kernel slightly changes this behavior by sending
REBOOT_VECTOR first and only send NMI_VECTOR if the REBOOT_VCTOR
fails, and this patch is still needed to prevent the problem.

Signed-off-by: Feng Tang &lt;feng.tang@intel.com&gt;
Acked-by: Don Zickus &lt;dzickus@redhat.com&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Link: http://lkml.kernel.org/r/20120530231541.4c13433a@feng-i7
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Cc: Vinson Lee &lt;vlee@twopensource.com&gt;
</content>
</entry>
<entry>
<title>config: Enable NEED_DMA_MAP_STATE by default when SWIOTLB is selected</title>
<updated>2015-08-06T23:32:18Z</updated>
<author>
<name>Konrad Rzeszutek Wilk</name>
<email>konrad.wilk@oracle.com</email>
</author>
<published>2015-04-17T19:04:48Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=38e4433dfdc1e90e878c48c8fa954250de542111'/>
<id>urn:sha1:38e4433dfdc1e90e878c48c8fa954250de542111</id>
<content type='text'>
commit a6dfa128ce5c414ab46b1d690f7a1b8decb8526d upstream.

A huge amount of NIC drivers use the DMA API, however if
compiled under 32-bit an very important part of the DMA API can
be ommitted leading to the drivers not working at all
(especially if used with 'swiotlb=force iommu=soft').

As Prashant Sreedharan explains it: "the driver [tg3] uses
DEFINE_DMA_UNMAP_ADDR(), dma_unmap_addr_set() to keep a copy of
the dma "mapping" and dma_unmap_addr() to get the "mapping"
value. On most of the platforms this is a no-op, but ... with
"iommu=soft and swiotlb=force" this house keeping is required,
... otherwise we pass 0 while calling pci_unmap_/pci_dma_sync_
instead of the DMA address."

As such enable this even when using 32-bit kernels.

Reported-by: Ian Jackson &lt;Ian.Jackson@eu.citrix.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Acked-by: David S. Miller &lt;davem@davemloft.net&gt;
Acked-by: Prashant Sreedharan &lt;prashant@broadcom.com&gt;
Cc: Borislav Petkov &lt;bp@alien8.de&gt;
Cc: H. Peter Anvin &lt;hpa@zytor.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Michael Chan &lt;mchan@broadcom.com&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: boris.ostrovsky@oracle.com
Cc: cascardo@linux.vnet.ibm.com
Cc: david.vrabel@citrix.com
Cc: sanjeevb@broadcom.com
Cc: siva.kallam@broadcom.com
Cc: vyasevich@gmail.com
Cc: xen-devel@lists.xensource.com
Link: http://lkml.kernel.org/r/20150417190448.GA9462@l.oracle.com
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
[bwh: Backported to 3.2: also change the def_bool (cond) to
 def_bool y + depends]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>x86_64: Fix strnlen_user() to not touch memory after specified maximum</title>
<updated>2015-08-06T23:32:13Z</updated>
<author>
<name>Ben Hutchings</name>
<email>ben@decadent.org.uk</email>
</author>
<published>2015-07-21T14:42:59Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=4797489ce83a5f42d0b38089695a48d4a3d1ee0b'/>
<id>urn:sha1:4797489ce83a5f42d0b38089695a48d4a3d1ee0b</id>
<content type='text'>
Inspired by commit f18c34e483ff ("lib: Fix strnlen_user() to not touch
memory after specified maximum") upstream.  This version of
strnlen_user(), no longer present upstream, has a similar off-by-one
error.

Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Cc: Jan Kara &lt;jack@suse.cz&gt;
</content>
</entry>
<entry>
<title>x86: bpf_jit: fix compilation of large bpf programs</title>
<updated>2015-08-06T23:32:12Z</updated>
<author>
<name>Alexei Starovoitov</name>
<email>ast@plumgrid.com</email>
</author>
<published>2015-05-22T22:42:55Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=a8139dccd98bdece27deac8da46b4145ec7f61c1'/>
<id>urn:sha1:a8139dccd98bdece27deac8da46b4145ec7f61c1</id>
<content type='text'>
commit 3f7352bf21f8fd7ba3e2fcef9488756f188e12be upstream.

x86 has variable length encoding. x86 JIT compiler is trying
to pick the shortest encoding for given bpf instruction.
While doing so the jump targets are changing, so JIT is doing
multiple passes over the program. Typical program needs 3 passes.
Some very short programs converge with 2 passes. Large programs
may need 4 or 5. But specially crafted bpf programs may hit the
pass limit and if the program converges on the last iteration
the JIT compiler will be producing an image full of 'int 3' insns.
Fix this corner case by doing final iteration over bpf program.

Fixes: 0a14842f5a3c ("net: filter: Just In Time compiler for x86-64")
Reported-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;
Signed-off-by: Alexei Starovoitov &lt;ast@plumgrid.com&gt;
Tested-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;
Acked-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>KVM: MMU: fix CR4.SMEP=1, CR0.WP=0 with shadow pages</title>
<updated>2015-08-06T23:32:11Z</updated>
<author>
<name>Paolo Bonzini</name>
<email>pbonzini@redhat.com</email>
</author>
<published>2015-04-02T09:04:05Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=c36b570ffcc2cf8d0de724f24ac9fc99e2f16421'/>
<id>urn:sha1:c36b570ffcc2cf8d0de724f24ac9fc99e2f16421</id>
<content type='text'>
commit 898761158be7682082955e3efa4ad24725305fc7 upstream.

smep_andnot_wp is initialized in kvm_init_shadow_mmu and shadow pages
should not be reused for different values of it.  Thus, it has to be
added to the mask in kvm_mmu_pte_write.

Reviewed-by: Xiao Guangrong &lt;guangrong.xiao@linux.intel.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>KVM: VMX: Preserve host CR4.MCE value while in guest mode.</title>
<updated>2015-08-06T23:32:06Z</updated>
<author>
<name>Ben Serebrin</name>
<email>serebrin@google.com</email>
</author>
<published>2015-04-16T18:58:05Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=330a80fdcee47ec8eb0a1a37edeaebdcf3720960'/>
<id>urn:sha1:330a80fdcee47ec8eb0a1a37edeaebdcf3720960</id>
<content type='text'>
commit 085e68eeafbf76e21848ad5bafaecec88a11dd64 upstream.

The host's decision to enable machine check exceptions should remain
in force during non-root mode.  KVM was writing 0 to cr4 on VCPU reset
and passed a slightly-modified 0 to the vmcs.guest_cr4 value.

Tested: Built.
On earlier version, tested by injecting machine check
while a guest is spinning.

Before the change, if guest CR4.MCE==0, then the machine check is
escalated to Catastrophic Error (CATERR) and the machine dies.
If guest CR4.MCE==1, then the machine check causes VMEXIT and is
handled normally by host Linux. After the change, injecting a machine
check causes normal Linux machine check handling.

Signed-off-by: Ben Serebrin &lt;serebrin@google.com&gt;
Reviewed-by: Venkatesh Srinivas &lt;venkateshs@google.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
[bwh: Backported to 3.2: use read_cr4() instead of cr4_read_shadow()]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>x86/iommu: Fix header comments regarding standard and _FINISH macros</title>
<updated>2015-08-06T23:32:03Z</updated>
<author>
<name>Aravind Gopalakrishnan</name>
<email>Aravind.Gopalakrishnan@amd.com</email>
</author>
<published>2015-04-09T08:51:48Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=1ea590d49d06394e1f073653ba99be404484e54d'/>
<id>urn:sha1:1ea590d49d06394e1f073653ba99be404484e54d</id>
<content type='text'>
commit b44915927ca88084a7292e4ddd4cf91036f365e1 upstream.

The comment line regarding IOMMU_INIT and IOMMU_INIT_FINISH
macros is incorrect:

  "The standard vs the _FINISH differs in that the _FINISH variant
  will continue detecting other IOMMUs in the call list..."

It should be "..the *standard* variant will continue
detecting..."

Fix that. Also, make it readable while at it.

Signed-off-by: Aravind Gopalakrishnan &lt;Aravind.Gopalakrishnan@amd.com&gt;
Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;
Cc: H. Peter Anvin &lt;hpa@zytor.com&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: konrad.wilk@oracle.com
Fixes: 6e9636693373 ("x86, iommu: Update header comments with appropriate naming")
Link: http://lkml.kernel.org/r/1428508017-5316-1-git-send-email-Aravind.Gopalakrishnan@amd.com
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>x86/reboot: Add ASRock Q1900DC-ITX mainboard reboot quirk</title>
<updated>2015-05-09T22:16:34Z</updated>
<author>
<name>Stefan Lippers-Hollmann</name>
<email>s.l-h@gmx.de</email>
</author>
<published>2015-03-30T20:44:27Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=bae995df93849afd7e275a208f07b7ddd4ab44e6'/>
<id>urn:sha1:bae995df93849afd7e275a208f07b7ddd4ab44e6</id>
<content type='text'>
commit 80313b3078fcd2ca51970880d90757f05879a193 upstream.

The ASRock Q1900DC-ITX mainboard (Baytrail-D) hangs randomly in
both BIOS and UEFI mode while rebooting unless reboot=pci is
used. Add a quirk to reboot via the pci method.

The problem is very intermittent and hard to debug, it might succeed
rebooting just fine 40 times in a row - but fails half a dozen times
the next day. It seems to be slightly less common in BIOS CSM mode
than native UEFI (with the CSM disabled), but it does happen in either
mode. Since I've started testing this patch in late january, rebooting
has been 100% reliable.

Most of the time it already hangs during POST, but occasionally it
might even make it through the bootloader and the kernel might even
start booting, but then hangs before the mode switch. The same symptoms
occur with grub-efi, gummiboot and grub-pc, just as well as (at least)
kernel 3.16-3.19 and 4.0-rc6 (I haven't tried older kernels than 3.16).
Upgrading to the most current mainboard firmware of the ASRock
Q1900DC-ITX, version 1.20, does not improve the situation.

( Searching the web seems to suggest that other Bay Trail-D mainboards
  might be affected as well. )
--
Signed-off-by: Stefan Lippers-Hollmann &lt;s.l-h@gmx.de&gt;
Cc: Matt Fleming &lt;matt.fleming@intel.com&gt;
Link: http://lkml.kernel.org/r/20150330224427.0fb58e42@mir
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>x86/reboot: Add reboot quirk for Certec BPC600</title>
<updated>2015-05-09T22:16:34Z</updated>
<author>
<name>Christian Gmeiner</name>
<email>christian.gmeiner@gmail.com</email>
</author>
<published>2014-05-07T07:01:54Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=4e79a533e06d8cb32c16023956ab7aa180cc7bf6'/>
<id>urn:sha1:4e79a533e06d8cb32c16023956ab7aa180cc7bf6</id>
<content type='text'>
commit aadca6fa4068ad1f92c492bc8507b7ed350825a2 upstream.

Certec BPC600 needs reboot=pci to actually reboot.

Signed-off-by: Christian Gmeiner &lt;christian.gmeiner@gmail.com&gt;
Cc: Matthew Garrett &lt;mjg59@srcf.ucam.org&gt;
Cc: Li Aubrey &lt;aubrey.li@linux.intel.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Dave Jones &lt;davej@redhat.com&gt;
Cc: Fenghua Yu &lt;fenghua.yu@intel.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Link: http://lkml.kernel.org/r/1399446114-2147-1-git-send-email-christian.gmeiner@gmail.com
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>x86/reboot: Add reboot quirk for Dell Latitude E5410</title>
<updated>2015-05-09T22:16:34Z</updated>
<author>
<name>Ville Syrjälä</name>
<email>ville.syrjala@linux.intel.com</email>
</author>
<published>2013-10-04T12:16:04Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=581836aebee962702b3969fb9df9e6d0660f35d1'/>
<id>urn:sha1:581836aebee962702b3969fb9df9e6d0660f35d1</id>
<content type='text'>
commit 8412da757776727796e9edd64ba94814cc08d536 upstream.

Dell Latitude E5410 needs reboot=pci to actually reboot.

Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: http://lkml.kernel.org/r/1380888964-14517-1-git-send-email-ville.syrjala@linux.intel.com
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
</feed>
