Re: MIPS: bug: gettimeofday syscall broken on CI20 board

From: H. Nikolaus Schaller
Date: Thu Nov 28 2019 - 07:11:52 EST



> Am 28.11.2019 um 12:51 schrieb Vincenzo Frascino <vincenzo.frascino@xxxxxxx>:
>
> Hi Nikolaus,
>
> On 27/11/2019 13:53, H. Nikolaus Schaller wrote:
> [...]
>
>>> vdso_data and mips_vdso_data before are not part of the ABI hence they are not
>>> bind by a contract with the userspace.
>>>
>>> This means that they can change at any point and if a userspace software relies
>>> on a specific layout of these data structures is doing something wrong.
>>
>> Maybe the libs are clever enough to find that out dynamically but I have no
>> idea about how gettimeofday() and user-space VDSO is implemented to handle such
>> changes.
>>
> As I said userspace applications and libraries should not rely on the layout of
> vdso_data because this is not part of the ABI.
>
> The only thing that userspace requires is to "know" that gettimeofday() exists,
> than it is gettimeofday() that internally accesses the data structure.

Well, with user-space I include the lib that provides the gettimeofday() syscall
and reads out the memory region where the VDSO data structure is provided by the
kernel. And that part comes from Debian. Somehow it does differently with 4.19
than 5.4. So I summarise all non-kernel code with the term "user-space".

BR,
Nikolaus