summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDaniel Thompson <daniel.thompson@linaro.org>2015-12-22 19:36:44 -0200
committerJoonyoung Shim <jy0922.shim@samsung.com>2016-08-11 17:40:23 +0900
commit3b284f04cfab8a53b06f887b95ed3d87db00beeb (patch)
tree179634df3591ad23d19e135e67ad7090cd494da7 /include
parente45ebcb09dc6a83e4d0f8bf993138ce49d80587c (diff)
downloadlinux-exynos-3b284f04cfab8a53b06f887b95ed3d87db00beeb.tar.gz
linux-exynos-3b284f04cfab8a53b06f887b95ed3d87db00beeb.tar.bz2
linux-exynos-3b284f04cfab8a53b06f887b95ed3d87db00beeb.zip
drm: prime: Honour O_RDWR during prime-handle-to-fd
Currently DRM_IOCTL_PRIME_HANDLE_TO_FD rejects all flags except (DRM|O)_CLOEXEC making it difficult (maybe impossible) for userspace to mmap() the resulting dma-buf even when this is supported by the DRM driver. It is trivial to relax the restriction and permit read/write access. This is safe because the flags are seldom touched by drm; mostly they are passed verbatim to dma_buf calls. v3 (Tiago): removed unused flags variable from drm_prime_handle_to_fd_ioctl. Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org> Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1450820214-12509-2-git-send-email-tiago.vignatti@intel.com [jy0922.shim: applied from mainline kernel] Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Change-Id: I7e605e4e4fb10816e143a478ca0dc2aa018486f3
Diffstat (limited to 'include')
-rw-r--r--include/uapi/drm/drm.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h
index ff6ef62d084b..092fe3fa8ec0 100644
--- a/include/uapi/drm/drm.h
+++ b/include/uapi/drm/drm.h
@@ -668,6 +668,7 @@ struct drm_set_client_cap {
__u64 value;
};
+#define DRM_RDWR O_RDWR
#define DRM_CLOEXEC O_CLOEXEC
struct drm_prime_handle {
__u32 handle;