Al Viro
bd1c149aa9
Introduce [compat_]save_altstack_ex() to unbreak x86 SMAP
...
For performance reasons, when SMAP is in use, SMAP is left open for an
entire put_user_try { ... } put_user_catch(); block, however, calling
__put_user() in the middle of that block will close SMAP as the
STAC..CLAC constructs intentionally do not nest.
Furthermore, using __put_user() rather than put_user_ex() here is bad
for performance.
Thus, introduce new [compat_]save_altstack_ex() helpers that replace
__[compat_]save_altstack() for x86, being currently the only
architecture which supports put_user_try { ... } put_user_catch().
Reported-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Cc: <stable@vger.kernel.org> # v3.8+
Link: http://lkml.kernel.org/n/tip-es5p6y64if71k8p5u08agv9n@git.kernel.org
2013-09-01 14:16:33 -07:00
..
2013-07-18 17:39:05 -07:00
2013-07-14 19:36:56 -04:00
2013-08-19 09:18:29 -07:00
2013-06-20 14:25:48 +02:00
2013-04-02 10:12:52 -07:00
2012-11-17 11:59:10 -08:00
2013-04-30 08:42:45 -07:00
2013-02-19 20:11:07 -08:00
2013-04-16 10:54:40 +02:00
2013-04-23 13:45:22 +02:00
2013-06-06 14:32:04 -07:00
2013-05-02 11:27:35 -07:00
2012-09-30 22:53:32 -04:00
2012-05-15 15:36:41 -07:00
2013-07-14 19:36:56 -04:00
2012-03-20 21:48:15 +08:00
2012-12-11 19:55:23 -02:00
2013-07-14 19:36:56 -04:00
2013-05-13 13:42:44 -07:00
2013-04-30 17:04:02 -07:00
2013-04-30 17:04:02 -07:00
2013-04-30 17:04:02 -07:00
2012-11-17 11:59:51 -08:00
2013-04-29 18:28:13 -07:00
2013-07-23 11:29:30 +02:00
2013-06-20 22:25:34 -07:00
2013-07-02 16:31:49 -07:00
2012-11-16 16:42:09 -08:00
2013-01-29 19:32:58 -08:00
2013-05-20 11:36:03 -07:00
2013-07-14 19:36:56 -04:00
2013-07-16 15:14:48 -07:00
2013-02-27 13:38:57 -08:00
2013-01-28 10:48:30 +01:00
2013-07-09 10:33:26 -07:00
2013-02-07 15:07:28 -08:00
2013-07-26 09:11:56 -07:00
2012-08-22 09:34:24 +02:00
2013-02-03 18:16:24 -05:00
2013-07-14 19:36:56 -04:00
2011-12-07 09:27:11 +01:00
2013-06-20 22:25:34 -07:00
2013-06-21 10:33:28 -04:00
2013-04-16 16:32:39 -03:00
2011-12-06 20:41:02 +01:00
2012-07-26 15:07:20 +02:00
2012-10-12 06:37:34 -05:00
2013-07-14 19:36:56 -04:00
2013-07-14 19:36:56 -04:00
2012-03-28 18:11:12 +01:00
2012-03-28 18:11:12 +01:00
2013-01-29 15:26:35 -08:00
2013-07-02 16:31:49 -07:00
2013-08-12 18:32:45 +02:00
2013-08-12 18:32:45 +02:00
2013-07-14 19:36:56 -04:00
2013-07-14 19:36:56 -04:00
2013-07-14 19:36:56 -04:00
2013-01-31 13:19:14 -08:00
2013-01-31 13:18:50 -08:00
2013-07-14 19:36:56 -04:00
2012-07-24 13:34:56 -07:00
2012-05-29 20:14:53 -07:00
2013-07-14 19:36:56 -04:00
2012-06-20 14:23:17 +02:00
2013-07-12 14:13:04 +02:00
2013-04-30 08:41:21 -07:00
2012-06-06 09:17:22 +02:00
2013-01-24 17:34:18 +01:00
2012-05-21 15:09:38 +02:00
2012-03-28 16:36:31 +02:00
2012-09-19 17:08:40 +02:00
2012-09-05 10:52:25 +02:00
2013-07-02 16:25:06 -07:00
2013-07-02 16:25:06 -07:00
2013-07-14 19:36:56 -04:00
2013-07-09 10:33:26 -07:00
2013-02-28 08:50:11 +02:00
2013-04-02 16:03:34 -07:00
2013-07-09 10:33:29 -07:00
2013-06-25 16:26:06 -07:00
2013-06-20 21:30:04 -07:00
2013-05-28 14:00:59 -07:00
2012-06-14 12:42:11 +02:00
2013-07-14 19:36:56 -04:00
2013-09-01 14:16:33 -07:00
2013-07-02 09:52:31 +02:00
2013-07-14 19:36:56 -04:00
2013-01-22 10:08:00 -08:00
2013-08-22 10:19:35 -07:00
2011-11-18 16:25:07 -08:00
2012-02-20 12:52:06 -08:00
2013-07-14 19:36:56 -04:00
2012-03-28 18:11:12 +01:00
2012-04-20 13:51:38 -07:00
2012-05-17 19:06:13 -04:00
2013-03-03 22:58:33 -05:00
2012-11-14 15:28:11 -08:00
2012-11-13 15:48:27 -05:00
2013-07-16 15:14:48 -07:00
2013-07-16 15:14:48 -07:00
2013-07-14 19:36:56 -04:00
2013-07-14 19:36:56 -04:00
2013-04-13 15:31:55 +02:00
2013-05-02 20:36:32 -04:00
2013-03-11 15:07:56 +01:00
2012-07-06 11:00:22 +02:00
2013-07-14 19:36:56 -04:00
2013-07-14 19:36:56 -04:00
2012-11-16 16:42:08 -08:00
2013-07-14 19:36:56 -04:00