On Mon, Jun 18, 2018 at 12:06:46PM +0200, Arnd Bergmann wrote:
> The machine check timestamp uses get_seconds(), which returns an 'unsigned 
> long'
> number that might overflow on 32-bit architectures (in the distant future)
> and is therefore deprecated.
> 
> The normal replacement would be ktime_get_real_seconds(), but that needs to
> use a sequence lock that might cause a deadlock if the mce happens at just
> the wrong moment. The __ktime_get_real_seconds() skips that lock and is
> safer here, but has a miniscule risk of returning the wrong time when we read
> it on a 32-bit architecture at the same time as updating the epoch, i.e.
> from before y2106 overflow time to after, or vice versa.
> 
> This seems to be an acceptable risk in this particular case, and is the
> same thing we do in kdb.
> 
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
>  arch/x86/kernel/cpu/mcheck/mce.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Applied, thanks.

-- 
Regards/Gruss,
    Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.
_______________________________________________
Y2038 mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/y2038

Reply via email to