[PATCH libdrm v2 04/25] tegra: Fix mmap() of GEM buffer objects
Thierry Reding
thierry.reding at gmail.com
Thu Feb 17 19:16:04 UTC 2022
From: Thierry Reding <treding at nvidia.com>
Store 64-bit offset values and use libdrm's built-in drm_mmap() function
instead of mmap() to ensure the full 64-bit offset is used.
Signed-off-by: Thierry Reding <treding at nvidia.com>
---
tegra/private.h | 2 +-
tegra/tegra.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/tegra/private.h b/tegra/private.h
index 215dd3309bce..d0f2944bfb3a 100644
--- a/tegra/private.h
+++ b/tegra/private.h
@@ -41,7 +41,7 @@ struct drm_tegra {
struct drm_tegra_bo {
struct drm_tegra *drm;
uint32_t handle;
- uint32_t offset;
+ uint64_t offset;
uint32_t flags;
uint32_t size;
atomic_t ref;
diff --git a/tegra/tegra.c b/tegra/tegra.c
index 74e1fd33c6e5..a9087e956f94 100644
--- a/tegra/tegra.c
+++ b/tegra/tegra.c
@@ -211,8 +211,8 @@ drm_public int drm_tegra_bo_map(struct drm_tegra_bo *bo, void **ptr)
bo->offset = args.offset;
- bo->map = mmap(0, bo->size, PROT_READ | PROT_WRITE, MAP_SHARED,
- drm->fd, bo->offset);
+ bo->map = drm_mmap(NULL, bo->size, PROT_READ | PROT_WRITE, MAP_SHARED,
+ drm->fd, bo->offset);
if (bo->map == MAP_FAILED) {
bo->map = NULL;
return -errno;
--
2.35.1
More information about the dri-devel
mailing list