Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1458903 > unrolled thread

drivers/spi/spi.c:1160:3-9: preceding lock on line 1153

Started byJulia Lawall <julia.lawall@lip6.fr>
First post2016-08-09 18:20 +0200
Last post2016-08-09 18:50 +0200
Articles 4 — 2 participants

Back to article view | Back to linux.kernel


Contents

  drivers/spi/spi.c:1160:3-9: preceding lock on line 1153  Julia Lawall <julia.lawall@lip6.fr> - 2016-08-09 18:20 +0200
    Re: drivers/spi/spi.c:1160:3-9: preceding lock on line 1153 Mark Brown <broonie@kernel.org> - 2016-08-09 18:40 +0200
      Re: drivers/spi/spi.c:1160:3-9: preceding lock on line 1153 Julia Lawall <julia.lawall@lip6.fr> - 2016-08-09 18:40 +0200
        Re: drivers/spi/spi.c:1160:3-9: preceding lock on line 1153 Mark Brown <broonie@kernel.org> - 2016-08-09 18:50 +0200

#1458903 — drivers/spi/spi.c:1160:3-9: preceding lock on line 1153

FromJulia Lawall <julia.lawall@lip6.fr>
Date2016-08-09 18:20 +0200
Subjectdrivers/spi/spi.c:1160:3-9: preceding lock on line 1153
Message-ID<s4hV0-1tf-19@gated-at.bofh.it>
Looks worth checking.

julia

---------- Forwarded message ----------
Date: Wed, 10 Aug 2016 00:17:07 +0800
From: kbuild test robot <fengguang.wu@intel.com>
To: kbuild@01.org
Cc: Julia Lawall <julia.lawall@lip6.fr>
Subject: drivers/spi/spi.c:1160:3-9: preceding lock on line 1153

CC: kbuild-all@01.org
CC: linux-kernel@vger.kernel.org
TO: Mark Brown <broonie@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   81abf2525827b29839a78fd55ab0699f033c41a5
commit: ef4d96ec4ad947360f48677b6007a4c77953b090 spi: Split bus and I/O locking
date:   2 weeks ago
:::::: branch date: 18 hours ago
:::::: commit date: 2 weeks ago

>> drivers/spi/spi.c:1160:3-9: preceding lock on line 1153

git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout ef4d96ec4ad947360f48677b6007a4c77953b090
vim +1160 drivers/spi/spi.c

ffbbdd213 Linus Walleij 2012-02-22  1147  	if (master->busy)
ffbbdd213 Linus Walleij 2012-02-22  1148  		was_busy = true;
ffbbdd213 Linus Walleij 2012-02-22  1149  	else
ffbbdd213 Linus Walleij 2012-02-22  1150  		master->busy = true;
ffbbdd213 Linus Walleij 2012-02-22  1151  	spin_unlock_irqrestore(&master->queue_lock, flags);
ffbbdd213 Linus Walleij 2012-02-22  1152
ef4d96ec4 Mark Brown    2016-07-21 @1153  	mutex_lock(&master->io_mutex);
ef4d96ec4 Mark Brown    2016-07-21  1154
49834de23 Mark Brown    2013-07-28  1155  	if (!was_busy && master->auto_runtime_pm) {
49834de23 Mark Brown    2013-07-28  1156  		ret = pm_runtime_get_sync(master->dev.parent);
49834de23 Mark Brown    2013-07-28  1157  		if (ret < 0) {
49834de23 Mark Brown    2013-07-28  1158  			dev_err(&master->dev, "Failed to power device: %d\n",
49834de23 Mark Brown    2013-07-28  1159  				ret);
49834de23 Mark Brown    2013-07-28 @1160  			return;
49834de23 Mark Brown    2013-07-28  1161  		}
49834de23 Mark Brown    2013-07-28  1162  	}
49834de23 Mark Brown    2013-07-28  1163

:::::: The code at line 1160 was first introduced by commit
:::::: 49834de234f3cf592c3d242c889ca603db8e7050 spi: Provide core support for runtime PM during transfers

:::::: TO: Mark Brown <broonie@linaro.org>
:::::: CC: Mark Brown <broonie@linaro.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[toc] | [next] | [standalone]


#1458936

FromMark Brown <broonie@kernel.org>
Date2016-08-09 18:40 +0200
Message-ID<s4iem-1Aq-67@gated-at.bofh.it>
In reply to#1458903

[Multipart message — attachments visible in raw view] — view raw

On Tue, Aug 09, 2016 at 06:19:13PM +0200, Julia Lawall wrote:

> Looks worth checking.

I don't really have any idea what this is trying to tell me, sorry.

> 
> julia
> 
> ---------- Forwarded message ----------
> Date: Wed, 10 Aug 2016 00:17:07 +0800
> From: kbuild test robot <fengguang.wu@intel.com>
> To: kbuild@01.org
> Cc: Julia Lawall <julia.lawall@lip6.fr>
> Subject: drivers/spi/spi.c:1160:3-9: preceding lock on line 1153
> 
> CC: kbuild-all@01.org
> CC: linux-kernel@vger.kernel.org
> TO: Mark Brown <broonie@kernel.org>
> 
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   81abf2525827b29839a78fd55ab0699f033c41a5
> commit: ef4d96ec4ad947360f48677b6007a4c77953b090 spi: Split bus and I/O locking
> date:   2 weeks ago
> :::::: branch date: 18 hours ago
> :::::: commit date: 2 weeks ago
> 
> >> drivers/spi/spi.c:1160:3-9: preceding lock on line 1153
> 
> git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> git remote update linus
> git checkout ef4d96ec4ad947360f48677b6007a4c77953b090
> vim +1160 drivers/spi/spi.c
> 
> ffbbdd213 Linus Walleij 2012-02-22  1147  	if (master->busy)
> ffbbdd213 Linus Walleij 2012-02-22  1148  		was_busy = true;
> ffbbdd213 Linus Walleij 2012-02-22  1149  	else
> ffbbdd213 Linus Walleij 2012-02-22  1150  		master->busy = true;
> ffbbdd213 Linus Walleij 2012-02-22  1151  	spin_unlock_irqrestore(&master->queue_lock, flags);
> ffbbdd213 Linus Walleij 2012-02-22  1152
> ef4d96ec4 Mark Brown    2016-07-21 @1153  	mutex_lock(&master->io_mutex);
> ef4d96ec4 Mark Brown    2016-07-21  1154
> 49834de23 Mark Brown    2013-07-28  1155  	if (!was_busy && master->auto_runtime_pm) {
> 49834de23 Mark Brown    2013-07-28  1156  		ret = pm_runtime_get_sync(master->dev.parent);
> 49834de23 Mark Brown    2013-07-28  1157  		if (ret < 0) {
> 49834de23 Mark Brown    2013-07-28  1158  			dev_err(&master->dev, "Failed to power device: %d\n",
> 49834de23 Mark Brown    2013-07-28  1159  				ret);
> 49834de23 Mark Brown    2013-07-28 @1160  			return;
> 49834de23 Mark Brown    2013-07-28  1161  		}
> 49834de23 Mark Brown    2013-07-28  1162  	}
> 49834de23 Mark Brown    2013-07-28  1163
> 
> :::::: The code at line 1160 was first introduced by commit
> :::::: 49834de234f3cf592c3d242c889ca603db8e7050 spi: Provide core support for runtime PM during transfers
> 
> :::::: TO: Mark Brown <broonie@linaro.org>
> :::::: CC: Mark Brown <broonie@linaro.org>
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[toc] | [prev] | [next] | [standalone]


#1458941

FromJulia Lawall <julia.lawall@lip6.fr>
Date2016-08-09 18:40 +0200
Message-ID<s4iem-1Aq-75@gated-at.bofh.it>
In reply to#1458936

On Tue, 9 Aug 2016, Mark Brown wrote:

> On Tue, Aug 09, 2016 at 06:19:13PM +0200, Julia Lawall wrote:
>
> > Looks worth checking.
>
> I don't really have any idea what this is trying to tell me, sorry.

The important lines are the ones with the @.  Line 1153 takes a lock and
in line 1160 there is a return in error handling code with the lock still
held.  The semantic patch that reported this should also only give a
report if there is some patch out of the function that releases the lock.
Overall, it seems unusual to keep the lock in an error case.

julia

>
> >
> > julia
> >
> > ---------- Forwarded message ----------
> > Date: Wed, 10 Aug 2016 00:17:07 +0800
> > From: kbuild test robot <fengguang.wu@intel.com>
> > To: kbuild@01.org
> > Cc: Julia Lawall <julia.lawall@lip6.fr>
> > Subject: drivers/spi/spi.c:1160:3-9: preceding lock on line 1153
> >
> > CC: kbuild-all@01.org
> > CC: linux-kernel@vger.kernel.org
> > TO: Mark Brown <broonie@kernel.org>
> >
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > head:   81abf2525827b29839a78fd55ab0699f033c41a5
> > commit: ef4d96ec4ad947360f48677b6007a4c77953b090 spi: Split bus and I/O locking
> > date:   2 weeks ago
> > :::::: branch date: 18 hours ago
> > :::::: commit date: 2 weeks ago
> >
> > >> drivers/spi/spi.c:1160:3-9: preceding lock on line 1153
> >
> > git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> > git remote update linus
> > git checkout ef4d96ec4ad947360f48677b6007a4c77953b090
> > vim +1160 drivers/spi/spi.c
> >
> > ffbbdd213 Linus Walleij 2012-02-22  1147  	if (master->busy)
> > ffbbdd213 Linus Walleij 2012-02-22  1148  		was_busy = true;
> > ffbbdd213 Linus Walleij 2012-02-22  1149  	else
> > ffbbdd213 Linus Walleij 2012-02-22  1150  		master->busy = true;
> > ffbbdd213 Linus Walleij 2012-02-22  1151  	spin_unlock_irqrestore(&master->queue_lock, flags);
> > ffbbdd213 Linus Walleij 2012-02-22  1152
> > ef4d96ec4 Mark Brown    2016-07-21 @1153  	mutex_lock(&master->io_mutex);
> > ef4d96ec4 Mark Brown    2016-07-21  1154
> > 49834de23 Mark Brown    2013-07-28  1155  	if (!was_busy && master->auto_runtime_pm) {
> > 49834de23 Mark Brown    2013-07-28  1156  		ret = pm_runtime_get_sync(master->dev.parent);
> > 49834de23 Mark Brown    2013-07-28  1157  		if (ret < 0) {
> > 49834de23 Mark Brown    2013-07-28  1158  			dev_err(&master->dev, "Failed to power device: %d\n",
> > 49834de23 Mark Brown    2013-07-28  1159  				ret);
> > 49834de23 Mark Brown    2013-07-28 @1160  			return;
> > 49834de23 Mark Brown    2013-07-28  1161  		}
> > 49834de23 Mark Brown    2013-07-28  1162  	}
> > 49834de23 Mark Brown    2013-07-28  1163
> >
> > :::::: The code at line 1160 was first introduced by commit
> > :::::: 49834de234f3cf592c3d242c889ca603db8e7050 spi: Provide core support for runtime PM during transfers
> >
> > :::::: TO: Mark Brown <broonie@linaro.org>
> > :::::: CC: Mark Brown <broonie@linaro.org>
> >
> > ---
> > 0-DAY kernel test infrastructure                Open Source Technology Center
> > https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
>

[toc] | [prev] | [next] | [standalone]


#1458961

FromMark Brown <broonie@kernel.org>
Date2016-08-09 18:50 +0200
Message-ID<s4io2-1E1-25@gated-at.bofh.it>
In reply to#1458941

[Multipart message — attachments visible in raw view] — view raw

On Tue, Aug 09, 2016 at 06:35:06PM +0200, Julia Lawall wrote:
> On Tue, 9 Aug 2016, Mark Brown wrote:
> > On Tue, Aug 09, 2016 at 06:19:13PM +0200, Julia Lawall wrote:

> > > Looks worth checking.

> > I don't really have any idea what this is trying to tell me, sorry.

> The important lines are the ones with the @.  Line 1153 takes a lock and
> in line 1160 there is a return in error handling code with the lock still
> held.  The semantic patch that reported this should also only give a
> report if there is some patch out of the function that releases the lock.
> Overall, it seems unusual to keep the lock in an error case.

I'm not sure how I'm supposed to identify that from the message to be
honest - I'd expect something that more directly referenced both lines
and ideally said something like "lock held when returning".  But yes, it
does look like an issue thanks.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web