virtualbox-guest-dkms-hwe 5.2.18-dfsg-3~ubuntu18.04.3 fails to build on 5.0 based kernels [In function ‘VBoxGuest_RTR0MemUserIsValidAddr’: error: macro "access_ok" passed 3 arguments, but takes just 2]
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
virtualbox (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
virtualbox-ext-pack (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
virtualbox-guest-additions-iso (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
virtualbox-hwe (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Medium
|
Connor Kuehl |
Bug Description
[Impact]
* virtualbox-
[Test Case]
* Install the HWE Edge kernel on Bionic:
- `sudo apt install linux-generic-
* Reboot into the new kernel (you should be on a 5.0 kernel now)
* Try installing `virtualbox-
- Expected result: package installs successfully, module can be viewed with `sudo dkms status`
- Actual result: Installation fails due to compilation errors when building the DKMS module.
[Testing]
These steps were performed in an amd64 virtual machine installed from a Bionic cloud image.
* Create a .deb with the .debdiff attached to comment #1
- Uncomment the `deb-src` lines in /etc/apt/
- `sudo apt build-dep virtualbox-hwe`
- `pull-lp-source virtualbox-hwe bionic`
- `cd virtualbox-hwe` (it will be a longer, but similar name to that)
- `patch -p1 < path/to/
- `quilt push -a`
- `debuild -b -us -uc` (note: this build can take some time)
* Install `dkms`
- `sudo apt install dkms`
== On the stock 4.15 Ubuntu kernel ==
* Install the .deb you prepared in the first step.
- `sudo dpkg --install path-to-file.deb`
- Confirm that it installs successfully (as you are running the 4.15 Ubuntu kernel)
* Install the 5.0 edge kernel
- `sudo apt install linux-generic-
* As part of the installation of the new kernel, the active virtualbox DKMS module should be rebuilt. If it is not, remove uninstall the package `sudo apt remove virtualbox-
[Regression Potential]
These changes are conditionally compiled depending on the kernel version. The only exception to this is the addition of an inlined function for operating on timespec64. That is conditionally compiled based on whether the kernel has timespec64, not necessarily just on the kernel version.
However, there are a large number of changes and to keep it manageable, some backporting was required as there were a couple of patches that were based on previous revisions that had undergone large code cleanups (no logic changes, just refactorings and updating certain error paths). These backports were limited to surgically updating the call sites with the new API compatibility wrappers introduced by the patch or a small update to the Makefile so a header file can be located once again. I believe these changes are logically equivalent to what they were before, but this time, compileable since they use the new interfaces/wrappers added by the upstream developers.
Original bug description follows:
-------
The Bionic HWE Edge kernels run on 5.0. Some compilation errors are expected due to the API changes between 4.15 and 5.0. One can see one such error here when trying to install the package on the HWE edge kernel in Bionic: https:/
Changed in virtualbox-hwe (Ubuntu Bionic): | |
status: | New → In Progress |
importance: | Undecided → Medium |
assignee: | nobody → Connor Kuehl (connork) |
summary: |
virtualbox-guest-dkms-hwe 5.2.18-dfsg-3~ubuntu18.04.3 fails to build on - 5.0 based kernels + 5.0 based kernels [In function ‘VBoxGuest_RTR0MemUserIsValidAddr’: + error: macro "access_ok" passed 3 arguments, but takes just 2] |
Changed in virtualbox-hwe (Ubuntu): | |
status: | Invalid → Fix Released |
Changed in virtualbox (Ubuntu): | |
status: | Confirmed → Fix Released |
Changed in virtualbox-ext-pack (Ubuntu): | |
status: | Confirmed → Fix Released |
Changed in virtualbox-guest-additions-iso (Ubuntu): | |
status: | Confirmed → Fix Released |
Attaching debdiff to this comment for SRU consideration into Bionic. Adding SRU information to the bug description.