__wait_event_interruptible_lock_irq_timeout() needs the timeout parameter passed instead of "ret". This magically compiled since the only user has a local ret variable. Luckily we got a build warning: CC drivers/s390/scsi/zfcp_qdio.o drivers/s390/scsi/zfcp_qdio.c: In function 'zfcp_qdio_sbal_get': include/linux/wait.h:780:15: warning: 'ret' may be used uninitialized __ret = schedule_timeout(__ret); \ ^ drivers/s390/scsi/zfcp_qdio.c:245:7: note: 'ret' was declared here long ret; ^ Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> --- include/linux/wait.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/wait.h b/include/linux/wait.h index fcc968087f05..d3d033ec5313 100644 --- a/include/linux/wait.h +++ b/include/linux/wait.h @@ -775,7 +775,7 @@ do { \ #define __wait_event_interruptible_lock_irq_timeout(wq, condition, \ lock, timeout) \ ___wait_event(wq, ___wait_cond_timeout(condition), \ - TASK_INTERRUPTIBLE, 0, ret, \ + TASK_INTERRUPTIBLE, 0, timeout, \ spin_unlock_irq(&lock); \ __ret = schedule_timeout(__ret); \ spin_lock_irq(&lock)); -- 1.8.3.4
On Thu, Oct 31, 2013 at 12:48:14PM +0100, Heiko Carstens wrote: > __wait_event_interruptible_lock_irq_timeout() needs the timeout parameter > passed instead of "ret". > This magically compiled since the only user has a local ret variable. > Luckily we got a build warning: > > CC drivers/s390/scsi/zfcp_qdio.o > drivers/s390/scsi/zfcp_qdio.c: In function 'zfcp_qdio_sbal_get': > include/linux/wait.h:780:15: warning: 'ret' may be used uninitialized > __ret = schedule_timeout(__ret); \ > ^ > drivers/s390/scsi/zfcp_qdio.c:245:7: note: 'ret' was declared here > long ret; > ^ > Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Urgh, sorry about that.. Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl> > --- > include/linux/wait.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/linux/wait.h b/include/linux/wait.h > index fcc968087f05..d3d033ec5313 100644 > --- a/include/linux/wait.h > +++ b/include/linux/wait.h > @@ -775,7 +775,7 @@ do { \ > #define __wait_event_interruptible_lock_irq_timeout(wq, condition, \ > lock, timeout) \ > ___wait_event(wq, ___wait_cond_timeout(condition), \ > - TASK_INTERRUPTIBLE, 0, ret, \ > + TASK_INTERRUPTIBLE, 0, timeout, \ > spin_unlock_irq(&lock); \ > __ret = schedule_timeout(__ret); \ > spin_lock_irq(&lock)); > -- > 1.8.3.4 >
Commit-ID: 7d716456a0ee4e9bd63be9234f886d20382ac950 Gitweb: http://git.kernel.org/tip/7d716456a0ee4e9bd63be9234f886d20382ac950 Author: Heiko Carstens <heiko.carstens@de.ibm.com> AuthorDate: Thu, 31 Oct 2013 12:48:14 +0100 Committer: Ingo Molnar <mingo@kernel.org> CommitDate: Fri, 1 Nov 2013 08:42:44 +0100 sched/wait: Fix __wait_event_interruptible_lock_irq_timeout() __wait_event_interruptible_lock_irq_timeout() needs the timeout parameter passed instead of "ret". This magically compiled since the only user has a local ret variable. Luckily we got a build warning: CC drivers/s390/scsi/zfcp_qdio.o drivers/s390/scsi/zfcp_qdio.c: In function 'zfcp_qdio_sbal_get': include/linux/wait.h:780:15: warning: 'ret' may be used uninitialized Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/20131031114814.GB5551@osiris Signed-off-by: Ingo Molnar <mingo@kernel.org> --- include/linux/wait.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/wait.h b/include/linux/wait.h index 3b23afa..61939ba 100644 --- a/include/linux/wait.h +++ b/include/linux/wait.h @@ -739,7 +739,7 @@ do { \ #define __wait_event_interruptible_lock_irq_timeout(wq, condition, \ lock, timeout) \ ___wait_event(wq, ___wait_cond_timeout(condition), \ - TASK_INTERRUPTIBLE, 0, ret, \ + TASK_INTERRUPTIBLE, 0, timeout, \ spin_unlock_irq(&lock); \ __ret = schedule_timeout(__ret); \ spin_lock_irq(&lock));