|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] x86/mem-sharing: ensure consistent lock order in get_two_gfns()
commit 09af2d01a2fe6a0af08598bdfe12c9707f4d82ba
Author: Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Wed Jul 7 12:35:12 2021 +0200
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Wed Jul 7 12:35:12 2021 +0200
x86/mem-sharing: ensure consistent lock order in get_two_gfns()
While the comment validly says "Sort by domain, if same domain by gfn",
the implementation also included equal domain IDs in the first part of
the check, thus rending the second part entirely dead and leaving
deadlock potential when there's only a single domain involved.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
Acked-by: Tamas K Lengyel <tamas@xxxxxxxxxxxxx>
---
xen/include/asm-x86/p2m.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xen/include/asm-x86/p2m.h b/xen/include/asm-x86/p2m.h
index 5b697df573..e569471a2f 100644
--- a/xen/include/asm-x86/p2m.h
+++ b/xen/include/asm-x86/p2m.h
@@ -587,7 +587,7 @@ do { \
dest ## _t = (source ## t) ?: &scratch_t; \
} while (0)
- if ( (rd->domain_id <= ld->domain_id) ||
+ if ( (rd->domain_id < ld->domain_id) ||
((rd == ld) && (gfn_x(rgfn) <= gfn_x(lgfn))) )
{
assign_pointers(first, r);
--
generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |