x86/ioperm: Add new paravirt function update_io_bitmap()
authorJuergen Gross <jgross@suse.com>
Tue, 18 Feb 2020 15:47:12 +0000 (16:47 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Sat, 29 Feb 2020 11:43:09 +0000 (12:43 +0100)
commit99bcd4a6e5b8ba201fdd252f1054689884899fee
tree24ee58022c4f14642faab5998133b0e468e5e40f
parent735a6dd02222d8d070c7bb748f25895239ca8c92
x86/ioperm: Add new paravirt function update_io_bitmap()

Commit 111e7b15cf10f6 ("x86/ioperm: Extend IOPL config to control ioperm()
as well") reworked the iopl syscall to use I/O bitmaps.

Unfortunately this broke Xen PV domains using that syscall as there is
currently no I/O bitmap support in PV domains.

Add I/O bitmap support via a new paravirt function update_io_bitmap which
Xen PV domains can use to update their I/O bitmaps via a hypercall.

Fixes: 111e7b15cf10f6 ("x86/ioperm: Extend IOPL config to control ioperm() as well")
Reported-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Cc: <stable@vger.kernel.org> # 5.5
Link: https://lkml.kernel.org/r/20200218154712.25490-1-jgross@suse.com
arch/x86/include/asm/io_bitmap.h
arch/x86/include/asm/paravirt.h
arch/x86/include/asm/paravirt_types.h
arch/x86/kernel/paravirt.c
arch/x86/kernel/process.c
arch/x86/xen/enlighten_pv.c