Hello everyone, On Sat, Apr 13, 2019 at 06:50:57PM +0200, Julia Lawall wrote: > Hello, > > Kirill will explain about this issue.
pci/switchtec switching to stream_open is already queued to merge window and it was acked by Logan Gunthorpe: https://lore.kernel.org/lkml/CAHk-=wgqgN5j1ZWnyVLqqoyU=ccwtyoko3mdyu8l_5e21kv...@mail.gmail.com/ https://lab.nexedi.com/kirr/linux/commit/edaeb4101860 ( there are too many Cc's in that patch and email with it and reply-all to it did not get into mailing list probably due to being considered as spam ) stream_open.cocci was issuing only warning for pci/switchtec, but after 8a29a3bae2a2 ("pci/switchtec: Don't use completion's wait queue") they started to use wait_even_* inside read method and, since stream_open.cocci considers wait_event_* as blocking the warning became error. Previously it was completions there, but I added support for wait events only for simplicity. I can handle pci/switchtec switching via big nonseekable_open -> stream_open change at next merge window, or, alternatively please feel free to switch pci/switchtec now on its own. The change is correct - I was manually reviewing all changes that stream_open.cocci produces and pci/switchtec was there. Kirill > julia > > ---------- Forwarded message ---------- > Date: Sat, 13 Apr 2019 11:22:51 +0800 > From: kbuild test robot <l...@intel.com> > To: kbu...@01.org > Cc: Julia Lawall <julia.law...@lip6.fr> > Subject: [PATCH] pci/switchtec: fix stream_open.cocci warnings > > CC: kbuild-...@01.org > TO: Sebastian Andrzej Siewior <bige...@linutronix.de> > CC: Kurt Schwemmer <kurt.schwem...@microsemi.com> > CC: Logan Gunthorpe <log...@deltatee.com> > CC: Bjorn Helgaas <helg...@kernel.org> > CC: linux-...@vger.kernel.org > CC: linux-kernel@vger.kernel.org > > From: kbuild test robot <l...@intel.com> > > drivers/pci/switch/switchtec.c:395:1-17: ERROR: switchtec_fops: .read() can > deadlock .write(); change nonseekable_open -> stream_open to fix. > > Generated by: scripts/coccinelle/api/stream_open.cocci > > Fixes: 8a29a3bae2a2 ("pci/switchtec: Don't use completion's wait queue") > Signed-off-by: kbuild test robot <l...@intel.com> > --- > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git > linux-5.0.y-rt-rebase > head: 794c294ae4483c240429c25a0d18e272e92c94de > commit: 8a29a3bae2a2dfb0116cd8791d9700515d6e765e [154/311] pci/switchtec: > Don't use completion's wait queue > :::::: branch date: 7 hours ago > :::::: commit date: 7 hours ago > > Please take the patch only if it's a positive warning. Thanks! > > switchtec.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > --- a/drivers/pci/switch/switchtec.c > +++ b/drivers/pci/switch/switchtec.c > @@ -392,7 +392,7 @@ static int switchtec_dev_open(struct ino > return PTR_ERR(stuser); > > filp->private_data = stuser; > - nonseekable_open(inode, filp); > + stream_open(inode, filp); > > dev_dbg(&stdev->dev, "%s: %p\n", __func__, stuser);