Heiko Carstens e991c24d68 s390/ctl_reg: make __ctl_load a full memory barrier
We have quite a lot of code that depends on the order of the
__ctl_load inline assemby and subsequent memory accesses, like
e.g. disabling lowcore protection and the writing to lowcore.

Since the __ctl_load macro does not have memory barrier semantics, nor
any other dependencies the compiler is, theoretically, free to shuffle
code around. Or in other words: storing to lowcore could happen before
lowcore protection is disabled.

In order to avoid this class of potential bugs simply add a full
memory barrier to the __ctl_load macro.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2017-01-16 07:27:48 +01:00
..
2014-03-04 10:41:04 +01:00
2016-01-12 20:47:05 +02:00
2016-06-13 15:58:23 +02:00
2016-06-13 15:58:19 +02:00
2016-03-07 16:54:32 +01:00
2015-10-14 14:32:15 +02:00
2015-11-27 09:24:17 +01:00
2016-08-29 11:05:09 +02:00
2016-12-14 16:33:40 +01:00
2015-03-25 11:49:33 +01:00
2016-03-02 17:01:56 +02:00
2013-01-08 10:57:09 +01:00
2016-06-13 15:58:17 +02:00
2013-11-13 20:21:46 +01:00
2016-06-13 15:58:24 +02:00
2016-01-19 12:14:01 +01:00
2016-11-29 07:52:57 +01:00
2016-06-28 09:33:00 +02:00
2015-03-25 11:49:33 +01:00
2015-08-03 18:40:25 +02:00
2015-10-27 09:33:55 +01:00
2016-12-14 16:33:41 +01:00
2016-01-26 12:45:49 +01:00
2016-12-14 16:33:41 +01:00
2015-03-25 11:49:33 +01:00
2015-03-25 11:49:33 +01:00
2015-03-25 11:49:33 +01:00
2016-06-13 15:58:21 +02:00
2015-03-25 11:49:33 +01:00
2016-10-17 11:25:25 +02:00
2012-11-30 17:47:28 +01:00