<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/s390/kernel/early.c, branch linux-4.19.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.19.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.19.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2020-07-16T06:17:22Z</updated>
<entry>
<title>s390/kasan: fix early pgm check handler execution</title>
<updated>2020-07-16T06:17:22Z</updated>
<author>
<name>Vasily Gorbik</name>
</author>
<published>2020-06-17T13:05:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7e7f71be56c563d82d0a1f9cb099c1c76a70a30d'/>
<id>urn:sha1:7e7f71be56c563d82d0a1f9cb099c1c76a70a30d</id>
<content type='text'>
[ Upstream commit 998f5bbe3dbdab81c1cfb1aef7c3892f5d24f6c7 ]

Currently if early_pgm_check_handler is called it ends up in pgm check
loop. The problem is that early_pgm_check_handler is instrumented by
KASAN but executed without DAT flag enabled which leads to addressing
exception when KASAN checks try to access shadow memory.

Fix that by executing early handlers with DAT flag on under KASAN as
expected.

Reported-and-tested-by: Alexander Egorenkov &lt;egorenar@linux.ibm.com&gt;
Reviewed-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Vasily Gorbik &lt;gor@linux.ibm.com&gt;
Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>s390/early: improve machine detection</title>
<updated>2019-01-31T07:14:35Z</updated>
<author>
<name>Christian Borntraeger</name>
</author>
<published>2018-11-09T08:21:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e0d573a08f234722fe21a5729d2e945b775c5201'/>
<id>urn:sha1:e0d573a08f234722fe21a5729d2e945b775c5201</id>
<content type='text'>
commit 03aa047ef2db4985e444af6ee1c1dd084ad9fb4c upstream.

Right now the early machine detection code check stsi 3.2.2 for "KVM"
and set MACHINE_IS_VM if this is different. As the console detection
uses diagnose 8 if MACHINE_IS_VM returns true this will crash Linux
early for any non z/VM system that sets a different value than KVM.
So instead of assuming z/VM, do not set any of MACHINE_IS_LPAR,
MACHINE_IS_VM, or MACHINE_IS_KVM.

CC: stable@vger.kernel.org
Reviewed-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>s390/boot: block uncompressed vmlinux booting attempts</title>
<updated>2018-07-02T09:25:05Z</updated>
<author>
<name>Vasily Gorbik</name>
</author>
<published>2018-06-25T11:59:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=627c9b62058ebfd368b7411e7ea5a27df48486c8'/>
<id>urn:sha1:627c9b62058ebfd368b7411e7ea5a27df48486c8</id>
<content type='text'>
Since the plain vmlinux ELF file no longer carries all necessary parts
for starting up (like the entry point and decompressor), add a check
which would block boot process and encourage users to use bzImage or
arch/s390/boot/compressed/vmlinux instead.

The check relies on s390 linux entry point ABI definition, which is only
present in bzImage and arch/s390/boot/compressed/vmlinux.

Reported-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Tested-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Acked-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Acked-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Reviewed-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Vasily Gorbik &lt;gor@linux.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/early: move functions which may not access bss section to extra file</title>
<updated>2018-05-09T08:55:01Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2018-05-04T11:22:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=971a9ca6259752c04da09535707d08ccc5d1ed4b'/>
<id>urn:sha1:971a9ca6259752c04da09535707d08ccc5d1ed4b</id>
<content type='text'>
Move functions which may not access bss section to extra file. This
makes it easier to verify that all early functions which may not rely
on an initialized bss section are not accessing it.

Reviewed-by: Vasily Gorbik &lt;gor@linux.ibm.com&gt;
Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/early: get rid of #ifdef CONFIG_BLK_DEV_INITRD</title>
<updated>2018-05-09T08:55:01Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2018-05-04T10:58:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=32fd2b4bcf6bf68ec45c4ddc4f57056b17e22bd7'/>
<id>urn:sha1:32fd2b4bcf6bf68ec45c4ddc4f57056b17e22bd7</id>
<content type='text'>
Use IS_ENABLED to get rid of an #ifdef statement.

Reviewed-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Reviewed-by: Vasily Gorbik &lt;gor@linux.ibm.com&gt;
Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/early: get rid of memmove_early</title>
<updated>2018-05-09T08:55:01Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2018-05-04T10:58:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1155a26a25af2c4d1f32caa3d4bae46a1c07cf73'/>
<id>urn:sha1:1155a26a25af2c4d1f32caa3d4bae46a1c07cf73</id>
<content type='text'>
memmove_early was introduced with commit d543a106f96d6 ("s390: fix
initrd corruptions with gcov/kcov instrumented kernels"). The reason
for writing this extra memmove implementation was to be able to move
memory from an unknown location (aka SCSI IPL parameter block) to a
known location.

This had to done early before it was known if the SCSI IPL parameter
block pointer was valid or not, and therefore the memmove
implementation was supposed to be able to handle program checks.

The code has been changed and especially with commit d08091ac9654
("s390/ipl: rely on diag308 store to get ipl info") and
commit b4623d4e5b23 ("s390: provide memmove implementation") there
is no need to have a memmove version that can handle program checks,
and in addition it cannot be gcov/kcov instrumented anymore.

Reviewed-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Reviewed-by: Vasily Gorbik &lt;gor@linux.ibm.com&gt;
Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/ipl: rely on diag308 store to get ipl info</title>
<updated>2018-04-10T05:38:59Z</updated>
<author>
<name>Vasily Gorbik</name>
</author>
<published>2018-04-03T14:03:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d08091ac9654383422350ce829caf467b3e9a8b1'/>
<id>urn:sha1:d08091ac9654383422350ce829caf467b3e9a8b1</id>
<content type='text'>
For both ccw and fcp boot retrieve ipl info from ipl block received via
diag308 store. Old scsi ipl parm block handling and cio_get_iplinfo are
removed. Ipl type is deducted from ipl block (if valid).

Reviewed-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Vasily Gorbik &lt;gor@linux.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/lpp: use assembler alternatives for the LPP instruction</title>
<updated>2018-03-28T06:38:28Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2018-03-26T13:23:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e5b98199deb013609af7106a1fb9e779a7f6744a'/>
<id>urn:sha1:e5b98199deb013609af7106a1fb9e779a7f6744a</id>
<content type='text'>
With the new macros for CPU alternatives the MACHINE_FLAG_LPP check
around the LPP instruction can be optimized. After this is done the
flag can be removed.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390: unify linker symbols usage</title>
<updated>2018-02-27T07:05:23Z</updated>
<author>
<name>Vasily Gorbik</name>
</author>
<published>2018-02-20T12:28:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=320d9555cb9d2f42cf933c7f59468998933f6cc7'/>
<id>urn:sha1:320d9555cb9d2f42cf933c7f59468998933f6cc7</id>
<content type='text'>
Common code defines linker symbols which denote sections start/end in
a form of char []. Referencing those symbols as _symbol or &amp;_symbol
yields the same result, but "_symbol" form is more widespread across
newly written code. Convert s390 specific code to this style.

Also removes unused _text symbol definition in boot/compressed/misc.c.

Signed-off-by: Vasily Gorbik &lt;gor@linux.vnet.ibm.com&gt;
Acked-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390: add options to change branch prediction behaviour for the kernel</title>
<updated>2018-02-05T12:49:17Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2018-01-16T06:11:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d768bd892fc8f066cd3aa000eb1867bcf32db0ee'/>
<id>urn:sha1:d768bd892fc8f066cd3aa000eb1867bcf32db0ee</id>
<content type='text'>
Add the PPA instruction to the system entry and exit path to switch
the kernel to a different branch prediction behaviour. The instructions
are added via CPU alternatives and can be disabled with the "nospec"
or the "nobp=0" kernel parameter. If the default behaviour selected
with CONFIG_KERNEL_NOBP is set to "n" then the "nobp=1" parameter can be
used to enable the changed kernel branch prediction.

Acked-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
</feed>
