aboutsummaryrefslogtreecommitdiff
path: root/samples/server.c
diff options
context:
space:
mode:
authorswapnili <swapnil.ingle@nutanix.com>2021-01-21 15:38:24 +0100
committerGitHub <noreply@github.com>2021-01-21 15:38:24 +0100
commite899af8f842c9ba2d48fb44b507e90187f2fab47 (patch)
tree3987cf106c923ad52b9605c6486b7868ac3c2cbe /samples/server.c
parent4f3ad36fc3956d9c1ca926615301e40134b75d58 (diff)
downloadlibvfio-user-e899af8f842c9ba2d48fb44b507e90187f2fab47.zip
libvfio-user-e899af8f842c9ba2d48fb44b507e90187f2fab47.tar.gz
libvfio-user-e899af8f842c9ba2d48fb44b507e90187f2fab47.tar.bz2
Misc fixes for DMA_MAP region prot (#233)
* Misc fixes for DMA_MAP region prot 1. Validate prot passed in vfu_addr_to_sg() 2. Let user know region prot via vfu_unmap_dma_cb_t Signed-off-by: Swapnil Ingle <swapnil.ingle@nutanix.com> Reviewed-by: Thanos Makatos <thanos.makatos@nutanix.com>
Diffstat (limited to 'samples/server.c')
-rw-r--r--samples/server.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/samples/server.c b/samples/server.c
index fa9bd7b..4c22922 100644
--- a/samples/server.c
+++ b/samples/server.c
@@ -51,6 +51,7 @@
struct dma_regions {
uint64_t addr;
uint64_t len;
+ uint32_t prot;
};
#define NR_DMA_REGIONS 96
@@ -139,7 +140,7 @@ static void _sa_handler(int signum)
}
static void
-map_dma(vfu_ctx_t *vfu_ctx, uint64_t iova, uint64_t len)
+map_dma(vfu_ctx_t *vfu_ctx, uint64_t iova, uint64_t len, uint32_t prot)
{
struct server_data *server_data = vfu_get_private(vfu_ctx);
int idx;
@@ -155,6 +156,7 @@ map_dma(vfu_ctx_t *vfu_ctx, uint64_t iova, uint64_t len)
server_data->regions[idx].addr = iova;
server_data->regions[idx].len = len;
+ server_data->regions[idx].prot = prot;
}
static int