<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/arch, branch v3.8.8</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/arch?h=v3.8.8</id>
<link rel='self' href='https://git.amat.us/linux/atom/arch?h=v3.8.8'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-04-17T04:48:29Z</updated>
<entry>
<title>x86, mm: Patch out arch_flush_lazy_mmu_mode() when running on bare metal</title>
<updated>2013-04-17T04:48:29Z</updated>
<author>
<name>Boris Ostrovsky</name>
<email>boris.ostrovsky@oracle.com</email>
</author>
<published>2013-03-23T13:36:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=00c33275b78637fc5423ce05dd5e886836544eb1'/>
<id>urn:sha1:00c33275b78637fc5423ce05dd5e886836544eb1</id>
<content type='text'>
commit 511ba86e1d386f671084b5d0e6f110bb30b8eeb2 upstream.

Invoking arch_flush_lazy_mmu_mode() results in calls to
preempt_enable()/disable() which may have performance impact.

Since lazy MMU is not used on bare metal we can patch away
arch_flush_lazy_mmu_mode() so that it is never called in such
environment.

[ hpa: the previous patch "Fix vmalloc_fault oops during lazy MMU
  updates" may cause a minor performance regression on
  bare metal.  This patch resolves that performance regression.  It is
  somewhat unclear to me if this is a good -stable candidate. ]

Signed-off-by: Boris Ostrovsky &lt;boris.ostrovsky@oracle.com&gt;
Link: http://lkml.kernel.org/r/1364045796-10720-2-git-send-email-konrad.wilk@oracle.com
Tested-by: Josh Boyer &lt;jwboyer@redhat.com&gt;
Tested-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Acked-by: Borislav Petkov &lt;bp@suse.de&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.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>
<entry>
<title>x86, mm, paravirt: Fix vmalloc_fault oops during lazy MMU updates</title>
<updated>2013-04-17T04:48:29Z</updated>
<author>
<name>Samu Kallio</name>
<email>samu.kallio@aberdeencloud.com</email>
</author>
<published>2013-03-23T13:36:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a1df5f936a0aea88cbc41555e473c89f1384a64d'/>
<id>urn:sha1:a1df5f936a0aea88cbc41555e473c89f1384a64d</id>
<content type='text'>
commit 1160c2779b826c6f5c08e5cc542de58fd1f667d5 upstream.

In paravirtualized x86_64 kernels, vmalloc_fault may cause an oops
when lazy MMU updates are enabled, because set_pgd effects are being
deferred.

One instance of this problem is during process mm cleanup with memory
cgroups enabled. The chain of events is as follows:

- zap_pte_range enables lazy MMU updates
- zap_pte_range eventually calls mem_cgroup_charge_statistics,
  which accesses the vmalloc'd mem_cgroup per-cpu stat area
- vmalloc_fault is triggered which tries to sync the corresponding
  PGD entry with set_pgd, but the update is deferred
- vmalloc_fault oopses due to a mismatch in the PUD entries

The OOPs usually looks as so:

------------[ cut here ]------------
kernel BUG at arch/x86/mm/fault.c:396!
invalid opcode: 0000 [#1] SMP
.. snip ..
CPU 1
Pid: 10866, comm: httpd Not tainted 3.6.10-4.fc18.x86_64 #1
RIP: e030:[&lt;ffffffff816271bf&gt;]  [&lt;ffffffff816271bf&gt;] vmalloc_fault+0x11f/0x208
.. snip ..
Call Trace:
 [&lt;ffffffff81627759&gt;] do_page_fault+0x399/0x4b0
 [&lt;ffffffff81004f4c&gt;] ? xen_mc_extend_args+0xec/0x110
 [&lt;ffffffff81624065&gt;] page_fault+0x25/0x30
 [&lt;ffffffff81184d03&gt;] ? mem_cgroup_charge_statistics.isra.13+0x13/0x50
 [&lt;ffffffff81186f78&gt;] __mem_cgroup_uncharge_common+0xd8/0x350
 [&lt;ffffffff8118aac7&gt;] mem_cgroup_uncharge_page+0x57/0x60
 [&lt;ffffffff8115fbc0&gt;] page_remove_rmap+0xe0/0x150
 [&lt;ffffffff8115311a&gt;] ? vm_normal_page+0x1a/0x80
 [&lt;ffffffff81153e61&gt;] unmap_single_vma+0x531/0x870
 [&lt;ffffffff81154962&gt;] unmap_vmas+0x52/0xa0
 [&lt;ffffffff81007442&gt;] ? pte_mfn_to_pfn+0x72/0x100
 [&lt;ffffffff8115c8f8&gt;] exit_mmap+0x98/0x170
 [&lt;ffffffff810050d9&gt;] ? __raw_callee_save_xen_pmd_val+0x11/0x1e
 [&lt;ffffffff81059ce3&gt;] mmput+0x83/0xf0
 [&lt;ffffffff810624c4&gt;] exit_mm+0x104/0x130
 [&lt;ffffffff8106264a&gt;] do_exit+0x15a/0x8c0
 [&lt;ffffffff810630ff&gt;] do_group_exit+0x3f/0xa0
 [&lt;ffffffff81063177&gt;] sys_exit_group+0x17/0x20
 [&lt;ffffffff8162bae9&gt;] system_call_fastpath+0x16/0x1b

Calling arch_flush_lazy_mmu_mode immediately after set_pgd makes the
changes visible to the consistency checks.

RedHat-Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=914737
Tested-by: Josh Boyer &lt;jwboyer@redhat.com&gt;
Reported-and-Tested-by: Krishna Raman &lt;kraman@redhat.com&gt;
Signed-off-by: Samu Kallio &lt;samu.kallio@aberdeencloud.com&gt;
Link: http://lkml.kernel.org/r/1364045796-10720-1-git-send-email-konrad.wilk@oracle.com
Tested-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.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>
<entry>
<title>x86-32: Fix possible incomplete TLB invalidate with PAE pagetables</title>
<updated>2013-04-17T04:48:29Z</updated>
<author>
<name>Dave Hansen</name>
<email>dave@sr71.net</email>
</author>
<published>2013-04-12T23:23:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=324cdc3f7e6a752fe0e95fa7b5c9664171a34ded'/>
<id>urn:sha1:324cdc3f7e6a752fe0e95fa7b5c9664171a34ded</id>
<content type='text'>
commit 1de14c3c5cbc9bb17e9dcc648cda51c0c85d54b9 upstream.

This patch attempts to fix:

	https://bugzilla.kernel.org/show_bug.cgi?id=56461

The symptom is a crash and messages like this:

	chrome: Corrupted page table at address 34a03000
	*pdpt = 0000000000000000 *pde = 0000000000000000
	Bad pagetable: 000f [#1] PREEMPT SMP

Ingo guesses this got introduced by commit 611ae8e3f520 ("x86/tlb:
enable tlb flush range support for x86") since that code started to free
unused pagetables.

On x86-32 PAE kernels, that new code has the potential to free an entire
PMD page and will clear one of the four page-directory-pointer-table
(aka pgd_t entries).

The hardware aggressively "caches" these top-level entries and invlpg
does not actually affect the CPU's copy.  If we clear one we *HAVE* to
do a full TLB flush, otherwise we might continue using a freed pmd page.
(note, we do this properly on the population side in pud_populate()).

This patch tracks whenever we clear one of these entries in the 'struct
mmu_gather', and ensures that we follow up with a full tlb flush.

BTW, I disassembled and checked that:

	if (tlb-&gt;fullmm == 0)
and
	if (!tlb-&gt;fullmm &amp;&amp; !tlb-&gt;need_flush_all)

generate essentially the same code, so there should be zero impact there
to the !PAE case.

Signed-off-by: Dave Hansen &lt;dave.hansen@linux.intel.com&gt;
Cc: Peter Anvin &lt;hpa@zytor.com&gt;
Cc: Ingo Molnar &lt;mingo@kernel.org&gt;
Cc: Artem S Tashkinov &lt;t.artem@mailcity.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ARM: imx35 Bugfix admux clock</title>
<updated>2013-04-17T04:48:27Z</updated>
<author>
<name>Markus Pargmann</name>
<email>mpa@pengutronix.de</email>
</author>
<published>2013-03-29T15:20:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=de8a06fed88ff8cfe3a26dca3775d8cc625684f2'/>
<id>urn:sha1:de8a06fed88ff8cfe3a26dca3775d8cc625684f2</id>
<content type='text'>
commit 75498083e25e96932ad998ffdeadb17234c68d3a upstream.

The admux clock seems to be the audmux clock as tests show. audmux does
not work without this clock enabled. Currently imx35 does not register a
clock device for audmux. This patch adds this registration. imx-audmux
driver already handles a clock device, so no changes are necessary
there.

Signed-off-by: Markus Pargmann &lt;mpa@pengutronix.de&gt;
Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Signed-off-by: Shawn Guo &lt;shawn.guo@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ARM: Kirkwood: Fix typo in the definition of ix2-200 rebuild LED</title>
<updated>2013-04-17T04:48:27Z</updated>
<author>
<name>Nigel Roberts</name>
<email>nigel@nobiscuit.com</email>
</author>
<published>2013-04-01T12:03:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1e9c377334f3c41f9cd2c31e12b72bed13028a9a'/>
<id>urn:sha1:1e9c377334f3c41f9cd2c31e12b72bed13028a9a</id>
<content type='text'>
commit 8f08d6667287241f6818d35e02b223fb5df97cf1 upstream.

In the conversion to pinctrl, an error in the pins for the rebuild
LED was introduced. This patch assigns the correct pins and includes
the correct name for the LED in kirkwood-iomega_ix2_200.dts.

Signed-off-by: Nigel Roberts &lt;nigel@nobiscuit.com&gt;
Signed-off-by: Jason Cooper &lt;jason@lakedaemon.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ARM: EXYNOS: Fix crash on soft reset on EXYNOS5440</title>
<updated>2013-04-12T16:52:11Z</updated>
<author>
<name>Thomas Abraham</name>
<email>thomas.ab@samsung.com</email>
</author>
<published>2013-01-24T18:09:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3d574eb51f512fd6c7883f6b30677ea405851a5a'/>
<id>urn:sha1:3d574eb51f512fd6c7883f6b30677ea405851a5a</id>
<content type='text'>
commit 60db7e5f9c9a25a7a9b01007e6e3f5a93bc16a3a upstream.

The soft-reset control register is located in the XMU controller space.
Map this controller space before writing to the soft-reset controller
register.

Signed-off-by: Thomas Abraham &lt;thomas.ab@samsung.com&gt;
Signed-off-by: Girish K S &lt;ks.giri@samsung.com&gt;
Signed-off-by: Kukjin &lt;kgene.kim@samsung.com&gt;
Signed-off-by: Jonghwan Choi &lt;jhbird.choi@samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>x86: Fix rebuild with EFI_STUB enabled</title>
<updated>2013-04-12T16:52:10Z</updated>
<author>
<name>Jan Beulich</name>
<email>JBeulich@suse.com</email>
</author>
<published>2013-04-03T14:47:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6fc628a252fd8cb8585e54fdbcdce68ca374abf7'/>
<id>urn:sha1:6fc628a252fd8cb8585e54fdbcdce68ca374abf7</id>
<content type='text'>
commit 918708245e92941df16a634dc201b407d12bcd91 upstream.

eboot.o and efi_stub_$(BITS).o didn't get added to "targets", and hence
their .cmd files don't get included by the build machinery, leading to
the files always getting rebuilt.

Rather than adding the two files individually, take the opportunity and
add $(VMLINUX_OBJS) to "targets" instead, thus allowing the assignment
at the top of the file to be shrunk quite a bit.

At the same time, remove a pointless flags override line - the variable
assigned to was misspelled anyway, and the options added are
meaningless for assembly sources.

[ hpa: the patch is not minimal, but I am taking it for -urgent anyway
  since the excess impact of the patch seems to be small enough. ]

Signed-off-by: Jan Beulich &lt;jbeulich@suse.com&gt;
Link: http://lkml.kernel.org/r/515C5D2502000078000CA6AD@nat28.tlf.novell.com
Cc: Matthew Garrett &lt;mjg@redhat.com&gt;
Cc: Matt Fleming &lt;matt.fleming@intel.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>
<entry>
<title>x86: remove the x32 syscall bitmask from syscall_get_nr()</title>
<updated>2013-04-12T16:52:08Z</updated>
<author>
<name>Paul Moore</name>
<email>pmoore@redhat.com</email>
</author>
<published>2013-02-15T17:21:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=85b2a222e5d31bcc26fa4f42a3faefa20b68cc92'/>
<id>urn:sha1:85b2a222e5d31bcc26fa4f42a3faefa20b68cc92</id>
<content type='text'>
commit 8b4b9f27e57584f3d90e0bb84cf800ad81cfe3a1 upstream.

Commit fca460f95e928bae373daa8295877b6905bc62b8 simplified the x32
implementation by creating a syscall bitmask, equal to 0x40000000, that
could be applied to x32 syscalls such that the masked syscall number
would be the same as a x86_64 syscall.  While that patch was a nice
way to simplify the code, it went a bit too far by adding the mask to
syscall_get_nr(); returning the masked syscall numbers can cause
confusion with callers that expect syscall numbers matching the x32
ABI, e.g. unmasked syscall numbers.

This patch fixes this by simply removing the mask from syscall_get_nr()
while preserving the other changes from the original commit.  While
there are several syscall_get_nr() callers in the kernel, most simply
check that the syscall number is greater than zero, in this case this
patch will have no effect.  Of those remaining callers, they appear
to be few, seccomp and ftrace, and from my testing of seccomp without
this patch the original commit definitely breaks things; the seccomp
filter does not correctly filter the syscalls due to the difference in
syscall numbers in the BPF filter and the value from syscall_get_nr().
Applying this patch restores the seccomp BPF filter functionality on
x32.

I've tested this patch with the seccomp BPF filters as well as ftrace
and everything looks reasonable to me; needless to say general usage
seemed fine as well.

Signed-off-by: Paul Moore &lt;pmoore@redhat.com&gt;
Link: http://lkml.kernel.org/r/20130215172143.12549.10292.stgit@localhost
Cc: Will Drewry &lt;wad@chromium.org&gt;
Cc: H. Peter Anvin &lt;hpa@zytor.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>
<entry>
<title>powerpc: pSeries_lpar_hpte_remove fails from Adjunct partition being performed before the ANDCOND test</title>
<updated>2013-04-12T16:52:07Z</updated>
<author>
<name>Michael Wolf</name>
<email>mjw@linux.vnet.ibm.com</email>
</author>
<published>2013-04-05T10:41:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=eea464d4f60f3482680ca831327b8f6e0f75b52f'/>
<id>urn:sha1:eea464d4f60f3482680ca831327b8f6e0f75b52f</id>
<content type='text'>
commit 9fb2640159f9d4f5a2a9d60e490482d4cbecafdb upstream.

Some versions of pHyp will perform the adjunct partition test before the
ANDCOND test.  The result of this is that H_RESOURCE can be returned and
cause the BUG_ON condition to occur. The HPTE is not removed.  So add a
check for H_RESOURCE, it is ok if this HPTE is not removed as
pSeries_lpar_hpte_remove is looking for an HPTE to remove and not a
specific HPTE to remove.  So it is ok to just move on to the next slot
and try again.

Signed-off-by: Michael Wolf &lt;mjw@linux.vnet.ibm.com&gt;
Signed-off-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>alpha: Add irongate_io to PCI bus resources</title>
<updated>2013-04-12T16:52:06Z</updated>
<author>
<name>Jay Estabrook</name>
<email>jay.estabrook@gmail.com</email>
</author>
<published>2013-04-07T09:36:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b583e5e39115b913abe7a843c55eb2b47176aa07'/>
<id>urn:sha1:b583e5e39115b913abe7a843c55eb2b47176aa07</id>
<content type='text'>
commit aa8b4be3ac049c8b1df2a87e4d1d902ccfc1f7a9 upstream.

Fixes a NULL pointer dereference at boot on UP1500.

Reviewed-and-Tested-by: Matt Turner &lt;mattst88@gmail.com&gt;
Signed-off-by: Jay Estabrook &lt;jay.estabrook@gmail.com&gt;
Signed-off-by: Matt Turner &lt;mattst88@gmail.com&gt;
Signed-off-by: Michael Cree &lt;mcree@orcon.net.nz&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

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