The following patches add verbs for registering I/O memory from user-space.
This capability allows device memory to be registered. More specifically, any VM_PFNMAP vma can be registered. The mmap service is used to obtain the address of this memory and provide it to user space. This is where any security policy would be implemented. The ib_iomem_get service requires that any address provided by the service be in a VMA owned by the process. This precludes providing 'random' addresses to the service to acquire access to arbitrary memory locations. --- Tom Tucker (4): mthca: Add support for reg_io_mr and unreg_io_mr uverbs_cmd: Add uverbs command definitions for reg_io_mr uverbs: Add common ib_iomem_get service ibverbs: Add new provider verb for I/O memory registration drivers/infiniband/core/umem.c | 248 +++++++++++++++++++++++++- drivers/infiniband/core/uverbs.h | 2 drivers/infiniband/core/uverbs_cmd.c | 140 +++++++++++++++ drivers/infiniband/core/uverbs_main.c | 2 drivers/infiniband/hw/mthca/mthca_provider.c | 111 ++++++++++++ include/rdma/ib_umem.h | 14 + include/rdma/ib_user_verbs.h | 24 ++- include/rdma/ib_verbs.h | 5 + 8 files changed, 534 insertions(+), 12 deletions(-) -- Signed-off-by: Tom Tucker <t...@ogc.us> -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html