All of lore.kernel.org
 help / color / mirror / Atom feed
From: Guido Kiener <Guido.Kiener@rohde-schwarz.com>
To: Greg KH <gregkh@linuxfoundation.org>,
	"Zhang, Qiang" <Qiang.Zhang@windriver.com>
Cc: "stern@rowland.harvard.edu" <stern@rowland.harvard.edu>,
	"dvyukov@google.com" <dvyukov@google.com>,
	"paulmck@kernel.org" <paulmck@kernel.org>,
	"dpenkler@gmail.com" <dpenkler@gmail.com>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>
Subject: Re: [PATCH] USB: usbtmc: Fix RCU stall warning
Date: Wed, 21 Jul 2021 11:15:04 +0000	[thread overview]
Message-ID: <9cde635b5b5244d5971673612cc10acc@rohde-schwarz.com> (raw)

> -----Original Message-----
> From: Greg KH <gregkh@linuxfoundation.org>
> Sent: Wednesday, July 21, 2021 9:53 AM
> To: Zhang, Qiang <Qiang.Zhang@windriver.com>
> Cc: stern@rowland.harvard.edu; dvyukov@google.com; paulmck@kernel.org;
> dpenkler@gmail.com; Kiener Guido 14DS1 <Guido.Kiener@rohde-schwarz.com>;
> linux-usb@vger.kernel.org
> Subject: *EXT* Re: [PATCH] USB: usbtmc: Fix RCU stall warning
> 
> On Wed, Jul 21, 2021 at 07:30:39AM +0000, Zhang, Qiang wrote:
> >
> >
> > ________________________________________
> > From: Greg KH <gregkh@linuxfoundation.org>
> > Sent: Wednesday, 21 July 2021 15:08
> > To: Zhang, Qiang
> > Cc: stern@rowland.harvard.edu; dvyukov@google.com; paulmck@kernel.org;
> > dpenkler@gmail.com; guido.kiener@rohde-schwarz.com;
> > linux-usb@vger.kernel.org
> > Subject: Re: [PATCH] USB: usbtmc: Fix RCU stall warning
> >
> > [Please note: This e-mail is from an EXTERNAL e-mail address]
> >
> > On Tue, Jun 29, 2021 at 11:32:36AM +0800, qiang.zhang@windriver.com wrote:
> > > From: Zqiang <qiang.zhang@windriver.com>
> >
> > >I need a "full" name here, and in the signed-off-by line please.
> >
> > >
> > > rcu: INFO: rcu_preempt self-detected stall on CPU
> > > rcu:    1-...!: (2 ticks this GP) idle=d92/1/0x4000000000000000
> > >         softirq=25390/25392 fqs=3
> > >         (t=12164 jiffies g=31645 q=43226)
> > > rcu: rcu_preempt kthread starved for 12162 jiffies! g31645 f0x0
> > >      RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=0
> > > rcu:    Unless rcu_preempt kthread gets sufficient CPU time,
> > >         OOM is now expected behavior.
> > > rcu: RCU grace-period kthread stack dump:
> > > task:rcu_preempt     state:R  running task
> > >
> > > In the case of system use dummy_hcd as usb controller, when the
> > > usbtmc devices is disconnected, in usbtmc_interrupt(), if the urb
> > > status is unknown, the urb will be resubmit, the urb may be insert
> > > to dum_hcd->urbp_list again, this will cause the dummy_timer() not
> > > to exit for a long time, beacause the dummy_timer() be called in
> > > softirq and local_bh is disable, this not only causes the RCU
> > > reading critical area to consume too much time but also makes the
> > > tasks in the current CPU runq not run in time, and that triggered RCU stall.
> > >
> > > return directly when find the urb status is not zero to fix it.
> > >
> > > Reported-by: syzbot+e2eae5639e7203360018@syzkaller.appspotmail.com
> > > Signed-off-by: Zqiang <qiang.zhang@windriver.com>
> >
> > >What commit does this fix?  Does it need to go to stable kernels?
> >
> >  I will add fix tags resend,   need to go to stable kernel
> >
> > >
> > >What about the usbtmc maintainers, what do they think about this?

I'm ok with the fix. It will make the syzbot and dummy_hcd controller happy when using
the usbtmc driver. Nevertheless there are many other usb kernel driver that resubmit
the urb when the callback handler detects the urb status = -EPROTO.
So I expect the issue will rehappen with other usb drivers again.
In "normal" environments the urb status = -EPROTO will mostly happen when the cable is
disconnected, but it does not freeze the kernel and shuts down the connection as usual.
Up to now we have no customer feedback which is blaming this issue. I hope this helps.

-Guido

             reply	other threads:[~2021-07-21 11:41 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-21 11:15 Guido Kiener [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-07-22 17:33 [PATCH] USB: usbtmc: Fix RCU stall warning Guido Kiener
2021-07-23  0:36 ` Zhang, Qiang
2021-07-21 17:08 Guido Kiener
2021-07-21 18:16 ` Alan Stern
2021-07-21 15:24 Guido Kiener
2021-07-21 16:17 ` Alan Stern
2021-06-29  3:32 qiang.zhang
2021-07-07  1:29 ` Zhang, Qiang
2021-07-07  5:58   ` gregkh
2021-07-21  7:08 ` Greg KH
2021-07-21  7:30   ` Zhang, Qiang
2021-07-21  7:52     ` Greg KH
2021-07-21  8:28       ` Zhang, Qiang
2021-07-21  7:41   ` dave penkler
2021-07-21  7:52     ` Greg KH
2021-07-21  9:44       ` dave penkler
2021-07-21  9:47         ` Greg KH
2021-07-21 14:22         ` Alan Stern
2021-07-21  8:34     ` Zhang, Qiang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9cde635b5b5244d5971673612cc10acc@rohde-schwarz.com \
    --to=guido.kiener@rohde-schwarz.com \
    --cc=Qiang.Zhang@windriver.com \
    --cc=dpenkler@gmail.com \
    --cc=dvyukov@google.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=paulmck@kernel.org \
    --cc=stern@rowland.harvard.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.