--- a/compat/drivers-base-dma-buf.c
+++ b/compat/drivers-base-dma-buf.c
@@ -27,6 +27,10 @@
 #include <linux/dma-buf.h>
 #include <linux/anon_inodes.h>
 #include <linux/export.h>
+#include <linux/file.h>
+#include <linux/fdtable.h>
+#include <linux/bitops.h>
+#include <linux/sched.h>
 #include <linux/debugfs.h>
 #include <linux/seq_file.h>
 
@@ -179,6 +183,27 @@ struct dma_buf *dma_buf_export_named(voi
 }
 EXPORT_SYMBOL_GPL(dma_buf_export_named);
 
+static void dma_buf_fd_set_flag(int fd, int flags)
+{
+	struct fdtable *fdt;
+	struct files_struct *files = current->files;
+
+	spin_lock(&files->file_lock);
+	fdt = files_fdtable(files);
+	if (flags & O_CLOEXEC)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
+		__set_bit(fd, fdt->close_on_exec);
+#else
+		FD_SET(fd, fdt->close_on_exec);
+#endif
+	else
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
+		__clear_bit(fd, fdt->close_on_exec);
+#else
+		FD_CLR(fd, fdt->close_on_exec);
+#endif
+	spin_unlock(&files->file_lock);
+}
 
 /**
  * dma_buf_fd - returns a file descriptor for the given dma_buf
@@ -194,9 +219,10 @@ int dma_buf_fd(struct dma_buf *dmabuf, i
 	if (!dmabuf || !dmabuf->file)
 		return -EINVAL;
 
-	fd = get_unused_fd_flags(flags);
+	fd = get_unused_fd();
 	if (fd < 0)
 		return fd;
+	dma_buf_fd_set_flag(fd, flags);
 
 	fd_install(fd, dmabuf->file);
 
@@ -727,17 +753,15 @@ static inline void dma_buf_uninit_debugf
 }
 #endif
 
-static int __init dma_buf_init(void)
+int __init dma_buf_init(void)
 {
 	mutex_init(&db_list.lock);
 	INIT_LIST_HEAD(&db_list.head);
 	dma_buf_init_debugfs();
 	return 0;
 }
-subsys_initcall(dma_buf_init);
 
-static void __exit dma_buf_deinit(void)
+void __exit dma_buf_deinit(void)
 {
 	dma_buf_uninit_debugfs();
 }
-__exitcall(dma_buf_deinit);
