Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

+1
+1
arch/s390/kernel/time.c
··· 382 382 tod_steering_delta); 383 383 tod_steering_end = now + (abs(tod_steering_delta) << 15); 384 384 vdso_data->arch_data.tod_steering_end = tod_steering_end; 385 + vdso_data->arch_data.tod_steering_delta = tod_steering_delta; 385 386 386 387 /* Update LPAR offset. */ 387 388 if (ptff_query(PTFF_QTO) && ptff(&qto, sizeof(qto), PTFF_QTO) == 0)