Messages in this thread | | | From | Arnd Bergmann <> | Subject | Re: [PATCH 2/9] y2038: asm-generic: extend sysvipc data structures | Date | Thu, 21 May 2015 16:52:31 +0200 |
| |
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
| |