> On Dec 29, 2018, at 10:35 AM, Deepa Dinamani <deepa.ker...@gmail.com> wrote:
> 
> The usec part of the timeval is defined as
> __kernel_suseconds_t    tv_usec; /* microseconds */
> 
> Arnd noticed that sparc64 is the only architecture
> that defines __kernel_suseconds_t as int rather than long.
> 
> This breaks the current y2038 fix for kernel as we only
> access and define the timeval struct for non-kernel use cases.
> But, this was hidden by an another typo in the use of __KERNEL__
> qualifier.
> 
> Fix the typo, and provide an override for sparc64.
> 
> Fixes: 152194fe9c3f ("Input: extend usable life of event timestamps to 2106 
> on 32 bit systems")
> Reported-by: Arnd Bergmann <a...@arndb.de>
> Signed-off-by: Deepa Dinamani <deepa.ker...@gmail.com>
> ---
> include/uapi/linux/input.h | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/include/uapi/linux/input.h b/include/uapi/linux/input.h
> index fb78f6f500f3..ffab958bc512 100644
> --- a/include/uapi/linux/input.h
> +++ b/include/uapi/linux/input.h
> @@ -26,13 +26,17 @@
>  */
> 
> struct input_event {
> -#if (__BITS_PER_LONG != 32 || !defined(__USE_TIME_BITS64)) && 
> !defined(__KERNEL)
> +#if (__BITS_PER_LONG != 32 || !defined(__USE_TIME_BITS64)) && 
> !defined(__KERNEL__)
>    struct timeval time;
> #define input_event_sec time.tv_sec
> #define input_event_usec time.tv_usec
> #else
>    __kernel_ulong_t __sec;
> +#ifdef CONFIG_SPARC64
> +    unsigned int __usec;
> +#else
>    __kernel_ulong_t __usec;
> +#endif
> #define input_event_sec  __sec
> #define input_event_usec __usec
> #endif
> -- 
> 2.17.1

Ping.


This is required for the proper functioning of the y2038 additions to input 
event.

-Deepa 
_______________________________________________
Y2038 mailing list
Y2038@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/y2038

Reply via email to