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

From: Vincenzo Frascino
Date: Thu Nov 28 2019 - 07:21:09 EST


On 28/11/2019 12:11, H. Nikolaus Schaller wrote:
>
>> 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".
>

The the lib that provides the gettimeofday() changes accordingly with vdso_data.
5.4 and 4.19 have 2 different vdso libraries as well.

> BR,
> Nikolaus
>

--
Regards,
Vincenzo

Attachment: pEpkey.asc
Description: application/pgp-keys