Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bdba0051 authored by Will Deacon's avatar Will Deacon Committed by Catalin Marinas
Browse files

arm64: vdso: remove broken, redundant sequence counting for timezones



This patch is an arm64 version of ce73ec6d ("powerpc/vdso: Remove
redundant locking in update_vsyscall_tz()").

Timezone data is not protected, so the sequence counter is not required
to ensure consistency. Furthermore, having multiple paths updating the
counter leads to a race between update_vsyscall and update_vsyscall_tz,
so remove the timezone sequence counting from both the kernel and the
vdso.

Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent 9931faca
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -252,10 +252,6 @@ void update_vsyscall(struct timekeeper *tk)

void update_vsyscall_tz(void)
{
	++vdso_data->tb_seq_count;
	smp_wmb();
	vdso_data->tz_minuteswest	= sys_tz.tz_minuteswest;
	vdso_data->tz_dsttime		= sys_tz.tz_dsttime;
	smp_wmb();
	++vdso_data->tb_seq_count;
}
+0 −2
Original line number Diff line number Diff line
@@ -73,8 +73,6 @@ ENTRY(__kernel_gettimeofday)
	/* If tz is NULL, return 0. */
	cbz	x1, 3f
	ldp	w4, w5, [vdso_data, #VDSO_TZ_MINWEST]
	seqcnt_read w9
	seqcnt_check w9, 1b
	stp	w4, w5, [x1, #TZ_MINWEST]
3:
	mov	x0, xzr