summaryrefslogtreecommitdiffstats
path: root/arch/s390
diff options
context:
space:
mode:
authorHeiko Carstens <hca@linux.ibm.com>2021-03-23 21:40:11 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-04-07 15:00:10 +0200
commitb332265430c8d6bf1a99fec489a38d954fd0ef72 (patch)
tree12d3cfa6632f76d8ad8c4d8e0f410bf842ad7be4 /arch/s390
parentf706acc9312b9bad5dd49f0733d9dc7ca3de8c01 (diff)
downloadlinux-stable-b332265430c8d6bf1a99fec489a38d954fd0ef72.tar.gz
linux-stable-b332265430c8d6bf1a99fec489a38d954fd0ef72.tar.bz2
linux-stable-b332265430c8d6bf1a99fec489a38d954fd0ef72.zip
s390/vdso: copy tod_steering_delta value to vdso_data page
commit 72bbc226ed2ef0a46c165a482861fff00dd6d4e1 upstream. When converting the vdso assembler code to C it was forgotten to actually copy the tod_steering_delta value to vdso_data page. Which in turn means that tod clock steering will not work correctly. Fix this by simply copying the value whenever it is updated. Fixes: 4bff8cb54502 ("s390: convert to GENERIC_VDSO") Cc: <stable@vger.kernel.org> # 5.10 Signed-off-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/kernel/time.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c
index 0ac30ee2c633..b6517453fa23 100644
--- a/arch/s390/kernel/time.c
+++ b/arch/s390/kernel/time.c
@@ -398,6 +398,7 @@ static void clock_sync_global(unsigned long long delta)
tod_steering_delta);
tod_steering_end = now + (abs(tod_steering_delta) << 15);
vdso_data->arch_data.tod_steering_end = tod_steering_end;
+ vdso_data->arch_data.tod_steering_delta = tod_steering_delta;
/* Update LPAR offset. */
if (ptff_query(PTFF_QTO) && ptff(&qto, sizeof(qto), PTFF_QTO) == 0)