forked from pool/virtualbox
0df9a5d8c9
- Add file "fixes_for_5.14.patch" to fix builds on kernel 5.14. OBS-URL: https://build.opensuse.org/request/show/906333 OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=609
51 lines
1.9 KiB
Diff
51 lines
1.9 KiB
Diff
Index: VirtualBox-6.1.22/src/VBox/Additions/linux/sharedfolders/regops.c
|
|
===================================================================
|
|
--- VirtualBox-6.1.22.orig/src/VBox/Additions/linux/sharedfolders/regops.c
|
|
+++ VirtualBox-6.1.22/src/VBox/Additions/linux/sharedfolders/regops.c
|
|
@@ -2126,7 +2126,11 @@ static int vbsf_iter_lock_pages(struct i
|
|
int rc = 0;
|
|
|
|
Assert(iov_iter_count(iter) + pStash->cb > 0);
|
|
+#if RTLNX_VER_MAX(5, 14,0)
|
|
if (!(iter->type & ITER_KVEC)) {
|
|
+#else
|
|
+ if (iov_iter_type(iter) != ITER_KVEC) {
|
|
+#endif
|
|
/*
|
|
* Do we have a stashed page?
|
|
*/
|
|
@@ -2373,7 +2377,11 @@ static size_t vbsf_iter_max_span_of_page
|
|
{
|
|
size_t cPages;
|
|
# if RTLNX_VER_MIN(3,16,0)
|
|
+# if RTLNX_VER_MAX(5, 14, 0)
|
|
if (iter_is_iovec(iter) || (iter->type & ITER_KVEC)) {
|
|
+#else
|
|
+ if (iter_is_iovec(iter) || (iter_is_iovec(iter) == ITER_KVEC)) {
|
|
+#endif
|
|
#endif
|
|
const struct iovec *pCurIov = iter->iov;
|
|
size_t cLeft = iter->nr_segs;
|
|
@@ -2436,7 +2444,11 @@ static size_t vbsf_iter_max_span_of_page
|
|
} else {
|
|
/* Won't bother with accurate counts for the next two types, just make
|
|
some rough estimates (does pipes have segments?): */
|
|
+#if RTLNX_VER_MAX(5, 14,0)
|
|
size_t cSegs = iter->type & ITER_BVEC ? RT_MAX(1, iter->nr_segs) : 1;
|
|
+#else
|
|
+ size_t cSegs = (iov_iter_type(iter) == ITER_BVEC) ? RT_MAX(1, iter->nr_segs) : 1;
|
|
+#endif
|
|
cPages = (iov_iter_count(iter) + (PAGE_SIZE * 2 - 2) * cSegs) >> PAGE_SHIFT;
|
|
}
|
|
# endif
|
|
@@ -3793,7 +3805,9 @@ struct address_space_operations vbsf_reg
|
|
#endif
|
|
#if RTLNX_VER_MIN(2,6,24)
|
|
.write_begin = vbsf_write_begin,
|
|
+#if RTLNX_VER_MAX(5, 14, 0)
|
|
.write_end = simple_write_end,
|
|
+#endif
|
|
#elif RTLNX_VER_MIN(2,5,45)
|
|
.prepare_write = simple_prepare_write,
|
|
.commit_write = simple_commit_write,
|