lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 22 Jun 2017 15:56:39 +0200 (CEST)
From:   Thomas Gleixner <tglx@...utronix.de>
To:     Zhenzhong Duan <zhenzhong.duan@...cle.com>
cc:     mingo@...hat.com, hpa@...or.com, x86@...nel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH RESEND] Calling check_system_tsc_reliable() before
 unsynchronized_tsc()

Zhenzhong,

On Wed, 21 Jun 2017, Zhenzhong Duan wrote:

So the patch format is now correct, but the subject line is missing a
proper subsystem prefix. Please use 'git log 'path/to/patched/file' next
time to see what the usually used prefix for a file is.

In this case it's:   x86/tsc

Also please do not use [PATCH RESEND] when your patch is different from the
version you sent before. Please use [PATCH v2] instead.

> unsynchronized_tsc() checks value of tsc_clocksource_reliable which is set by
> check_system_tsc_reliable(). It's better to move check_system_tsc_reliable() at
> front.

Please make your statements affirmative. 'It's better' is a weak expression.

> Though X86_FEATURE_CONSTANT_TSC is usually set for TSC reliable system, just in
> case.

So what you wanted to say here is:

   tsc_clocksource_reliable is initialized in check_system_tsc_reliable(),
   but it is checked in unsynchronized_tsc() which is called before the
   initialization.

   In practice that's not an issue because systems which mark the TSC
   reliable have X86_FEATURE_CONSTANT_TSC set as well, which is evaluated
   in unsynchronized_tsc() before tsc_clocksource_reliable.

   Reorder the calls so initialization happens before usage.

All this information is also documented in Documentation/process/.

No need to resend. I'll fix it up for you this time. 
 
Thanks,

	tglx

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ