Re: [syzbot] INFO: rcu detected stall in syscall_exit_to_user_mode

From: Dmitry Vyukov
Date: Thu Sep 16 2021 - 05:25:02 EST


On Wed, 15 Sept 2021 at 11:32, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>
> On Wed, Sep 15 2021 at 11:14, Dmitry Vyukov wrote:
> > On Wed, 15 Sept 2021 at 10:57, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> >> That made me actually look at that mac80211_hwsim callback again.
> >>
> >> hrtimer_forward(&data->beacon_timer, hrtimer_get_expires(timer),
> >> ns_to_ktime(bcn_int * NSEC_PER_USEC));
> >>
> >> So what this does is really wrong because it tries to schedule the timer
> >> on the theoretical periodic timeline. Which goes really south once the
> >> timer is late or the callback execution took longer than the
> >> period. Hypervisors scheduling out a VCPU at the wrong place will do
> >> that for you nicely.
> >
> > Nice!
> >
> > You mentioned that hrtimer_run_queues() may not return. Does it mean
> > that it can just loop executing the same re-armed callback again and
> > again? Maybe then the debug check condition should be that
> > hrtimer_run_queues() runs the same callback more than N times w/o
> > returning?
>
> Something like that.

I've filed https://bugzilla.kernel.org/show_bug.cgi?id=214429 so that
it's not lost. Thanks.