Opened 5 years ago
Closed 5 years ago
#18869 closed defect (fixed)
vbox_ttm.c - header file nit in include directive
Reported by: | Frank Batschulat (Oracle) | Owned by: | |
---|---|---|---|
Component: | guest additions | Version: | VirtualBox 6.0.10 |
Keywords: | drm header file | Cc: | |
Guest type: | Linux | Host type: | Linux |
Description (last modified by )
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
Change History (13)
comment:1 by , 5 years ago
Description: | modified (diff) |
---|
comment:2 by , 5 years ago
Owner: | set to |
---|---|
Status: | new → accepted |
comment:3 by , 5 years ago
Description: | modified (diff) |
---|
comment:5 by , 5 years ago
The problem has already been fixed in Trunk and 6.0 branch in a different way by changing the corresponding VBOX makefile:
src/VBox/Additions/linux/drm/Makefile.module.kms -- 51 include/drm -- 52 ## @todo r=bird: -Iinclude/drm is ambigious. ++ 51 $(KERN_INCL)/drm
with Changeset 132724.
this will also be backported to the 5.2 branch.
closing bug as fixed.
comment:6 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
comment:7 by , 5 years ago
From: "Gianfranco Costamagna" <> To: vbox-dev@… Subject: Re: [vbox-dev] [PATCH] drm vbox_ttm build fix Date: Sat, 19 Oct 2019 13:57:10 +0200
Hello Frank,
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> src/VBox/Additions/linux/drm/vbox_ttm.c:#include <ttm/ttm_page_alloc.h>
while the workaround might work for you, it has 2+ issues:1) it makes the includes not consistent across the code2) it is not what kernel developers suggest to do3) breaks other build systems using standard tools to build kernel modules(e.g. Debian dkms, and Yocto builds) can you please also apply the patch? thanks!
Il giovedì 17 ottobre 2019, 13:30:38 CEST, Frank Batschulat <> ha scritto:
Gianfranco, pls. refer to
https://www.virtualbox.org/ticket/18869
On 17.10.19 12:51, Gianfranco Costamagna wrote:
Hello, this patch was already acked but seems to have missed the 6.0.14 release Bug-Debian: https://bugs.debian.org/934483 Last-Update: 2019-08-21
> --- 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 <michael.thayer@oracle.com> > */ > #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)
MIT licensed, and fixes a build failure with some new kernels, by unifying the include header in all the places thanks Gianfranco
comment:9 by , 5 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
comment:10 by , 5 years ago
Owner: | removed |
---|---|
Status: | reopened → assigned |
comment:12 by , 5 years ago
comment:13 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
suggested fix: