Max Filippov
1c11f153eb
xtensa: fix futex_atomic_cmpxchg_inatomic
...
commit ca47480921 upstream.
Return 0 if the operation was successful, not the userspace memory
value. Check that userspace value equals passed oldval, not itself.
Don't update *uval if the value wasn't read from userspace memory.
This fixes process hang due to infinite loop in futex_lock_pi.
It also fixes a bunch of glibc tests nptl/tst-mutexpi*.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2018-02-16 20:09:47 +01:00
..
2009-12-12 13:08:14 +01:00
2015-11-02 18:02:47 +03:00
2015-09-23 09:54:28 +02:00
2014-04-18 14:20:47 +02:00
2014-04-18 14:20:47 +02:00
2014-04-02 01:35:51 +04:00
2008-11-06 10:25:09 -08:00
2010-08-11 08:59:21 -07:00
2015-11-02 18:02:51 +03:00
2015-11-09 01:25:37 +03:00
2013-02-23 19:23:13 -08:00
2015-08-17 07:33:39 +03:00
2012-10-15 21:48:08 -07:00
2012-12-18 21:10:25 -08:00
2014-01-15 00:28:11 +04:00
2015-08-17 07:31:00 +03:00
2015-11-09 01:25:38 +03:00
2011-03-31 11:26:23 -03:00
2013-02-23 19:35:57 -08:00
2008-11-06 10:25:09 -08:00
2014-08-14 11:59:21 +04:00
2009-04-02 23:41:29 -07:00
2014-05-21 03:10:32 -04:00
2018-02-16 20:09:47 +01:00
2012-05-11 18:00:14 -06:00
2014-12-09 03:22:57 +03:00
2008-11-06 10:25:09 -08:00
2015-11-02 18:02:51 +03:00
2015-11-02 18:03:02 +03:00
2017-06-17 06:39:38 +02:00
2015-08-17 07:33:39 +03:00
2015-10-04 16:31:13 +01:00
2014-10-21 13:28:44 +04:00
2014-01-14 10:19:58 -08:00
2012-09-28 14:31:03 +09:30
2008-11-06 10:25:09 -08:00
2014-01-14 10:19:58 -08:00
2014-10-21 13:28:44 +04:00
2014-10-21 13:28:58 +04:00
2012-10-15 21:48:53 -07:00
2012-12-18 21:10:25 -08:00
2015-05-05 13:35:39 -06:00
2014-01-15 00:27:03 +04:00
2013-11-15 09:32:19 +09:00
2015-11-02 18:02:58 +03:00
2013-06-05 10:14:20 -07:00
2015-08-17 07:33:39 +03:00
2014-01-14 10:19:58 -08:00
2013-09-06 09:47:41 -07:00
2011-01-27 12:30:39 +01:00
2008-11-06 10:25:09 -08:00
2008-11-06 10:25:09 -08:00
2008-11-06 10:25:09 -08:00
2013-02-03 15:09:22 -05:00
2014-01-14 10:19:59 -08:00
2014-01-14 10:19:53 -08:00
2014-01-14 10:19:53 -08:00
2015-08-17 07:32:49 +03:00
2013-02-23 19:22:31 -08:00
2012-03-28 18:30:03 +01:00
2013-02-03 18:16:27 -05:00
2014-04-02 01:35:52 +04:00
2015-04-12 21:03:29 +02:00
2014-01-14 10:19:58 -08:00
2009-07-27 12:10:38 -07:00
2014-04-06 21:29:17 +04:00
2015-08-17 07:33:35 +03:00
2012-10-15 21:48:53 -07:00
2015-01-13 15:24:10 +02:00
2008-11-06 10:25:09 -08:00
2008-11-11 06:14:10 -08:00
2013-03-03 22:55:19 -05:00
2008-11-06 10:25:09 -08:00
2015-11-03 17:19:39 +03:00
2008-11-06 10:25:09 -08:00