VirtualBox

Custom Query (16612 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (13 - 15 of 16612)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Ticket Resolution Summary Owner Reporter
#18869 fixed vbox_ttm.c - header file nit in include directive Frank Batschulat (Oracle)
Description

From: "Gianfranco Costamagna" <> To: "VirtualBox Developer's List" <>

Subject: [vbox-dev] kernel 5.2 build fix [PATCH] Date: Mon, 26 Aug 2019 12:02:26 +0200

Hello, for some reasons, see [1] virtualbox doesn't build its kernel modules correctly on some configurations...The following patch fixes the issue

+--- virtualbox-6.0.10-dfsg.orig/src/VBox/Additions/linux/drm/vbox_ttm.c
++++ virtualbox-6.0.10-dfsg/src/VBox/Additions/linux/drm/vbox_ttm.c
+@@ -33,7 +33,7 @@
+  *          Michael Thayer <>
+  */
+ #include "vbox_drv.h"
+-#include <ttm/ttm_page_alloc.h>
++#include <drm/ttm/ttm_page_alloc.h>
+
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && !defined(RHEL_72)
+ #define PLACEMENT_FLAGS(placement) (placement)

please apply(you are not supposed to think that kernel is exporting -Iinclude/drm directory, and in all the other places it is not included that way)

see for comparison:src/VBox/Additions/linux/drm/vbox_drv.h:#include  
<drm/ttm/ttm_bo_api.h>
src/VBox/Additions/linux/drm/vbox_drv.h:#include <drm/ttm/ttm_bo_driver.h>
src/VBox/Additions/linux/drm/vbox_drv.h:#include <drm/ttm/ttm_placement.h>
src/VBox/Additions/linux/drm/vbox_drv.h:#include <drm/ttm/ttm_memory.h>
src/VBox/Additions/linux/drm/vbox_drv.h:#include <drm/ttm/ttm_module.h>

MIT licensed, as usual G. [1] https://bugs.debian.org/934483

https://www.virtualbox.org/pipermail/vbox-dev/2019-August/015323.html

#19033 fixed Guest Additions Build test for Systemd is not robust => Fixed in SVN Harry M
Description

The test for the presence or not of systemd in the GA build process is not robust enough for all cases. Currently, the use_systemd() in routines.sh relies on criteria which may not be true for all cases where systemd is not in use. One such example is Artix, an archlinux variant without systemd, but there are likely to be others.

On Artix, as the example here, the routine tests if /sbin/init is a symlink, which it is. But the routine (incorrectly) assumes that such a link is indicative of a systemd environment.

The problem is that when the installer tests for systemd when it is not present but it thinks it really is present, apparently, the steps the GA build are not followed to completion.

I am not certain what a truly robust test would be, but maybe looking at files that are only created in the presence of systemd would be better (maybe something under /etc?). Keep in mind that "shim" packages on non-systemd platforms often install similarly-named files and programs to those in systemd, so relying on those may also not be completely robust.

#19112 worksforme vboxsf (Guest Additions 6.0.14) fails to compile on Linux 3.16 eposse
Description

As the title says, vboxsf from Guest Additions 6.0.14 fails to compile on Linux 3.16. More precisely, I'm running VirtualBox 6.0.14, with guest lubuntu 14.04 (kernel 3.16.0-30), 64 bits, on a macOS 10.15 (Catalina) host. The vboxguest module is successfully compiled and loaded (verified with lsmod), but not vboxsf.

I have searched the forum and see similar problems reported, and even a ticket (#18238: vboxsf module (6.0.0) does not compile for kernel 3.10 -> fixed after (not in) 5.2.22/6.0.0 or in test builds) but none of those are the same as the error I'm seeing.

I noticed the problem when I noticed that my share folders were not working. After using lsmod and modprobe I found that vboxguest was loaded, but vboxsf was not. Furthermore, looking into the modules directory at /lib/modules/3.16.0-30-generic/misc shows only vboxguest.ko, but not vboxsf.ko.

So I went to the guest additions source folder and tried to build it manually (running /opt/VBoxGuestAdditions-6.0.14/src/vboxguest-6.0.14/build_in_tmp --module-source vboxsf). This results in the following compilation error:

  gcc -Wp,-MD,/tmp/vbox.1/.regops.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/4.8/include  -I./arch/x86/include -Iarch/x86/include/generated  -Iinclude -I./arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I./include/uapi -Iinclude/generated/uapi -include ./include/linux/kconfig.h -Iubuntu/include  -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -m64 -mno-mmx -mno-sse -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_X86_X32_ABI -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fno-delete-null-pointer-checks -O2 -Wframe-larger-than=1024 -fstack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -DCC_HAVE_ASM_GOTO -Wno-declaration-after-statement -fno-pie -include /tmp/vbox.1//include/VBox/VBoxGuestMangling.h -fshort-wchar -O2 -I./include -I/tmp/vbox.1/ -I/tmp/vbox.1/include -I/tmp/vbox.1/r0drv/linux -D__KERNEL__ -DMODULE -DRT_WITHOUT_PRAGMA_ONCE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DVBOX_WITH_HGCM -DIN_MODULE -DIN_GUEST -DIN_GUEST_R0 -DRT_NO_EXPORT_SYMBOL -DVBOX_WITH_64_BITS_GUESTS -DRT_ARCH_AMD64  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(regops)"  -D"KBUILD_MODNAME=KBUILD_STR(vboxsf)" -c -o /tmp/vbox.1/.tmp_regops.o /tmp/vbox.1/regops.c
/tmp/vbox.1/regops.c: In function ‘vbsf_iov_iter_get_pages_3_16’:
/tmp/vbox.1/regops.c:314:5: warning: passing argument 4 of ‘iov_iter_get_pages’ makes integer from pointer without a cast [enabled by default]
     return iov_iter_get_pages(iter, papPages, cbMax, poffPg0);
     ^
In file included from /tmp/vbox.1/regops.c:36:0:
include/linux/uio.h:86:9: note: expected ‘unsigned int’ but argument is of type ‘size_t *’
 ssize_t iov_iter_get_pages(struct iov_iter *i, struct page **pages,
         ^
/tmp/vbox.1/regops.c:314:5: error: too few arguments to function ‘iov_iter_get_pages’
     return iov_iter_get_pages(iter, papPages, cbMax, poffPg0);
     ^
In file included from /tmp/vbox.1/regops.c:36:0:
include/linux/uio.h:86:9: note: declared here
 ssize_t iov_iter_get_pages(struct iov_iter *i, struct page **pages,
         ^
/tmp/vbox.1/regops.c:315:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
make[2]: *** [/tmp/vbox.1/regops.o] Error 1
make[1]: *** [_module_/tmp/vbox.1] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.16.0-30-generic'
make: *** [vboxsf] Error 2

So I looked for the problematic function signature and I found the "uio.h" header under /lib/modules/3.16.0-30-generic/build/include/linux, and surely enough, the signature for that function is

ssize_t iov_iter_get_pages(struct iov_iter *i, struct page **pages,
                size_t maxsize, unsigned maxpages, size_t *start);

and in regops.c, it is called in the following function:

#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0) && LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 35)

/** This is for implementing cMaxPage on 3.16 which doesn't have it. */
static ssize_t vbsf_iov_iter_get_pages_3_16(struct iov_iter *iter, struct page **papPages,
                                            size_t cbMax, unsigned cMaxPages, size_t *poffPg0)
{
    if (!(iter->type & ITER_BVEC)) {
        size_t const offPg0     = iter->iov_offset & PAGE_OFFSET_MASK;
        size_t const cbMaxPages = ((size_t)cMaxPages << PAGE_SHIFT) - offPg0;
        if (cbMax > cbMaxPages)
            cbMax = cbMaxPages;
    }
    /* else: BVEC works a page at a time and shouldn't have much of a problem here. */
    return iov_iter_get_pages(iter, papPages, cbMax, poffPg0);
}

Note that this function is defined explicitly for kernel version 3.16.0, but the function declared in uio.h has five parameters and it is being called with four arguments.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette