Thread (8 messages) 8 messages, 4 authors, 2019-04-29

Re: [PATCH 1/2] y2038: make CONFIG_64BIT_TIME unconditional

From: Arnd Bergmann <arnd@arndb.de>
Date: 2019-04-29 13:22:21
Also in: lkml

On Mon, Apr 29, 2019 at 9:34 AM Thomas Gleixner [off-list ref] wrote:
On Fri, 26 Apr 2019, Arnd Bergmann wrote:
quoted
As Stepan Golosunov points out, we made a small mistake in the
get_timespec64() function in the kernel. It was originally added under
the assumption that CONFIG_64BIT_TIME would get enabled on all 32-bit
and 64-bit architectures, but when I did the conversion, I only turned
it on for 32-bit ones.

The effect is that the get_timespec64() function never clears the upper
half of the tv_nsec field for 32-bit tasks in compat mode. Clearing this
is required for POSIX compliant behavior of functions that pass a
'timespec' structure with a 64-bit tv_sec and a 32-bit tv_nsec, plus
uninitialized padding.

The easiest fix for linux-5.1 is to just make the Kconfig symbol
unconditional, as it was originally intended. As a follow-up,
we should remove any #ifdef CONFIG_64BIT_TIME completely.

Link: https://lore.kernel.org/lkml/20190422090710.bmxdhhankurhafxq@sghpc.golosunov.pp.ru/ (local)
Cc: Lukasz Majewski <lukma@denx.de>
Cc: Stepan Golosunov <redacted>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
Please apply this one as a bugfix for 5.1
Can you provide a 'Fixes: ....' tag please?
Ok, resent both patches now. I also took the chance to add a clarification
for the point that Lukasz missed on the first submission.

       Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help