after an upgrade from SuSE Linux Enterprise Server 12 SP3 to SP4 we can't build the kernel modules any longer.
Previously we run VirtualBox-5.2-5.2.8_121009_openSUSE132-1.x86_64 w/o issues. After an upgrade of the OS to SP4 the new kernel is now reported as
Code: Select all
Linux XXXXXXX 4.12.14-95.24-default #1 SMP Thu Jul 11 13:05:06 UTC 2019 (7b265b8) x86_64 x86_64 x86_64 GNU/Linux
Is anybody running VirtualBox on SLES12 SP4 ? Any help is appreciated.
Thanks,
Christian
Code: Select all
...
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c: In function ‘rtR0MemObjNativeLockUser’:
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1117:33: warning: passing argument 1 of ‘get_user_pages’ makes integer from pointer without a cast [enabled by default]
papVMAs); /* vmas */
^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
/usr/src/linux-4.4.82-6.3/include/linux/mm.h:1264: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,
^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1117:33: warning: passing argument 2 of ‘get_user_pages’ makes integer from pointer without a cast [enabled by default]
papVMAs); /* vmas */
^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
/usr/src/linux-4.4.82-6.3/include/linux/mm.h:1264: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,
^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1117:33: warning: passing argument 4 of ‘get_user_pages’ makes pointer from integer without a cast [enabled by default]
papVMAs); /* vmas */
^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
/usr/src/linux-4.4.82-6.3/include/linux/mm.h:1264:6: note: expected ‘struct page **’ but argument is of type ‘int’
long get_user_pages(unsigned long start, unsigned long nr_pages,
^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1117:33: warning: passing argument 5 of ‘get_user_pages’ makes pointer from integer without a cast [enabled by default]
papVMAs); /* vmas */
^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
/usr/src/linux-4.4.82-6.3/include/linux/mm.h:1264:6: note: expected ‘struct vm_area_struct **’ but argument is of type ‘int’
long get_user_pages(unsigned long start, unsigned long nr_pages,
^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1117:33: error: too many arguments to function ‘get_user_pages’
papVMAs); /* vmas */
^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
/usr/src/linux-4.4.82-6.3/include/linux/mm.h:1264:6: note: declared here
long get_user_pages(unsigned long start, unsigned long nr_pages,
^
...
In file included from /tmp/vbox.0/r0drv/linux/semeventmulti-r0drv-linux.c:42:0:
/tmp/vbox.0/r0drv/linux/waitqueue-r0drv-linux.h:52:5: error: unknown type name ‘wait_queue_t’
wait_queue_t WaitQE;
^
In file included from /usr/src/linux-4.12.14-95.24/include/linux/mmzone.h:9:0,
from /usr/src/linux-4.12.14-95.24/include/linux/gfp.h:5,
from /usr/src/linux-4.12.14-95.24/include/linux/slab.h:14,
from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:82,
from /tmp/vbox.0/r0drv/linux/semeventmulti-r0drv-linux.c:32:
/tmp/vbox.0/r0drv/linux/waitqueue-r0drv-linux.h: In function ‘rtR0SemLnxWaitInit’:
/usr/src/linux-4.12.14-95.24/include/linux/wait.h:1002:9: error: request for member ‘private’ in something not a structure or union
(wait)->private = current; \
^
/tmp/vbox.0/r0drv/linux/waitqueue-r0drv-linux.h:183:5: note: in expansion of macro ‘init_wait’
init_wait((&pWait->WaitQE));
^
/usr/src/linux-4.12.14-95.24/include/linux/wait.h:1003:9: error: request for member ‘func’ in something not a structure or union
(wait)->func = autoremove_wake_function; \
^
/tmp/vbox.0/r0drv/linux/waitqueue-r0drv-linux.h:183:5: note: in expansion of macro ‘init_wait’
init_wait((&pWait->WaitQE));
^
/usr/src/linux-4.12.14-95.24/include/linux/wait.h:1004:25: error: request for member ‘entry’ in something not a structure or union
INIT_LIST_HEAD(&(wait)->entry); \
^
/tmp/vbox.0/r0drv/linux/waitqueue-r0drv-linux.h:183:5: note: in expansion of macro ‘init_wait’
init_wait((&pWait->WaitQE));
^
/usr/src/linux-4.12.14-95.24/include/linux/wait.h:1005:9: error: request for member ‘flags’ in something not a structure or union
(wait)->flags = 0; \
^
/tmp/vbox.0/r0drv/linux/waitqueue-r0drv-linux.h:183:5: note: in expansion of macro ‘init_wait’
init_wait((&pWait->WaitQE));
^
In file included from /tmp/vbox.0/r0drv/linux/semevent-r0drv-linux.c:42:0:
/tmp/vbox.0/r0drv/linux/waitqueue-r0drv-linux.h:52:5: error: unknown type name ‘wait_queue_t’
wait_queue_t WaitQE;
^
In file included from /usr/src/linux-4.12.14-95.24/include/linux/mmzone.h:9:0,
from /usr/src/linux-4.12.14-95.24/include/linux/gfp.h:5,
from /usr/src/linux-4.12.14-95.24/include/linux/slab.h:14,
from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:82,
from /tmp/vbox.0/r0drv/linux/semevent-r0drv-linux.c:32:
/tmp/vbox.0/r0drv/linux/waitqueue-r0drv-linux.h: In function ‘rtR0SemLnxWaitInit’:
/usr/src/linux-4.12.14-95.24/include/linux/wait.h:1002:9: error: request for member ‘private’ in something not a structure or union
(wait)->private = current; \
^
/tmp/vbox.0/r0drv/linux/waitqueue-r0drv-linux.h:183:5: note: in expansion of macro ‘init_wait’
init_wait((&pWait->WaitQE));
^
/usr/src/linux-4.12.14-95.24/include/linux/wait.h:1003:9: error: request for member ‘func’ in something not a structure or union
(wait)->func = autoremove_wake_function; \
^
/tmp/vbox.0/r0drv/linux/waitqueue-r0drv-linux.h:183:5: note: in expansion of macro ‘init_wait’
init_wait((&pWait->WaitQE));
^
/usr/src/linux-4.12.14-95.24/include/linux/wait.h:1004:25: error: request for member ‘entry’ in something not a structure or union
INIT_LIST_HEAD(&(wait)->entry); \
^
/tmp/vbox.0/r0drv/linux/waitqueue-r0drv-linux.h:183:5: note: in expansion of macro ‘init_wait’
init_wait((&pWait->WaitQE));
^
/usr/src/linux-4.12.14-95.24/include/linux/wait.h:1005:9: error: request for member ‘flags’ in something not a structure or union
(wait)->flags = 0; \
^
/tmp/vbox.0/r0drv/linux/waitqueue-r0drv-linux.h:183:5: note: in expansion of macro ‘init_wait’
init_wait((&pWait->WaitQE));
^
In file included from /tmp/vbox.0/r0drv/linux/semevent-r0drv-linux.c:42:0:
/tmp/vbox.0/r0drv/linux/waitqueue-r0drv-linux.h: In function ‘rtR0SemLnxWaitPrepare’:
/tmp/vbox.0/r0drv/linux/waitqueue-r0drv-linux.h:207:5: warning: passing argument 2 of ‘prepare_to_wait’ from incompatible pointer type [enabled by default]
prepare_to_wait(pWait->pWaitQueue, &pWait->WaitQE, pWait->iWaitState);
^
In file included from /usr/src/linux-4.12.14-95.24/include/linux/mmzone.h:9:0,
from /usr/src/linux-4.12.14-95.24/include/linux/gfp.h:5,
from /usr/src/linux-4.12.14-95.24/include/linux/slab.h:14,
from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:82,
from /tmp/vbox.0/r0drv/linux/semevent-r0drv-linux.c:32:
/usr/src/linux-4.12.14-95.24/include/linux/wait.h:983:6: note: expected ‘struct wait_queue_entry *’ but argument is of type ‘int *’
void prepare_to_wait(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry, int state);
^
In file included from /tmp/vbox.0/r0drv/linux/semevent-r0drv-linux.c:42:0:
/tmp/vbox.0/r0drv/linux/waitqueue-r0drv-linux.h: In function ‘rtR0SemLnxWaitDelete’:
...