s390/ctlreg: add type checking to __local_ctl_load() and __local_ctl_store()

Add type checking to __local_ctl_load() and __local_ctl_store(). For
both functions enforce to pass an array consisting of unsigned longs.

Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
This commit is contained in:
Heiko Carstens 2023-09-11 21:40:03 +02:00 committed by Vasily Gorbik
parent 4b440e01da
commit ecc53818f6

View File

@ -45,6 +45,7 @@
\
_esize = (_high - _low + 1) * sizeof(unsigned long); \
BUILD_BUG_ON(sizeof(struct addrtype) != _esize); \
typecheck(unsigned long, array[0]); \
asm volatile( \
" lctlg %[_low],%[_high],%[_arr]\n" \
: \
@ -63,6 +64,7 @@
\
_esize = (_high - _low + 1) * sizeof(unsigned long); \
BUILD_BUG_ON(sizeof(struct addrtype) != _esize); \
typecheck(unsigned long, array[0]); \
asm volatile( \
" stctg %[_low],%[_high],%[_arr]\n" \
: [_arr] "=Q" (*(struct addrtype *)(&array)) \