qemu/hw/vfio
Leonardo Bras 9c7c040702 vfio/nvlink: Remove exec permission to avoid SELinux AVCs
If SELinux is setup without 'execmem' permission for qemu, all mmap
with (PROT_WRITE | PROT_EXEC) will fail and print a warning in
SELinux log.

If "nvlink2-mr" memory allocation fails (fist diff), it will cause
guest NUMA nodes to not be correctly configured (V100 memory will
not be visible for guest, nor its NUMA nodes).

Not having 'execmem' permission is intesting for virtual machines to
avoid buffer-overflow based attacks, and it's adopted in distros
like RHEL.

So, removing the PROT_EXEC flag seems the right thing to do.

Browsing some other code that mmaps memory for usage with
memory_region_init_ram_device_ptr, I could notice it's usual to
not have PROT_EXEC (only PROT_READ | PROT_WRITE), so it should be
no problem around this.

Signed-off-by: Leonardo Bras <leobras.c@gmail.com>
Message-Id: <20200501055448.286518-1-leobras.c@gmail.com>
Acked-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2020-05-27 15:29:36 +10:00
..
amd-xgbe.c
ap.c qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
calxeda-xgmac.c
ccw.c qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
common.c
display.c Revert "hw/display/ramfb: initialize fw-config space with xres/ yres" 2020-05-18 15:42:34 +02:00
igd.c
Kconfig
Makefile.objs
pci-quirks.c vfio/nvlink: Remove exec permission to avoid SELinux AVCs 2020-05-27 15:29:36 +10:00
pci.c Drop more @errp parameters after previous commit 2020-05-15 07:08:14 +02:00
pci.h
platform.c lockable: replaced locks with lock guard macros where appropriate 2020-05-04 16:07:43 +01:00
spapr.c vfio/spapr: Fix page size calculation 2020-04-07 08:55:10 +10:00
trace-events