diff options
author | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2015-11-16 12:40:48 -0500 |
---|---|---|
committer | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2015-12-18 10:00:47 -0500 |
commit | 8135cf8b092723dbfcc611fe6fdcb3a36c9951c5 (patch) | |
tree | d1f03969e8a2af5ff9e2b2ea8eaab58405ac30eb /ipc/mqueue.c | |
parent | be69746ec12f35b484707da505c6c76ff06f97dc (diff) | |
download | linux-8135cf8b092723dbfcc611fe6fdcb3a36c9951c5.tar.gz linux-8135cf8b092723dbfcc611fe6fdcb3a36c9951c5.tar.bz2 linux-8135cf8b092723dbfcc611fe6fdcb3a36c9951c5.zip |
xen/pciback: Save xen_pci_op commands before processing it
Double fetch vulnerabilities that happen when a variable is
fetched twice from shared memory but a security check is only
performed the first time.
The xen_pcibk_do_op function performs a switch statements on the op->cmd
value which is stored in shared memory. Interestingly this can result
in a double fetch vulnerability depending on the performed compiler
optimization.
This patch fixes it by saving the xen_pci_op command before
processing it. We also use 'barrier' to make sure that the
compiler does not perform any optimization.
This is part of XSA155.
CC: stable@vger.kernel.org
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Jan Beulich <JBeulich@suse.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'ipc/mqueue.c')
0 files changed, 0 insertions, 0 deletions