<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/powerpc/kernel/vdso.c, branch linux-4.14.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.14.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.14.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2020-08-21T07:48:09Z</updated>
<entry>
<title>powerpc/vdso: Fix vdso cpu truncation</title>
<updated>2020-08-21T07:48:09Z</updated>
<author>
<name>Milton Miller</name>
</author>
<published>2020-07-15T23:37:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=172f9611b745fbda27a46a23af4d381b96eb148f'/>
<id>urn:sha1:172f9611b745fbda27a46a23af4d381b96eb148f</id>
<content type='text'>
[ Upstream commit a9f675f950a07d5c1dbcbb97aabac56f5ed085e3 ]

The code in vdso_cpu_init that exposes the cpu and numa node to
userspace via SPRG_VDSO incorrctly masks the cpu to 12 bits. This means
that any kernel running on a box with more than 4096 threads (NR_CPUS
advertises a limit of of 8192 cpus) would expose userspace to two cpu
contexts running at the same time with the same cpu number.

Note: I'm not aware of any distro shipping a kernel with support for more
than 4096 threads today, nor of any system image that currently exceeds
4096 threads. Found via code browsing.

Fixes: 18ad51dd342a7eb09dbcd059d0b451b616d4dafc ("powerpc: Add VDSO version of getcpu")
Signed-off-by: Milton Miller &lt;miltonm@us.ibm.com&gt;
Signed-off-by: Anton Blanchard &lt;anton@linux.ibm.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Link: https://lore.kernel.org/r/20200715233704.1352257-1-anton@ozlabs.org
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>powerpc/64: Clean up ppc64_caches using a struct per cache</title>
<updated>2017-02-06T08:46:04Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
</author>
<published>2017-01-08T23:31:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e2827fe5c1566f66a922dd7493cbe4522c50580a'/>
<id>urn:sha1:e2827fe5c1566f66a922dd7493cbe4522c50580a</id>
<content type='text'>
We have two set of identical struct members for the I and D sides
and mostly identical bunches of code to parse the device-tree to
populate them. Instead make a ppc_cache_info structure with one
copy for I and one for D

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/64: Fix naming of cache block vs. cache line</title>
<updated>2017-02-06T08:46:04Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
</author>
<published>2017-01-08T23:31:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bd067f83b0840e798328d14133ce4542d3bf9e71'/>
<id>urn:sha1:bd067f83b0840e798328d14133ce4542d3bf9e71</id>
<content type='text'>
In a number of places we called "cache line size" what is actually
the cache block size, which in the powerpc architecture, means the
effective size to use with cache management instructions (it can
be different from the actual cache line size).

We fix the naming across the board and properly retrieve both
pieces of information when available in the device-tree.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/vdso: Add missing include file</title>
<updated>2016-08-09T06:52:00Z</updated>
<author>
<name>Guenter Roeck</name>
</author>
<published>2016-08-06T22:54:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=546c4402c57497a6ffdf5373aff75bc89f0866bc'/>
<id>urn:sha1:546c4402c57497a6ffdf5373aff75bc89f0866bc</id>
<content type='text'>
Some powerpc builds fail with the following buld error.

  In file included from ./arch/powerpc/include/asm/mmu_context.h:11:0,
                   from arch/powerpc/kernel/vdso.c:28:
  arch/powerpc/include/asm/cputhreads.h: In function 'get_tensr':
  arch/powerpc/include/asm/cputhreads.h:101:2: error:
  	implicit declaration of function 'cpu_has_feature'

Fixes: b92a226e5284 ("powerpc: Move cpu_has_feature() to a separate file")
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>vdso: make arch_setup_additional_pages wait for mmap_sem for write killable</title>
<updated>2016-05-24T00:04:14Z</updated>
<author>
<name>Michal Hocko</name>
</author>
<published>2016-05-23T23:25:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=69048176078adda4087a648c9b1812ddd800fad1'/>
<id>urn:sha1:69048176078adda4087a648c9b1812ddd800fad1</id>
<content type='text'>
most architectures are relying on mmap_sem for write in their
arch_setup_additional_pages.  If the waiting task gets killed by the oom
killer it would block oom_reaper from asynchronous address space reclaim
and reduce the chances of timely OOM resolving.  Wait for the lock in
the killable mode and return with EINTR if the task got killed while
waiting.

Signed-off-by: Michal Hocko &lt;mhocko@suse.com&gt;
Acked-by: Andy Lutomirski &lt;luto@amacapital.net&gt;	[x86 vdso]
Acked-by: Vlastimil Babka &lt;vbabka@suse.cz&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>powerpc: Standardise on NR_syscalls rather than __NR_syscalls.</title>
<updated>2015-11-26T11:11:17Z</updated>
<author>
<name>Rashmica Gupta</name>
</author>
<published>2015-11-19T06:04:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f43194e45852b0455d2a3e3730f70daa76958423'/>
<id>urn:sha1:f43194e45852b0455d2a3e3730f70daa76958423</id>
<content type='text'>
Most architectures use NR_syscalls as the #define for the number of syscalls.

We use __NR_syscalls, and then define NR_syscalls as __NR_syscalls.

__NR_syscalls is not used outside arch code, whereas NR_syscalls is. So as
NR_syscalls must be defined and __NR_syscalls does not, replace __NR_syscalls
with NR_syscalls.

Signed-off-by: Rashmica Gupta &lt;rashmicy@gmail.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/vdso: Disable building the 32-bit VDSO on little endian</title>
<updated>2015-05-11T10:01:02Z</updated>
<author>
<name>Michael Ellerman</name>
</author>
<published>2015-05-11T10:01:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e0d0059169945c8ee16790d2e7244cea397dfd56'/>
<id>urn:sha1:e0d0059169945c8ee16790d2e7244cea397dfd56</id>
<content type='text'>
The only little endian configuration we support is ppc64le. As such if
we're building little endian we don't need a 32-bit VDSO, because there
is no 32-bit userspace.

This patch is a fairly ugly mess of #ifdefs, but is the minimal logic
required to disable the 32-bit VDSO. We can hopefully clean up the
result in future with some further refactoring.

Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/vdso: Combine start/size variables</title>
<updated>2015-05-11T10:00:32Z</updated>
<author>
<name>Michael Ellerman</name>
</author>
<published>2015-04-22T05:40:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6e5c077519f2661c56647fc21b2ec2ba0a50bb75'/>
<id>urn:sha1:6e5c077519f2661c56647fc21b2ec2ba0a50bb75</id>
<content type='text'>
In vdso_fixup_features() we have start64/start32 and size64/size32, but
they have the same types, ie. void * and unsigned long.

They're only used to save the return value from find_sectionXX() for the
subsequent call to do_feature_fixups(), so there's no overlap in their
usage either.

So we can just consolidate them into start/size and avoid the
duplication.

Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/vdso: Remove unused debug code</title>
<updated>2015-05-11T10:00:32Z</updated>
<author>
<name>Michael Ellerman</name>
</author>
<published>2015-04-22T05:40:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=63da88dd48268af415b3677e20f6bcb92c1bf32c'/>
<id>urn:sha1:63da88dd48268af415b3677e20f6bcb92c1bf32c</id>
<content type='text'>
It's in the git history if we ever need it back.

Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc: Remove superfluous bootmem includes</title>
<updated>2014-11-09T22:59:26Z</updated>
<author>
<name>Anton Blanchard</name>
</author>
<published>2014-09-17T12:15:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=68cf0d642f62267b960f947370539ff3582c4935'/>
<id>urn:sha1:68cf0d642f62267b960f947370539ff3582c4935</id>
<content type='text'>
Lots of places included bootmem.h even when not using bootmem.

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
Tested-by: Emil Medve &lt;Emilian.Medve@Freescale.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
</feed>
