summaryrefslogtreecommitdiff
path: root/arch/s390/include/asm/cio.h
diff options
context:
space:
mode:
authorSven Schnelle <svens@linux.ibm.com>2022-05-03 10:58:33 +0300
committerHeiko Carstens <hca@linux.ibm.com>2022-05-11 15:40:57 +0300
commit5ace65ebb5ce9fe1cc8fdbdd97079fb566ef0ea4 (patch)
treef40939cdc8e4c16a646cef349c46e49bc5e219e4 /arch/s390/include/asm/cio.h
parent03780c83c78546310c084ef3df69da2a0bafbcb5 (diff)
downloadlinux-5ace65ebb5ce9fe1cc8fdbdd97079fb566ef0ea4.tar.xz
s390/stp: clock_delta should be signed
clock_delta is declared as unsigned long in various places. However, the clock sync delta can be negative. This would add a huge positive offset in clock_sync_global where clock_delta is added to clk.eitod which is a 72 bit integer. Declare it as signed long to fix this. Cc: stable@vger.kernel.org Signed-off-by: Sven Schnelle <svens@linux.ibm.com> Reviewed-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/cio.h')
-rw-r--r--arch/s390/include/asm/cio.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/include/asm/cio.h b/arch/s390/include/asm/cio.h
index 1effac6a0152..1c4f585dd39b 100644
--- a/arch/s390/include/asm/cio.h
+++ b/arch/s390/include/asm/cio.h
@@ -369,7 +369,7 @@ void cio_gp_dma_destroy(struct gen_pool *gp_dma, struct device *dma_dev);
struct gen_pool *cio_gp_dma_create(struct device *dma_dev, int nr_pages);
/* Function from drivers/s390/cio/chsc.c */
-int chsc_sstpc(void *page, unsigned int op, u16 ctrl, u64 *clock_delta);
+int chsc_sstpc(void *page, unsigned int op, u16 ctrl, long *clock_delta);
int chsc_sstpi(void *page, void *result, size_t size);
int chsc_stzi(void *page, void *result, size_t size);
int chsc_sgib(u32 origin);