diff options
author | Heiko Carstens <hca@linux.ibm.com> | 2021-03-23 21:40:11 +0100 |
---|---|---|
committer | Heiko Carstens <hca@linux.ibm.com> | 2021-03-25 21:57:25 +0100 |
commit | 72bbc226ed2ef0a46c165a482861fff00dd6d4e1 (patch) | |
tree | a0f30b25392fb76bb59424f4c4d8837b63b6bab2 /arch/s390 | |
parent | 0d02ec6b3136c73c09e7859f0d0e4e2c4c07b49b (diff) |
s390/vdso: copy tod_steering_delta value to vdso_data page
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>
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/kernel/time.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c index 165da961f901..e37285a5101b 100644 --- a/arch/s390/kernel/time.c +++ b/arch/s390/kernel/time.c @@ -382,6 +382,7 @@ static void clock_sync_global(unsigned 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) |