<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/parisc/kernel, branch linux-6.4.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.4.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.4.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2023-09-13T07:48:41Z</updated>
<entry>
<title>parisc: Fix /proc/cpuinfo output for lscpu</title>
<updated>2023-09-13T07:48:41Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2023-08-18T20:48:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3d45037fbc203be72331136c4db8a7f3b83d1fb3'/>
<id>urn:sha1:3d45037fbc203be72331136c4db8a7f3b83d1fb3</id>
<content type='text'>
commit 9f5ba4b3e1b3c123eeca5d2d09161e8720048b5c upstream.

The lscpu command is broken since commit cab56b51ec0e ("parisc: Fix
device names in /proc/iomem") added the PA pathname to all PA
devices, includig the CPUs.

lscpu parses /proc/cpuinfo and now believes it found different CPU
types since every CPU is listed with an unique identifier (PA
pathname).

Fix this problem by simply dropping the PA pathname when listing the
CPUs in /proc/cpuinfo. There is no need to show the pathname in this
procfs file.

Fixes: cab56b51ec0e ("parisc: Fix device names in /proc/iomem")
Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v4.9+
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>parisc: sys_parisc: parisc_personality() is called from asm code</title>
<updated>2023-09-02T07:14:38Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2023-06-30T10:36:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ebc51587d0c52bf2bdc2d8a9c0f33c5ba8d637b7'/>
<id>urn:sha1:ebc51587d0c52bf2bdc2d8a9c0f33c5ba8d637b7</id>
<content type='text'>
commit b5d89408b9fb21258f7c371d6d48a674f60f7181 upstream.

Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>parisc: Fix CONFIG_TLB_PTLOCK to work with lightweight spinlock checks</title>
<updated>2023-08-23T15:32:52Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2023-08-13T20:11:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b8e7ee1d9c6b8dc509de1f35cd9d1d30564e6f7b'/>
<id>urn:sha1:b8e7ee1d9c6b8dc509de1f35cd9d1d30564e6f7b</id>
<content type='text'>
commit 7a894c87374771f3cfb1b8e5453fbe03f1fb8135 upstream.

For the TLB_PTLOCK checks we used an optimization to store the spc
register into the spinlock to unlock it. This optimization works as
long as the lightweight spinlock checks (CONFIG_LIGHTWEIGHT_SPINLOCK_CHECK)
aren't enabled, because they really check if the lock word is zero or
__ARCH_SPIN_LOCK_UNLOCKED_VAL and abort with a kernel crash
("Spinlock was trashed") otherwise.

Drop that optimization to make it possible to activate both checks
at the same time.

Noticed-by: Sam James &lt;sam@gentoo.org&gt;
Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
Tested-by: Sam James &lt;sam@gentoo.org&gt;
Cc: stable@vger.kernel.org # v6.4+
Fixes: 15e64ef6520e ("parisc: Add lightweight spinlock checks")
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>parisc: Fix lightweight spinlock checks to not break futexes</title>
<updated>2023-08-16T16:32:18Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2023-08-09T07:21:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=24555c3794bcb8f3b93f88105972848a4f0888aa'/>
<id>urn:sha1:24555c3794bcb8f3b93f88105972848a4f0888aa</id>
<content type='text'>
commit a0f4b7879f2e14986200747d1b545e5daac8c624 upstream.

The lightweight spinlock checks verify that a spinlock has either value
0 (spinlock locked) and that not any other bits than in
__ARCH_SPIN_LOCK_UNLOCKED_VAL is set.

This breaks the current LWS code, which writes the address of the lock
into the lock word to unlock it, which was an optimization to save one
assembler instruction.

Fix it by making spinlock_types.h accessible for asm code, change the
LWS spinlock-unlocking code to write __ARCH_SPIN_LOCK_UNLOCKED_VAL into
the lock word, and add some missing lightweight spinlock checks to the
LWS path. Finally, make the spinlock checks dependend on DEBUG_KERNEL.

Noticed-by: John David Anglin &lt;dave.anglin@bell.net&gt;
Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
Tested-by: John David Anglin &lt;dave.anglin@bell.net&gt;
Cc: stable@vger.kernel.org # v6.4+
Fixes: 15e64ef6520e ("parisc: Add lightweight spinlock checks")
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>io_uring/parisc: Adjust pgoff in io_uring mmap() for parisc</title>
<updated>2023-08-16T16:32:17Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2023-08-07T18:04:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7dc5a1f279899420d2f98867dc397ec465df5acb'/>
<id>urn:sha1:7dc5a1f279899420d2f98867dc397ec465df5acb</id>
<content type='text'>
commit 56675f8b9f9b15b024b8e3145fa289b004916ab7 upstream.

The changes from commit 32832a407a71 ("io_uring: Fix io_uring mmap() by
using architecture-provided get_unmapped_area()") to the parisc
implementation of get_unmapped_area() broke glibc's locale-gen
executable when running on parisc.

This patch reverts those architecture-specific changes, and instead
adjusts in io_uring_mmu_get_unmapped_area() the pgoff offset which is
then given to parisc's get_unmapped_area() function.  This is much
cleaner than the previous approach, and we still will get a coherent
addresss.

This patch has no effect on other architectures (SHM_COLOUR is only
defined on parisc), and the liburing testcase stil passes on parisc.

Cc: stable@vger.kernel.org # 6.4
Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
Reported-by: Christoph Biedl &lt;linux-kernel.bfrz@manchmal.in-ulm.de&gt;
Fixes: 32832a407a71 ("io_uring: Fix io_uring mmap() by using architecture-provided get_unmapped_area()")
Fixes: d808459b2e31 ("io_uring: Adjust mapping wrt architecture aliasing requirements")
Link: https://lore.kernel.org/r/ZNEyGV0jyI8kOOfz@p100
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>io_uring: Fix io_uring mmap() by using architecture-provided get_unmapped_area()</title>
<updated>2023-07-27T06:56:31Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2023-07-21T15:24:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=450d9315d28085f72dc1b1075fc46ed8a1426e39'/>
<id>urn:sha1:450d9315d28085f72dc1b1075fc46ed8a1426e39</id>
<content type='text'>
commit 32832a407a7178eec3215fad9b1a3298c14b0d69 upstream.

The io_uring testcase is broken on IA-64 since commit d808459b2e31
("io_uring: Adjust mapping wrt architecture aliasing requirements").

The reason is, that this commit introduced an own architecture
independend get_unmapped_area() search algorithm which finds on IA-64 a
memory region which is outside of the regular memory region used for
shared userspace mappings and which can't be used on that platform
due to aliasing.

To avoid similar problems on IA-64 and other platforms in the future,
it's better to switch back to the architecture-provided
get_unmapped_area() function and adjust the needed input parameters
before the call. Beside fixing the issue, the function now becomes
easier to understand and maintain.

This patch has been successfully tested with the io_uring testcase on
physical x86-64, ppc64le, IA-64 and PA-RISC machines. On PA-RISC the LTP
mmmap testcases did not report any regressions.

Cc: stable@vger.kernel.org # 6.4
Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
Reported-by: matoro &lt;matoro_mailinglist_kernel@matoro.tk&gt;
Fixes: d808459b2e31 ("io_uring: Adjust mapping wrt architecture aliasing requirements")
Link: https://lore.kernel.org/r/20230721152432.196382-2-deller@gmx.de
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>parisc: Fix flush_dcache_page() for usage from irq context</title>
<updated>2023-05-24T17:03:49Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2023-05-24T15:07:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=61e150fb310729c98227a5edf6e4a3619edc3702'/>
<id>urn:sha1:61e150fb310729c98227a5edf6e4a3619edc3702</id>
<content type='text'>
Since at least kernel 6.1, flush_dcache_page() is called with IRQs
disabled, e.g. from aio_complete().

But the current implementation for flush_dcache_page() on parisc
unintentionally re-enables IRQs, which may lead to deadlocks.

Fix it by using xa_lock_irqsave() and xa_unlock_irqrestore()
for the flush_dcache_mmap_*lock() macros instead.

Cc: linux-parisc@vger.kernel.org
Cc: stable@kernel.org # 5.18+
Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
</content>
</entry>
<entry>
<title>parisc: Handle kgdb breakpoints only in kernel context</title>
<updated>2023-05-24T13:46:12Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2023-05-24T12:34:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6888ff04e37d01295620a73f3f7efbc79f6ef152'/>
<id>urn:sha1:6888ff04e37d01295620a73f3f7efbc79f6ef152</id>
<content type='text'>
The kernel kgdb break instructions should only be handled when running
in kernel context.

Cc: &lt;stable@vger.kernel.org&gt; # v5.4+
Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
</content>
</entry>
<entry>
<title>parisc: Handle kprobes breakpoints only in kernel context</title>
<updated>2023-05-24T13:46:12Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2023-05-24T12:31:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=df419492e428b6a2bce98d0f613c58a13da6666c'/>
<id>urn:sha1:df419492e428b6a2bce98d0f613c58a13da6666c</id>
<content type='text'>
The kernel kprobes break instructions should only be handled when running
in kernel context.

Cc: &lt;stable@vger.kernel.org&gt; # v5.18+
Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
</content>
</entry>
<entry>
<title>parisc: Allow to reboot machine after system halt</title>
<updated>2023-05-24T13:46:12Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2023-05-22T20:57:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2028315cf59bb899a5ac7e87dc48ecb8fac7ac24'/>
<id>urn:sha1:2028315cf59bb899a5ac7e87dc48ecb8fac7ac24</id>
<content type='text'>
In case a machine can't power-off itself on system shutdown,
allow the user to reboot it by pressing the RETURN key.

Cc: &lt;stable@vger.kernel.org&gt; # v4.14+
Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
</content>
</entry>
</feed>
