<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/arch, branch v3.0.32</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/arch?h=v3.0.32</id>
<link rel='self' href='https://git.amat.us/linux/atom/arch?h=v3.0.32'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-05-21T16:40:06Z</updated>
<entry>
<title>ia64: Add accept4() syscall</title>
<updated>2012-05-21T16:40:06Z</updated>
<author>
<name>Émeric Maschino</name>
<email>emeric.maschino@gmail.com</email>
</author>
<published>2012-01-09T20:55:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=91fbfce4b765d078f242c568c7183389b0ce1b1c'/>
<id>urn:sha1:91fbfce4b765d078f242c568c7183389b0ce1b1c</id>
<content type='text'>
commit 65cc21b4523e94d5640542a818748cd3be8cd6b4 upstream.

While debugging udev &gt; 170 failure on Debian Wheezy
(http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648325), it appears
that the issue was in fact due to missing accept4() in ia64.

This patch simply adds accept4() to ia64.

Signed-off-by: Émeric Maschino &lt;emeric.maschino@gmail.com&gt;
Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;
Signed-off-by: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;


</content>
</entry>
<entry>
<title>arch/tile: apply commit 74fca9da0 to the compat signal handling as well</title>
<updated>2012-05-21T16:40:03Z</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=6613992b950e00228c8d2d71051fbba89f6a190b'/>
<id>urn:sha1:6613992b950e00228c8d2d71051fbba89f6a190b</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-21T16:40:01Z</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=dbda13fc2193061009cd20998f64dd01a97309a9'/>
<id>urn:sha1:dbda13fc2193061009cd20998f64dd01a97309a9</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>sparc64: Do not clobber %g2 in xcall_fetch_glob_regs().</title>
<updated>2012-05-21T16:40:01Z</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=1c1cb5756a8d296bbc33fc844f97048dc09ee172'/>
<id>urn:sha1:1c1cb5756a8d296bbc33fc844f97048dc09ee172</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: orion5x: Fix GPIO enable bits for MPP9</title>
<updated>2012-05-21T16:39:58Z</updated>
<author>
<name>Ben Hutchings</name>
<email>ben@decadent.org.uk</email>
</author>
<published>2012-04-08T04:18:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=78d09e08e97051b3824dca8aa5ceaf15d1295ba2'/>
<id>urn:sha1:78d09e08e97051b3824dca8aa5ceaf15d1295ba2</id>
<content type='text'>
commit 48d99f47a81a66bdd61a348c7fe8df5a7afdf5f3 upstream.

Commit 554cdaefd1cf7bb54b209c4e68c7cec87ce442a9 ('ARM: orion5x: Refactor
mpp code to use common orion platform mpp.') seems to have accidentally
inverted the GPIO valid bits for MPP9 (only).  For the mv2120 platform
which uses MPP9 as a GPIO LED device, this results in the error:

[   12.711476] leds-gpio: probe of leds-gpio failed with error -22

Reported-by: Henry von Tresckow &lt;hvontres@gmail.com&gt;
References: http://bugs.debian.org/667446
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Tested-by: Hans Henry von Tresckow &lt;hvontres@gmail.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: 7414/1: SMP: prevent use of the console when using idmap_pgd</title>
<updated>2012-05-21T16:39:58Z</updated>
<author>
<name>Colin Cross</name>
<email>ccross@android.com</email>
</author>
<published>2012-05-05T19:58:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cb68af469fa453694a03553c6efd0681f2c5264f'/>
<id>urn:sha1:cb68af469fa453694a03553c6efd0681f2c5264f</id>
<content type='text'>
commit fde165b2a29673aabf18ceff14dea1f1cfb0daad upstream.

Commit 4e8ee7de227e3ab9a72040b448ad728c5428a042 (ARM: SMP: use
idmap_pgd for mapping MMU enable during secondary booting)
switched secondary boot to use idmap_pgd, which is initialized
during early_initcall, instead of a page table initialized during
__cpu_up.  This causes idmap_pgd to contain the static mappings
but be missing all dynamic mappings.

If a console is registered that creates a dynamic mapping, the
printk in secondary_start_kernel will trigger a data abort on
the missing mapping before the exception handlers have been
initialized, leading to a hang.  Initial boot is not affected
because no consoles have been registered, and resume is usually
not affected because the offending console is suspended.
Onlining a cpu with hotplug triggers the problem.

A workaround is to the printk in secondary_start_kernel until
after the page tables have been switched back to init_mm.

Signed-off-by: Colin Cross &lt;ccross@android.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: 7410/1: Add extra clobber registers for assembly in kernel_execve</title>
<updated>2012-05-21T16:39:58Z</updated>
<author>
<name>Tim Bird</name>
<email>tim.bird@am.sony.com</email>
</author>
<published>2012-05-02T21:55:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6007ca9964e4607fd5835be19391b1d85ebc07a4'/>
<id>urn:sha1:6007ca9964e4607fd5835be19391b1d85ebc07a4</id>
<content type='text'>
commit e787ec1376e862fcea1bfd523feb7c5fb43ecdb9 upstream.

The inline assembly in kernel_execve() uses r8 and r9.  Since this
code sequence does not return, it usually doesn't matter if the
register clobber list is accurate.  However, I saw a case where a
particular version of gcc used r8 as an intermediate for the value
eventually passed to r9.  Because r8 is used in the inline
assembly, and not mentioned in the clobber list, r9 was set
to an incorrect value.

This resulted in a kernel panic on execution of the first user-space
program in the system.  r9 is used in ret_to_user as the thread_info
pointer, and if it's wrong, bad things happen.

Signed-off-by: Tim Bird &lt;tim.bird@am.sony.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>percpu, x86: don't use PMD_SIZE as embedded atom_size on 32bit</title>
<updated>2012-05-21T16:39:57Z</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2012-04-27T17:54:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b46c15800390313e303bda58c56627719bd8a0b8'/>
<id>urn:sha1:b46c15800390313e303bda58c56627719bd8a0b8</id>
<content type='text'>
commit d5e28005a1d2e67833852f4c9ea8ec206ea3ff85 upstream.

With the embed percpu first chunk allocator, x86 uses either PAGE_SIZE
or PMD_SIZE for atom_size.  PMD_SIZE is used when CPU supports PSE so
that percpu areas are aligned to PMD mappings and possibly allow using
PMD mappings in vmalloc areas in the future.  Using larger atom_size
doesn't waste actual memory; however, it does require larger vmalloc
space allocation later on for !first chunks.

With reasonably sized vmalloc area, PMD_SIZE shouldn't be a problem
but x86_32 at this point is anything but reasonable in terms of
address space and using larger atom_size reportedly leads to frequent
percpu allocation failures on certain setups.

As there is no reason to not use PMD_SIZE on x86_64 as vmalloc space
is aplenty and most x86_64 configurations support PSE, fix the issue
by always using PMD_SIZE on x86_64 and PAGE_SIZE on x86_32.

v2: drop cpu_has_pse test and make x86_64 always use PMD_SIZE and
    x86_32 PAGE_SIZE as suggested by hpa.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Reported-by: Yanmin Zhang &lt;yanmin.zhang@intel.com&gt;
Reported-by: ShuoX Liu &lt;shuox.liu@intel.com&gt;
Acked-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
LKML-Reference: &lt;4F97BA98.6010001@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>xen/pci: don't use PCI BIOS service for configuration space accesses</title>
<updated>2012-05-21T16:39:57Z</updated>
<author>
<name>David Vrabel</name>
<email>david.vrabel@citrix.com</email>
</author>
<published>2012-05-04T13:29:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=da4725b85c269b43f4716726790aef43776449da'/>
<id>urn:sha1:da4725b85c269b43f4716726790aef43776449da</id>
<content type='text'>
commit 76a8df7b49168509df02461f83fab117a4a86e08 upstream.

The accessing PCI configuration space with the PCI BIOS32 service does
not work in PV guests.

On systems without MMCONFIG or where the BIOS hasn't marked the
MMCONFIG region as reserved in the e820 map, the BIOS service is
probed (even though direct access is preferred) and this hangs.

Acked-by: Jan Beulich &lt;jbeulich@suse.com&gt;
Signed-off-by: David Vrabel &lt;david.vrabel@citrix.com&gt;
[v1: Fixed compile error when CONFIG_PCI is not set]
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>xen/pte: Fix crashes when trying to see non-existent PGD/PMD/PUD/PTEs</title>
<updated>2012-05-21T16:39:57Z</updated>
<author>
<name>Konrad Rzeszutek Wilk</name>
<email>konrad.wilk@oracle.com</email>
</author>
<published>2012-05-03T20:14:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ff1e8115c26a02f2d3d5f61433ea24790c3c009a'/>
<id>urn:sha1:ff1e8115c26a02f2d3d5f61433ea24790c3c009a</id>
<content type='text'>
commit b7e5ffe5d83fa40d702976d77452004abbe35791 upstream.

If I try to do "cat /sys/kernel/debug/kernel_page_tables"
I end up with:

BUG: unable to handle kernel paging request at ffffc7fffffff000
IP: [&lt;ffffffff8106aa51&gt;] ptdump_show+0x221/0x480
PGD 0
Oops: 0000 [#1] SMP
CPU 0
.. snip..
RAX: 0000000000000000 RBX: ffffc00000000fff RCX: 0000000000000000
RDX: 0000800000000000 RSI: 0000000000000000 RDI: ffffc7fffffff000

which is due to the fact we are trying to access a PFN that is not
accessible to us. The reason (at least in this case) was that
PGD[256] is set to __HYPERVISOR_VIRT_START which was setup (by the
hypervisor) to point to a read-only linear map of the MFN-&gt;PFN array.
During our parsing we would get the MFN (a valid one), try to look
it up in the MFN-&gt;PFN tree and find it invalid and return ~0 as PFN.
Then pte_mfn_to_pfn would happilly feed that in, attach the flags
and return it back to the caller. 'ptdump_show' bitshifts it and
gets and invalid value that it tries to dereference.

Instead of doing all of that, we detect the ~0 case and just
return !_PAGE_PRESENT.

This bug has been in existence .. at least until 2.6.37 (yikes!)

Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

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