Re: [PATCH v2 2/2] vsock: Enable y2038 safe timeval for timeout

From: Richard Palethorpe
Date: Thu Oct 07 2021 - 14:07:58 EST


Hello Jakub,

Jakub Kicinski <kuba@xxxxxxxxxx> writes:

> On Thu, 7 Oct 2021 13:31:47 +0100 Richard Palethorpe wrote:
>> Reuse the timeval compat code from core/sock to handle 32-bit and
>> 64-bit timeval structures. Also introduce a new socket option define
>> to allow using y2038 safe timeval under 32-bit.
>>
>> The existing behavior of sock_set_timeout and vsock's timeout setter
>> differ when the time value is out of bounds. vsocks current behavior
>> is retained at the expense of not being able to share the full
>> implementation.
>>
>> This allows the LTP test vsock01 to pass under 32-bit compat mode.
>>
>> Fixes: fe0c72f3db11 ("socket: move compat timeout handling into sock.c")
>> Signed-off-by: Richard Palethorpe <rpalethorpe@xxxxxxxx>
>> Cc: Richard Palethorpe <rpalethorpe@xxxxxxxxxxxx>
>
> This breaks 32bit x86 build:
>
> ERROR: modpost: "__divdi3" [net/vmw_vsock/vsock.ko] undefined!
>
> If the 64 bit division is intention you need to use an appropriate
> helper.

Ah, sorry, that's why sock.c casts usecs to unsigned long. I will do
some more testing a reroll.

--
Thank you,
Richard.