From ecc53818f60447177e24ea11b7f136c405150976 Mon Sep 17 00:00:00 2001 From: Heiko Carstens <hca@linux.ibm.com> Date: Mon, 11 Sep 2023 21:40:03 +0200 Subject: [PATCH] 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> --- arch/s390/include/asm/ctlreg.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/s390/include/asm/ctlreg.h b/arch/s390/include/asm/ctlreg.h index e60c672ffb9c4..a49459adba9d7 100644 --- a/arch/s390/include/asm/ctlreg.h +++ b/arch/s390/include/asm/ctlreg.h @@ -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)) \ -- GitLab