[LTP] [PATCH] futex_wake04: avoid tst_ts_from_ns overflow on 32-bit platforms

Cyril Hrubis chrubis@suse.cz
Wed Jun 9 15:38:05 CEST 2021


Hi!
> > Good catch, I guess that it would be slightly cleaner to fix the
> > NSEC_PER_SEC size instead with:
> > 
> > diff --git a/include/lapi/common_timers.h b/include/lapi/common_timers.h
> > index b783beff4..e50f698d6 100644
> > --- a/include/lapi/common_timers.h
> > +++ b/include/lapi/common_timers.h
> > @@ -12,7 +12,7 @@
> >  #include "lapi/posix_clocks.h"
> > 
> >  #ifndef NSEC_PER_SEC
> > -#define NSEC_PER_SEC (1000000000L)
> > +#define NSEC_PER_SEC (1000000000LL)
> >  #endif
> > 
> >  static const clock_t clock_list[] = {
> > 
> > 
> > What do you think?
> > 
> > -- 
> > Cyril Hrubis
> > chrubis@suse.cz
> 
> Yeah, I even wrote and tested that it would build, but I wasn't able to go
> through any build logs or run complete tests.
> 
> But maybe I am just overthinking this, and any promotions due to this would
> only fix issues and not introduce any new ones.

That would be my expectation.

> Well, on second thought, on 32-bit, in cases like variadic functions, it could
> cause a problem. So, I am just afraid that applying this fix without looking
> for every use of NSEC_PER_SEC might lead to new bugs.

Having a look at 'git grep NSEC_PER_SEC' there are five uses of
NSEC_PER_SEC and all of these should be, as far as I can tell, safe.

-- 
Cyril Hrubis
chrubis@suse.cz


More information about the ltp mailing list