File fixes_for_5.14.patch of Package virtualbox.openSUSE_Leap_15.3_Update
Index: VirtualBox-6.1.28/src/VBox/Additions/linux/sharedfolders/regops.c
===================================================================
--- VirtualBox-6.1.28.orig/src/VBox/Additions/linux/sharedfolders/regops.c
+++ VirtualBox-6.1.28/src/VBox/Additions/linux/sharedfolders/regops.c
@@ -2138,7 +2138,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 (!(VBSF_GET_ITER_TYPE(iter) & ITER_KVEC)) {
+#else
+ if (!iov_iter_is_kvec(iter)) {
+#endif
/*
* Do we have a stashed page?
*/
@@ -2385,7 +2389,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) || (VBSF_GET_ITER_TYPE(iter) & ITER_KVEC)) {
+#else
+ if (iter_is_iovec(iter) || iov_iter_is_kvec(iter)) {
+#endif
# endif
const struct iovec *pCurIov = iter->iov;
size_t cLeft = iter->nr_segs;
@@ -2448,7 +2456,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 = VBSF_GET_ITER_TYPE(iter) & 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
@@ -3831,7 +3843,9 @@ struct address_space_operations vbsf_reg
.write_end = vbsf_write_end,
#elif 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,