[Letux-kernel] MIPS: bug: gettimeofday syscall broken on CI20 board

H. Nikolaus Schaller hns at goldelico.com
Thu Nov 28 13:11:35 CET 2019


> Am 28.11.2019 um 12:51 schrieb Vincenzo Frascino <vincenzo.frascino at arm.com>:
> 
> 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



More information about the Letux-kernel mailing list