diff options
Diffstat (limited to 'arch/x86/vdso')
-rw-r--r-- | arch/x86/vdso/vclock_gettime.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/arch/x86/vdso/vclock_gettime.c b/arch/x86/vdso/vclock_gettime.c index e6e9f90a8cd7..a69929e8bfdb 100644 --- a/arch/x86/vdso/vclock_gettime.c +++ b/arch/x86/vdso/vclock_gettime.c | |||
@@ -180,12 +180,8 @@ notrace time_t __vdso_time(time_t *t) | |||
180 | if (unlikely(!VVAR(vsyscall_gtod_data).sysctl_enabled)) | 180 | if (unlikely(!VVAR(vsyscall_gtod_data).sysctl_enabled)) |
181 | return time_syscall(t); | 181 | return time_syscall(t); |
182 | 182 | ||
183 | do { | 183 | /* This is atomic on x86_64 so we don't need any locks. */ |
184 | seq = read_seqbegin(&VVAR(vsyscall_gtod_data).lock); | 184 | result = ACCESS_ONCE(VVAR(vsyscall_gtod_data).wall_time_sec); |
185 | |||
186 | result = VVAR(vsyscall_gtod_data).wall_time_sec; | ||
187 | |||
188 | } while (read_seqretry(&VVAR(vsyscall_gtod_data).lock, seq)); | ||
189 | 185 | ||
190 | if (t) | 186 | if (t) |
191 | *t = result; | 187 | *t = result; |