Many thanks for doing this. I am currently running the 4.6 branch and when compiling I get the following output:
In file included from include/linux/mutex.h:13:0, from include/linux/kernfs.h:13, from include/linux/sysfs.h:15, from include/linux/kobject.h:21, from include/linux/device.h:17, from /home/owen/CrystalHD/crystalhd/driver/linux/crystalhd_misc.c:27:
/home/owen/CrystalHD/crystalhd/driver/linux/crystalhd_misc.c: In function ‘crystalhd_map_dio’:
./arch/x86/include/asm/current.h:17:17: error: passing argument 1 of ‘get_user_pages’ makes integer from pointer without a cast [-Werror]
#define current get_current()
^
/home/owen/CrystalHD/crystalhd/driver/linux/crystalhd_misc.c:655:23: note: in expansion of macro ‘current’
res = get_user_pages(current, current->mm, uaddr, nr_pages, rw == READ, ^
In file included from /home/owen/CrystalHD/crystalhd/driver/linux/crystalhd_lnx.h:34:0, from /home/owen/CrystalHD/crystalhd/driver/linux/crystalhd_misc.c:30:
include/linux/mm.h:1253:6: note: expected ‘long unsigned int’ but argument is of type ‘struct task_struct *’
long get_user_pages(unsigned long start, unsigned long nr_pages,
^
In file included from include/linux/mutex.h:13:0, from include/linux/kernfs.h:13, from include/linux/sysfs.h:15, from include/linux/kobject.h:21, from include/linux/device.h:17, from /home/owen/CrystalHD/crystalhd/driver/linux/crystalhd_misc.c:27:
./arch/x86/include/asm/current.h:17:17: error: passing argument 2 of ‘get_user_pages’ makes integer from pointer without a cast [-Werror]
#define current get_current()
^
/home/owen/CrystalHD/crystalhd/driver/linux/crystalhd_misc.c:655:32: note: in expansion of macro ‘current’
res = get_user_pages(current, current->mm, uaddr, nr_pages, rw == READ, ^
In file included from /home/owen/CrystalHD/crystalhd/driver/linux/crystalhd_lnx.h:34:0, from /home/owen/CrystalHD/crystalhd/driver/linux/crystalhd_misc.c:30:
include/linux/mm.h:1253:6: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’
long get_user_pages(unsigned long start, unsigned long nr_pages,
^
/home/owen/CrystalHD/crystalhd/driver/linux/crystalhd_misc.c:655:62: error: passing argument 5 of ‘get_user_pages’ makes pointer from integer without a cast [-Werror]
res = get_user_pages(current, current->mm, uaddr, nr_pages, rw == READ, ^
In file included from /home/owen/CrystalHD/crystalhd/driver/linux/crystalhd_lnx.h:34:0, from /home/owen/CrystalHD/crystalhd/driver/linux/crystalhd_misc.c:30:
include/linux/mm.h:1253:6: note: expected ‘struct page **’ but argument is of type ‘int’
long get_user_pages(unsigned long start, unsigned long nr_pages,
^
/home/owen/CrystalHD/crystalhd/driver/linux/crystalhd_misc.c:655:8: error: too many arguments to function ‘get_user_pages’
res = get_user_pages(current, current->mm, uaddr, nr_pages, rw == READ,
^
In file included from /home/owen/CrystalHD/crystalhd/driver/linux/crystalhd_lnx.h:34:0, from /home/owen/CrystalHD/crystalhd/driver/linux/crystalhd_misc.c:30:
include/linux/mm.h:1253:6: note: declared here
long get_user_pages(unsigned long start, unsigned long nr_pages,
^
/home/owen/CrystalHD/crystalhd/driver/linux/crystalhd_misc.c: In function ‘crystalhd_unmap_dio’:
/home/owen/CrystalHD/crystalhd/driver/linux/crystalhd_misc.c:754:5: error: implicit declaration of function ‘page_cache_release’ [-Werror=implicit-function-declaration]
page_cache_release(page);
^
cc1: all warnings being treated as errors
make[2]: *** [/home/owen/CrystalHD/crystalhd/driver/linux/crystalhd_misc.o] Error 1
make[1]: *** [_module_/home/owen/CrystalHD/crystalhd/driver/linux] Error 2
make: *** [all] Error 2
Hi Dan,
Many thanks for doing this. I am currently running the 4.6 branch and when compiling I get the following output: linux/mutex. h:13:0,
from include/ linux/kernfs. h:13,
from include/ linux/sysfs. h:15,
from include/ linux/kobject. h:21,
from include/ linux/device. h:17,
from /home/owen/ CrystalHD/ crystalhd/ driver/ linux/crystalhd _misc.c: 27: CrystalHD/ crystalhd/ driver/ linux/crystalhd _misc.c: In function ‘crystalhd_ map_dio’ : x86/include/ asm/current. h:17:17: error: passing argument 1 of ‘get_user_pages’ makes integer from pointer without a cast [-Werror] CrystalHD/ crystalhd/ driver/ linux/crystalhd _misc.c: 655:23: note: in expansion of macro ‘current’ pages(current, current->mm, uaddr, nr_pages, rw == READ,
^ CrystalHD/ crystalhd/ driver/ linux/crystalhd _lnx.h: 34:0,
from /home/owen/ CrystalHD/ crystalhd/ driver/ linux/crystalhd _misc.c: 30: linux/mm. h:1253: 6: note: expected ‘long unsigned int’ but argument is of type ‘struct task_struct *’ pages(unsigned long start, unsigned long nr_pages, linux/mutex. h:13:0,
from include/ linux/kernfs. h:13,
from include/ linux/sysfs. h:15,
from include/ linux/kobject. h:21,
from include/ linux/device. h:17,
from /home/owen/ CrystalHD/ crystalhd/ driver/ linux/crystalhd _misc.c: 27: x86/include/ asm/current. h:17:17: error: passing argument 2 of ‘get_user_pages’ makes integer from pointer without a cast [-Werror] CrystalHD/ crystalhd/ driver/ linux/crystalhd _misc.c: 655:32: note: in expansion of macro ‘current’ pages(current, current->mm, uaddr, nr_pages, rw == READ,
^ CrystalHD/ crystalhd/ driver/ linux/crystalhd _lnx.h: 34:0,
from /home/owen/ CrystalHD/ crystalhd/ driver/ linux/crystalhd _misc.c: 30: linux/mm. h:1253: 6: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’ pages(unsigned long start, unsigned long nr_pages, CrystalHD/ crystalhd/ driver/ linux/crystalhd _misc.c: 655:62: error: passing argument 5 of ‘get_user_pages’ makes pointer from integer without a cast [-Werror] pages(current, current->mm, uaddr, nr_pages, rw == READ,
^ CrystalHD/ crystalhd/ driver/ linux/crystalhd _lnx.h: 34:0,
from /home/owen/ CrystalHD/ crystalhd/ driver/ linux/crystalhd _misc.c: 30: linux/mm. h:1253: 6: note: expected ‘struct page **’ but argument is of type ‘int’ pages(unsigned long start, unsigned long nr_pages, CrystalHD/ crystalhd/ driver/ linux/crystalhd _misc.c: 655:8: error: too many arguments to function ‘get_user_pages’ pages(current, current->mm, uaddr, nr_pages, rw == READ, CrystalHD/ crystalhd/ driver/ linux/crystalhd _lnx.h: 34:0,
from /home/owen/ CrystalHD/ crystalhd/ driver/ linux/crystalhd _misc.c: 30: linux/mm. h:1253: 6: note: declared here pages(unsigned long start, unsigned long nr_pages, CrystalHD/ crystalhd/ driver/ linux/crystalhd _misc.c: In function ‘crystalhd_ unmap_dio’ : CrystalHD/ crystalhd/ driver/ linux/crystalhd _misc.c: 754:5: error: implicit declaration of function ‘page_cache_ release’ [-Werror= implicit- function- declaration] cache_release( page); owen/CrystalHD/ crystalhd/ driver/ linux/crystalhd _misc.o] Error 1 /home/owen/ CrystalHD/ crystalhd/ driver/ linux] Error 2
In file included from include/
/home/owen/
./arch/
#define current get_current()
^
/home/owen/
res = get_user_
In file included from /home/owen/
include/
long get_user_
^
In file included from include/
./arch/
#define current get_current()
^
/home/owen/
res = get_user_
In file included from /home/owen/
include/
long get_user_
^
/home/owen/
res = get_user_
In file included from /home/owen/
include/
long get_user_
^
/home/owen/
res = get_user_
^
In file included from /home/owen/
include/
long get_user_
^
/home/owen/
/home/owen/
page_
^
cc1: all warnings being treated as errors
make[2]: *** [/home/
make[1]: *** [_module_
make: *** [all] Error 2
I will downgrade to 4.4 and try again there.