On Fri, 2019-11-08 at 21:34 +0100, Arnd Bergmann wrote:
> The layout of struct timeval is different on sparc64 from
> anything else, and the patch I did long ago failed to take
> this into account.
>
> Change it now to handle sparc64 user space correctly again.
>
> Quite likely nobody cares
On Wed, Nov 20, 2019 at 8:13 PM Ben Hutchings
wrote:
>
> On Fri, 2019-11-08 at 21:34 +0100, Arnd Bergmann wrote:
> > On little-endian 32-bit application running on 64-bit kernels,
> > the current vdso would read the wrong half of the xtime seconds
> > field. Change it to return the lower half
On Fri, 2019-11-08 at 21:34 +0100, Arnd Bergmann wrote:
> On little-endian 32-bit application running on 64-bit kernels,
> the current vdso would read the wrong half of the xtime seconds
> field. Change it to return the lower half like it does on
> big-endian.
ppc64le doesn't have 32-bit compat
On Fri, 2019-11-08 at 21:34 +0100, Arnd Bergmann wrote:
> Going through the uses of timeval in the user space API,
> I noticed two bugs in ppdev that were introduced in the y2038
> conversion:
>
> * The range check was accidentally moved from ppsettime to
> ppgettime
>
> * On sparc64, the
On Fri, 2019-11-08 at 22:32 +0100, Arnd Bergmann wrote:
> The use of 'struct timespec' is deprecated in the kernel, so we
> want to avoid the conversions from/to the proper timespec64
> structure.
>
> On the user space side, we have a 'struct timespec' that is defined
> by the C library and that
On compat interfaces, the high order bits of nanoseconds should
be zeroed out. This is because the application code or the libc
do not guarantee zeroing of these. If used without zeroing,
kernel might be at risk of using timespec values incorrectly.
Originally it was handled correctly, but lost
On Wed, 2019-11-20 at 20:35 +0100, Arnd Bergmann wrote:
> On Wed, Nov 20, 2019 at 8:13 PM Ben Hutchings
> wrote:
> > On Fri, 2019-11-08 at 21:34 +0100, Arnd Bergmann wrote:
> > > On little-endian 32-bit application running on 64-bit kernels,
> > > the current vdso would read the wrong half of the
On Wed, 2019-11-20 at 20:46 +0100, Arnd Bergmann wrote:
> On Wed, Nov 20, 2019 at 8:27 PM Ben Hutchings
> wrote:
> > On Fri, 2019-11-08 at 21:34 +0100, Arnd Bergmann wrote:
> > > The layout of struct timeval is different on sparc64 from
> > > anything else, and the patch I did long ago failed to
On Fri, 2019-11-08 at 22:07 +0100, Arnd Bergmann wrote:
[...]
> --- a/kernel/time/time.c
> +++ b/kernel/time/time.c
> @@ -267,7 +267,7 @@ COMPAT_SYSCALL_DEFINE2(settimeofday, struct old_timeval32
> __user *, tv,
> }
> #endif
>
> -#if !defined(CONFIG_64BIT_TIME) || defined(CONFIG_64BIT)
>
On Wed, 2019-11-20 at 20:30 +, Ben Hutchings wrote:
> On Fri, 2019-11-08 at 22:32 +0100, Arnd Bergmann wrote:
> > The use of 'struct timespec' is deprecated in the kernel, so we
> > want to avoid the conversions from/to the proper timespec64
> > structure.
> >
> > On the user space side, we
On Fri, 2019-11-08 at 22:07 +0100, Arnd Bergmann wrote:
> The 'struct timespec' definition can no longer be part of the uapi headers
> because it conflicts with a a now incompatible libc definition. Also,
> we really want to remove it in order to prevent new uses from creeping in.
>
> The same
On Fri, 2019-11-08 at 22:07 +0100, Arnd Bergmann wrote:
[...]
> --- a/arch/powerpc/kernel/vdso32/gettimeofday.S
> +++ b/arch/powerpc/kernel/vdso32/gettimeofday.S
> @@ -15,10 +15,8 @@
> /* Offset for the low 32-bit part of a field of long type */
> #if defined(CONFIG_PPC64) &&
On Fri, 2019-11-08 at 22:07 +0100, Arnd Bergmann wrote:
[...]
> --- a/arch/x86/include/uapi/asm/sembuf.h
> +++ b/arch/x86/include/uapi/asm/sembuf.h
> @@ -21,9 +21,9 @@ struct semid64_ds {
> unsigned long sem_ctime; /* last change time */
> unsigned long sem_ctime_high;
>
On 11/20/19 10:28 PM, Ben Hutchings wrote:
> On Fri, 2019-11-08 at 22:07 +0100, Arnd Bergmann wrote:
> [...]
>> --- a/kernel/time/time.c
>> +++ b/kernel/time/time.c
>> @@ -267,7 +267,7 @@ COMPAT_SYSCALL_DEFINE2(settimeofday, struct
>> old_timeval32 __user *, tv,
>> }
>> #endif
>>
>> -#if
14 matches
Mail list logo