fixed permission issue when accessing dmabuf_fd 77/152277/2
authorSejun Park <sejun79.park@samsung.com>
Mon, 25 Sep 2017 11:38:08 +0000 (20:38 +0900)
committerSejun Park <sejun79.park@samsung.com>
Mon, 25 Sep 2017 11:41:35 +0000 (20:41 +0900)
Change-Id: Ie45cb896892048600d79e15a05611775558e6122

packaging/nx-video-api.spec
src/nx_video_alloc.c

index a5df13e..f219054 100644 (file)
@@ -1,6 +1,6 @@
 Name:    nx-video-api
 Version: 1.0.2
-Release: 1
+Release: 2
 License: LGPLv2+
 Summary: Nexell video APIs
 Group: Development/Libraries
index 9bf84f4..8ee1972 100644 (file)
@@ -100,8 +100,10 @@ gem_to_dmafd (int drm_fd, int gem_fd)
   struct drm_prime_handle arg = { 0, };
 
   arg.handle = gem_fd;
+  arg.flags = O_CLOEXEC | O_RDWR;
   ret = drm_ioctl (drm_fd, DRM_IOCTL_PRIME_HANDLE_TO_FD, &arg);
   if (0 != ret) {
+    printf ("fail : get fd from gem:%d (DRM_IOCTL_PRIME_HANDLE_TO_FD)\n", ret);
     return -1;
   }
   return arg.fd;
@@ -418,6 +420,7 @@ NX_MapMemory (NX_MEMORY_INFO * pMem)
   pBuf =
       mmap (0, pMem->size, PROT_READ | PROT_WRITE, MAP_SHARED, pMem->dmaFd, 0);
   if (pBuf == MAP_FAILED) {
+    printf("Map failed : size %d, fd %d, error : %s\n", pMem->size, pMem->dmaFd, strerror(errno));
     return -1;
   }
   pMem->pBuffer = pBuf;