summaryrefslogtreecommitdiff
path: root/arch/x86/xen/time.c
diff options
context:
space:
mode:
authorJuergen Gross <jgross@suse.com>2014-10-17 15:16:06 +0400
committerDavid Vrabel <david.vrabel@citrix.com>2014-10-23 19:24:02 +0400
commit3a0e94f8ead4a58b9719db0f78e13d02d059604f (patch)
tree4f74cec939084816caf4056097f0b382ea413ad5 /arch/x86/xen/time.c
parent2c185687ab016954557aac80074f5d7f7f5d275c (diff)
downloadlinux-3a0e94f8ead4a58b9719db0f78e13d02d059604f.tar.xz
x86/xen: avoid race in p2m handling
When a new p2m leaf is allocated this leaf is linked into the p2m tree via cmpxchg. Unfortunately the compare value for checking the success of the update is read after checking for the need of a new leaf. It is possible that a new leaf has been linked into the tree concurrently in between. This could lead to a leaked memory page and to the loss of some p2m entries. Avoid the race by using the read compare value for checking the need of a new p2m leaf and use ACCESS_ONCE() to get it. There are other places which seem to need ACCESS_ONCE() to ensure proper operation. Change them accordingly. Signed-off-by: Juergen Gross <jgross@suse.com> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Diffstat (limited to 'arch/x86/xen/time.c')
0 files changed, 0 insertions, 0 deletions