linux-stable/drivers/uio
Venkatesh Srinivas 865a11f987 uio/uio_pci_generic: Disable bus-mastering on release
Userspace code using uio_pci_generic may enable bus-mastering by
directly manipulating a PCI device's command register. If a userspace
program enables bus-mastering but exits/crashes uncleanly, bus-
mastering will still be enabled and stale DMA addresses may be
programmed and live in the device.

Disable bus-mastering unconditionally on last close of a UIO PCI fd
to avoid this. If the device did not have bus-mastering enabled,
pci_clear_master() is a no-op.

Signed-off-by: Venkatesh Srinivas <venkateshs@google.com>
Reviewed-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Catherine Sullivan <csully@google.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-01-31 16:22:51 +01:00
..
Kconfig uio-hv-generic: new userspace i/o driver for VMBus 2016-12-06 11:52:49 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
uio.c uio: remove redundant check 2019-01-22 12:03:16 +01:00
uio_aec.c
uio_cif.c uio: add SPDX license tags 2018-07-21 15:41:20 +02:00
uio_dmem_genirq.c uio: Convert a few more users to using %pOFn instead of device_node.name 2018-10-02 15:59:29 -07:00
uio_fsl_elbc_gpcm.c uio: uio_fsl_elbc_gpcm: simplify getting .driver_data 2018-11-11 12:58:27 -08:00
uio_hv_generic.c uio_hv_generic: set callbacks on open 2018-12-11 14:23:17 +01:00
uio_mf624.c uio_mf624: Align memory regions to page size and set correct offsets 2017-04-08 18:13:28 +02:00
uio_netx.c uio: add SPDX license tags 2018-07-21 15:41:20 +02:00
uio_pci_generic.c uio/uio_pci_generic: Disable bus-mastering on release 2019-01-31 16:22:51 +01:00
uio_pdrv_genirq.c uio: Convert a few more users to using %pOFn instead of device_node.name 2018-10-02 15:59:29 -07:00
uio_pruss.c uio: pruss: fix error handling in probe 2018-08-02 10:14:26 +02:00
uio_sercos3.c uio: add SPDX license tags 2018-07-21 15:41:20 +02:00