1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
Description: fix build failure with Linux kernel >= 3.4
Author: Dmitry Shachnev <mitya57@ubuntu.com>
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1157421
--- a/ring.c
+++ b/ring.c
@@ -26,6 +26,8 @@
#include <linux/poll.h>
#include <linux/blkdev.h>
#include <linux/mman.h>
+#include <linux/version.h>
+#include <linux/mm.h>
#include "blktap.h"
@@ -203,7 +205,11 @@
pgoff = 1 + request->usr_idx * BLKTAP_SEGMENT_MAX;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0)
addr = do_mmap_pgoff(filp, addr, len, prot, flags, pgoff);
+#else
+ addr = vm_mmap(filp, addr, len, prot, flags, pgoff);
+#endif
return IS_ERR_VALUE(addr) ? addr : 0;
}
@@ -223,7 +229,11 @@
addr = MMAP_VADDR(ring->user_vstart, request->usr_idx, 0);
len = request->nr_pages << PAGE_SHIFT;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0)
err = do_munmap(current->mm, addr, len);
+#else
+ err = vm_munmap(addr, len);
+#endif
WARN_ON_ONCE(err);
}
|