From: Thierry Reding <treding@xxxxxxxxxx> 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@xxxxxxxxxx> --- 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