Arul, On Fri, 16 Aug 2019, arul.jeniston@xxxxxxxxx wrote: Please write the subject as a short precise sentence which fits into 70 characters and put the long explanation into the body, i.e. here. See Documentation/process/submitting-patches.rst > From: ARUL JENISTON MC <arul.jeniston@xxxxxxxxx> This lacks a Signed-off-by > --- > fs/timerfd.c | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/fs/timerfd.c b/fs/timerfd.c > index 6a6fc8aa1de7..f5094e070e9a 100644 > --- a/fs/timerfd.c > +++ b/fs/timerfd.c > @@ -284,8 +284,16 @@ static ssize_t timerfd_read(struct file *file, char __user *buf, size_t count, > &ctx->t.alarm, ctx->tintv) - 1; > alarm_restart(&ctx->t.alarm); > } else { > - ticks += hrtimer_forward_now(&ctx->t.tmr, > - ctx->tintv) - 1; > + u64 nooftimeo = hrtimer_forward_now(&ctx->t.tmr, > + ctx->tintv); > + /* > + * ticks shouldn't become zero at this point. > + * Ignore if hrtimer_forward_now returns 0 > + * due to larger backward time drift. > + */ What? Backward time drift? Can you please explain how this would happen? > + if (likely(nooftimeo)) { > + ticks += nooftimeo - 1; > + } Pointless brackets. Thanks, tglx