[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen stable-4.15] x86/PV32: fix physdev_op_compat handling

commit f50ef17c9884c0c2d486d3b1de8f110bb6b22c42
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Fri Oct 15 11:06:38 2021 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Fri Oct 15 11:06:38 2021 +0200

    x86/PV32: fix physdev_op_compat handling
    The conversion of the original code failed to recognize that the 32-bit
    compat variant of this (sorry, two different meanings of "compat" here)
    needs to continue to invoke the compat handler, not the native one.
    Arrange for this by adding yet another #define.
    Affected functions (having existed prior to the introduction of the new
    hypercall) are PHYSDEVOP_set_iobitmap and PHYSDEVOP_apic_{read,write}.
    For all others the operand struct layout doesn't differ.
    Fixes: 1252e2823117 ("x86/pv: Export pv_hypercall_table[] rather than 
working around it in several ways")
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
    Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    master commit: 834cb8761051f7d87816785c0d99fe9bd5f0ce30
    master date: 2021-10-12 11:55:42 +0200
 xen/arch/x86/x86_64/compat.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/x86_64/compat.c b/xen/arch/x86/x86_64/compat.c
index 0e4c71f2aa..fcbc1cc0d7 100644
--- a/xen/arch/x86/x86_64/compat.c
+++ b/xen/arch/x86/x86_64/compat.c
@@ -12,6 +12,7 @@ EMIT_FILE;
 #define physdev_op_t                  physdev_op_compat_t
 #define do_physdev_op                 compat_physdev_op
 #define do_physdev_op_compat(x)       compat_physdev_op_compat(_##x)
+#define native                        compat
 #define COMPAT
generated by git-patchbot for /home/xen/git/xen.git#stable-4.15



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.