]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit
s390/uaccess: introduce bit field for OAC specifier
authorNico Boehr <nrb@linux.ibm.com>
Tue, 11 Jan 2022 10:00:03 +0000 (11:00 +0100)
committerAndrea Righi <andrea.righi@canonical.com>
Thu, 24 Feb 2022 13:27:20 +0000 (14:27 +0100)
commit7b664d2880533a6dbb62a20e6f4bcdb14ec10c6f
tree1d5bf5f5ed86684f377581e5e74664523888fcfe
parent73ea3ce115ff4f5d494b4993bb0ee5b6e65bf440
s390/uaccess: introduce bit field for OAC specifier

BugLink: https://bugs.launchpad.net/bugs/1933179
Previously, we've used  magic values to specify the OAC
(operand-access control) for mvcos.

Instead we introduce a bit field for it.

When using a bit field, we cannot use an immediate value with K
constraint anymore, since GCC older than 10 doesn't recognize
the bit field union as a compile time constant.
To make things work with older compilers,
load the OAC value through a register.

Bloat-o-meter reports a slight increase in kernel size with this change:
Total: Before=15692135, After=15693015, chg +0.01%

Signed-off-by: Nico Boehr <nrb@linux.ibm.com>
Co-developed-by: Janis Schoetterl-Glausch <scgl@linux.ibm.com>
Signed-off-by: Janis Schoetterl-Glausch <scgl@linux.ibm.com>
Link: https://lore.kernel.org/r/20220111100003.743116-1-scgl@linux.ibm.com
Cc: Alexander Gordeev <agordeev@linux.ibm.com>
Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Sven Schnelle <svens@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
(cherry picked from commit 012a224e1fa31fc256aab921f691598e03db6018)
Signed-off-by: Frank Heimes <frank.heimes@canonical.com>
Acked-by: Tim Gardner <tim.gardner@canonical.com>
Acked-by: Andrea Righi <andrea.righi@canonical.com>
Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
arch/s390/include/asm/uaccess.h
arch/s390/lib/uaccess.c