From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: MIME-Version: 1.0 References: <3820d68b-1d97-8f41-d55d-237d1695458c@cambridgegreys.com> In-Reply-To: From: Arnd Bergmann Date: Fri, 29 Nov 2019 16:17:45 +0100 Message-ID: Subject: Re: 64 bit time regression in recvmmsg() Content-Type: text/plain; charset="UTF-8" To: Geert Uytterhoeven Cc: Anton Ivanov , linux-um List-ID: On Fri, Nov 29, 2019 at 4:05 PM Geert Uytterhoeven wrote: > On Fri, Nov 29, 2019 at 3:34 PM Anton Ivanov > wrote: > > Unfortunately, it looks like the recent year 2038 have broken > > compatibility for one particular syscall interface we use - recvmmsg. > > > > The host now occasionally returns -22 (EINVAL) and the only way I see > > for this to happen looking at the source is if when it gets something > > bogus as a timeout. > > > > I think I have eliminated all other possible sources for this error. > > > > The picture can be observed when using a 64 bit host 5.2 kernel on a > > Debian 64 bit buster userspace (glibc compiled vs 4.19 headers). > > > > The code as it is written at present retries and by sheer luck and > > perseverance it manages to work, but this needs to be fixed. I only see a single call to recvmmsg() in arch/um, in uml_vector_recvmmsg(), and this passes a NULL timeout pointer, is this the one that broke or should I be looking at something else? Do I understand you right that the regression is on a pure 64-bit system? Arnd