On Mon, 19 Aug 2019, Ingo Molnar wrote:
> * Thomas Gleixner <t...@linutronix.de> wrote:
> 
> > The RTIME limit expiry code does not check the hard RTTIME limit for
> > INFINITY, i.e. being disabled.  Add it.
> > 
> > Signed-off-by: Thomas Gleixner <t...@linutronix.de>
> > ---
> >  kernel/time/posix-cpu-timers.c |    2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > --- a/kernel/time/posix-cpu-timers.c
> > +++ b/kernel/time/posix-cpu-timers.c
> > @@ -905,7 +905,7 @@ static void check_process_timers(struct
> >             u64 softns, ptime = samples[CPUCLOCK_PROF];
> >             unsigned long psecs = div_u64(ptime, NSEC_PER_SEC);
> >  
> > -           if (psecs >= hard) {
> > +           if (hard != RLIM_INFINITY && psecs >= hard) {
> >                     /*
> >                      * At the hard limit, we just die.
> >                      * No need to calculate anything else now.
> 
> Might make sense to mark this as a possible ABI change in the changelog: 
> if some weird code learned to rely on this (arguably broken) behavior 
> then the bug turned into an ABI.

Will do, though that would be really interesting to see the offending
case. That limit is in seconds and RLIM_INFINITY is at least INT_MAX which
means 68 years. :)

I stumbled over it when I tried to consolidate that duplicated code in that
area. I'll amend the changelog to be more clear.

Thanks,

        tglx

Reply via email to