mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-13 22:25:03 +00:00
RMDA/sw: Don't allow drivers using dma_virt_ops on highmem configs
[ Upstream commitb1e678bf29
] dma_virt_ops requires that all pages have a kernel virtual address. Introduce a INFINIBAND_VIRT_DMA Kconfig symbol that depends on !HIGHMEM and make all three drivers depend on the new symbol. Also remove the ARCH_DMA_ADDR_T_64BIT dependency, which has been obsolete since commit4965a68780
("arch: define the ARCH_DMA_ADDR_T_64BIT config symbol in lib/Kconfig") Fixes:551199aca1
("lib/dma-virt: Add dma_virt_ops") Link: https://lore.kernel.org/r/20201106181941.1878556-2-hch@lst.de Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
1a358c4e9b
commit
4c954fe28a
4 changed files with 7 additions and 2 deletions
|
@ -80,6 +80,9 @@ config INFINIBAND_ADDR_TRANS_CONFIGFS
|
||||||
This allows the user to config the default GID type that the CM
|
This allows the user to config the default GID type that the CM
|
||||||
uses for each device, when initiaing new connections.
|
uses for each device, when initiaing new connections.
|
||||||
|
|
||||||
|
config INFINIBAND_VIRT_DMA
|
||||||
|
def_bool !HIGHMEM
|
||||||
|
|
||||||
if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS
|
if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS
|
||||||
source "drivers/infiniband/hw/mthca/Kconfig"
|
source "drivers/infiniband/hw/mthca/Kconfig"
|
||||||
source "drivers/infiniband/hw/qib/Kconfig"
|
source "drivers/infiniband/hw/qib/Kconfig"
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
# SPDX-License-Identifier: GPL-2.0-only
|
# SPDX-License-Identifier: GPL-2.0-only
|
||||||
config INFINIBAND_RDMAVT
|
config INFINIBAND_RDMAVT
|
||||||
tristate "RDMA verbs transport library"
|
tristate "RDMA verbs transport library"
|
||||||
depends on X86_64 && ARCH_DMA_ADDR_T_64BIT
|
depends on INFINIBAND_VIRT_DMA
|
||||||
|
depends on X86_64
|
||||||
depends on PCI
|
depends on PCI
|
||||||
select DMA_VIRT_OPS
|
select DMA_VIRT_OPS
|
||||||
---help---
|
---help---
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
config RDMA_RXE
|
config RDMA_RXE
|
||||||
tristate "Software RDMA over Ethernet (RoCE) driver"
|
tristate "Software RDMA over Ethernet (RoCE) driver"
|
||||||
depends on INET && PCI && INFINIBAND
|
depends on INET && PCI && INFINIBAND
|
||||||
depends on !64BIT || ARCH_DMA_ADDR_T_64BIT
|
depends on INFINIBAND_VIRT_DMA
|
||||||
select NET_UDP_TUNNEL
|
select NET_UDP_TUNNEL
|
||||||
select CRYPTO_CRC32
|
select CRYPTO_CRC32
|
||||||
select DMA_VIRT_OPS
|
select DMA_VIRT_OPS
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
config RDMA_SIW
|
config RDMA_SIW
|
||||||
tristate "Software RDMA over TCP/IP (iWARP) driver"
|
tristate "Software RDMA over TCP/IP (iWARP) driver"
|
||||||
depends on INET && INFINIBAND && LIBCRC32C
|
depends on INET && INFINIBAND && LIBCRC32C
|
||||||
|
depends on INFINIBAND_VIRT_DMA
|
||||||
select DMA_VIRT_OPS
|
select DMA_VIRT_OPS
|
||||||
help
|
help
|
||||||
This driver implements the iWARP RDMA transport over
|
This driver implements the iWARP RDMA transport over
|
||||||
|
|
Loading…
Reference in a new issue