diff options
author | Bruce Ashfield <bruce.ashfield@gmail.com> | 2023-07-04 16:11:21 +0000 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2023-07-04 09:20:13 -0700 |
commit | 26a65327ef3803c51c818f788c2929abec29705d (patch) | |
tree | 789d53e1ce50e225bac8d5222a0881d6c9619ff6 /meta-oe | |
parent | c4622575ff170e859aca4e9fe266e7c2a209799b (diff) | |
download | meta-openembedded-26a65327ef3803c51c818f788c2929abec29705d.tar.gz |
vboxguestdrivers: fix compilation against 6.4 kernel / headers
The vboxguest drivers (vboxsf) fail to build against the 6.4 kernel
due to iovec iterator changes.
This is a port of the gentoo patches (which are picked from the upstream
virtualbox repository) to address the compilation issues.
We obviously can drop these when the next version of the guest additions
is available.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe')
3 files changed, 74 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-1.patch b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-1.patch new file mode 100644 index 000000000..37ef3a9d5 --- /dev/null +++ b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-1.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | Initial support for kernel 6.4 | ||
2 | https://www.virtualbox.org/changeset/99666/vbox | ||
3 | |||
4 | Upstream-Status: Backport [https://gitweb.gentoo.org/repo/gentoo.git/tree/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-1.patch] | ||
5 | |||
6 | Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> | ||
7 | |||
8 | --- a/src/VBox/Additions/linux/sharedfolders/regops.c | ||
9 | +++ b/src/VBox/Additions/linux/sharedfolders/regops.c | ||
10 | @@ -75,4 +75,11 @@ | ||
11 | #if RTLNX_VER_MAX(2,5,12) | ||
12 | # define PageUptodate(a_pPage) Page_Uptodate(a_pPage) | ||
13 | +#endif | ||
14 | + | ||
15 | +/** Starting from 6.4.0, iter_iov() macro should be used in order to access to iov field. */ | ||
16 | +#if RTLNX_VER_MIN(6,4,0) | ||
17 | +# define VBOX_ITER_IOV(_iter) iter_iov(_iter) | ||
18 | +#else | ||
19 | +# define VBOX_ITER_IOV(_iter) iter->iov | ||
20 | #endif | ||
21 | |||
22 | @@ -2400,5 +2407,5 @@ | ||
23 | if (iter_is_iovec(iter) || (VBSF_GET_ITER_TYPE(iter) & ITER_KVEC)) { | ||
24 | # endif | ||
25 | - const struct iovec *pCurIov = iter->iov; | ||
26 | + const struct iovec *pCurIov = VBOX_ITER_IOV(iter); | ||
27 | size_t cLeft = iter->nr_segs; | ||
28 | size_t cPagesSpan = 0; | ||
29 | |||
diff --git a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-2.patch b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-2.patch new file mode 100644 index 000000000..20c8fbd3f --- /dev/null +++ b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-2.patch | |||
@@ -0,0 +1,43 @@ | |||
1 | Initial support for kernel 6.4 | ||
2 | https://www.virtualbox.org/changeset/99667/vbox | ||
3 | |||
4 | |||
5 | Upstream-Status: Backport [https://gitweb.gentoo.org/repo/gentoo.git/tree/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-2.patch] | ||
6 | |||
7 | Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> | ||
8 | |||
9 | --- a/src/VBox/Additions/linux/sharedfolders/regops.c | ||
10 | +++ b/src/VBox/Additions/linux/sharedfolders/regops.c | ||
11 | @@ -77,11 +77,4 @@ | ||
12 | #endif | ||
13 | |||
14 | -/** Starting from 6.4.0, iter_iov() macro should be used in order to access to iov field. */ | ||
15 | -#if RTLNX_VER_MIN(6,4,0) | ||
16 | -# define VBOX_ITER_IOV(_iter) iter_iov(_iter) | ||
17 | -#else | ||
18 | -# define VBOX_ITER_IOV(_iter) iter->iov | ||
19 | -#endif | ||
20 | - | ||
21 | |||
22 | /********************************************************************************************************************************* | ||
23 | @@ -94,4 +87,12 @@ | ||
24 | #else | ||
25 | # define VBSF_GET_ITER_TYPE(a_pIter) ((a_pIter)->type) | ||
26 | +#endif | ||
27 | + | ||
28 | +/** Starting from 6.4.0, iter_iov() macro should be used in order to access to iov field | ||
29 | + * of struct iov_iter. */ | ||
30 | +#if RTLNX_VER_MIN(6,4,0) | ||
31 | +# define VBSF_GET_ITER_IOV(_iter) iter_iov(_iter) | ||
32 | +#else | ||
33 | +# define VBSF_GET_ITER_IOV(_iter) iter->iov | ||
34 | #endif | ||
35 | |||
36 | @@ -2407,5 +2408,5 @@ | ||
37 | if (iter_is_iovec(iter) || (VBSF_GET_ITER_TYPE(iter) & ITER_KVEC)) { | ||
38 | # endif | ||
39 | - const struct iovec *pCurIov = VBOX_ITER_IOV(iter); | ||
40 | + const struct iovec *pCurIov = VBSF_GET_ITER_IOV(iter); | ||
41 | size_t cLeft = iter->nr_segs; | ||
42 | size_t cPagesSpan = 0; | ||
43 | |||
diff --git a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.8.bb b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.8.bb index ed3e429b3..233323bf7 100644 --- a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.8.bb +++ b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.8.bb | |||
@@ -13,6 +13,8 @@ VBOX_NAME = "VirtualBox-${PV}" | |||
13 | 13 | ||
14 | SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \ | 14 | SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \ |
15 | file://Makefile.utils \ | 15 | file://Makefile.utils \ |
16 | file://virtualbox-guest-additions-7.0.8-kernel-6.4-patch-1.patch \ | ||
17 | file://virtualbox-guest-additions-7.0.8-kernel-6.4-patch-2.patch \ | ||
16 | " | 18 | " |
17 | 19 | ||
18 | SRC_URI[sha256sum] = "c305fbe480f507eac7c36893ead66dffaacda944f19c3813a4533e9c39bae237" | 20 | SRC_URI[sha256sum] = "c305fbe480f507eac7c36893ead66dffaacda944f19c3813a4533e9c39bae237" |