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 Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
ap.c qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
calxeda-xgmac.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
ccw.c qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
common.c Report stringified errno in VFIO related errors 2020-02-18 20:20:49 +01:00
display.c Revert "hw/display/ramfb: initialize fw-config space with xres/ yres" 2020-05-18 15:42:34 +02:00
igd.c hw/vfio: Move the IGD quirk code to a separate file 2020-02-06 11:55:42 -07:00
Kconfig hw/vfio: Move the IGD quirk code to a separate file 2020-02-06 11:55:42 -07:00
Makefile.objs hw/vfio: Move the IGD quirk code to a separate file 2020-02-06 11:55:42 -07:00
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 hw/vfio: Move the IGD quirk code to a separate file 2020-02-06 11:55:42 -07:00
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 spapr: Support NVIDIA V100 GPU with NVLink2 2019-04-26 10:41:23 +10:00