diff options
author | Mario Preksavec <mario@slackware.hr> | 2021-08-14 22:19:14 +0200 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2021-08-19 18:33:51 +0700 |
commit | b0768026fe3b8de9afc35d95c8958fb61233bfd5 (patch) | |
tree | 1cb5aadcdac6d5fc322d4fe0764fb20961c046da /system/xen/xsa/xsa328-post-xsa321-4.13-4.patch | |
parent | 25d63828e9ada783c9f7ead2e012b90861a735b3 (diff) |
system/xen: Updated for version 4.15.0.
Signed-off-by: Mario Preksavec <mario@slackware.hr>
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'system/xen/xsa/xsa328-post-xsa321-4.13-4.patch')
-rw-r--r-- | system/xen/xsa/xsa328-post-xsa321-4.13-4.patch | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/system/xen/xsa/xsa328-post-xsa321-4.13-4.patch b/system/xen/xsa/xsa328-post-xsa321-4.13-4.patch deleted file mode 100644 index 62bbcc7271cb1..0000000000000 --- a/system/xen/xsa/xsa328-post-xsa321-4.13-4.patch +++ /dev/null @@ -1,36 +0,0 @@ -From: <security@xenproject.org> -Subject: vtd: don't assume addresses are aligned in sync_cache - -Current code in sync_cache assume that the address passed in is -aligned to a cache line size. Fix the code to support passing in -arbitrary addresses not necessarily aligned to a cache line size. - -This is part of XSA-321. - -Reviewed-by: Jan Beulich <jbeulich@suse.com> - ---- a/xen/drivers/passthrough/vtd/iommu.c -+++ b/xen/drivers/passthrough/vtd/iommu.c -@@ -143,8 +143,8 @@ static int iommus_incoherent; - - static void sync_cache(const void *addr, unsigned int size) - { -- int i; -- static unsigned int clflush_size = 0; -+ static unsigned long clflush_size = 0; -+ const void *end = addr + size; - - if ( !iommus_incoherent ) - return; -@@ -152,8 +152,9 @@ static void sync_cache(const void *addr, - if ( clflush_size == 0 ) - clflush_size = get_cache_line_size(); - -- for ( i = 0; i < size; i += clflush_size ) -- cacheline_flush((char *)addr + i); -+ addr -= (unsigned long)addr & (clflush_size - 1); -+ for ( ; addr < end; addr += clflush_size ) -+ cacheline_flush((char *)addr); - } - - /* Allocate page table, return its machine address */ |