[PATCH 2/9] y2038: asm-generic: extend sysvipc data structures
Arnd Bergmann
arnd@arndb.de
Thu May 21 16:04:00 GMT 2015
On Thursday 21 May 2015 10:56:34 Geert Uytterhoeven wrote:
> > + * value using
> > + *
> > + * user_semid_ds.sem_otime = kernel_semid64_ds.sem_otime +
> > + * (long long)(kernel_semid64_ds.sem_otime_high << 32)
>
> The cast to "long long" should be inside the parentheses, to promote the
> (32-bit) sem_otime_high to a first 64-bit integer first.
> Else it will be shifted into oblivion (oh no, C undefined behavior).
>
>
Fixed now to say
* user_semid_ds.sem_otime = kernel_semid64_ds.sem_otime +
* ((long long)kernel_semid64_ds.sem_otime_high << 32)
Thanks!
Arnd
More information about the Libc-alpha
mailing list