diff options
Diffstat (limited to 'src/VBox/Additions/linux/sharedfolders/regops.c')
-rw-r--r-- | src/VBox/Additions/linux/sharedfolders/regops.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/VBox/Additions/linux/sharedfolders/regops.c b/src/VBox/Additions/linux/sharedfolders/regops.c index ca604090..d98add74 100644 --- a/src/VBox/Additions/linux/sharedfolders/regops.c +++ b/src/VBox/Additions/linux/sharedfolders/regops.c @@ -2535,7 +2535,11 @@ static ssize_t vbsf_reg_read_iter_locking(struct kiocb *kio, struct iov_iter *it if (rc == 0) { size_t iPage = cPages; while (iPage-- > 0) - pReq->PgLst.aPages[iPage] = page_to_phys(papPages[iPage]); + { + RTGCPHYS64 * paDstPages = pReq->PgLst.aPages; + paDstPages[iPage] = page_to_phys(papPages[iPage]); + } + pReq->PgLst.offFirstPage = (uint16_t)offPage0; AssertStmt(cbChunk <= cbToRead, cbChunk = cbToRead); } else { @@ -2749,7 +2753,10 @@ static ssize_t vbsf_reg_write_iter_locking(struct kiocb *kio, struct iov_iter *i if (rc == 0) { size_t iPage = cPages; while (iPage-- > 0) - pReq->PgLst.aPages[iPage] = page_to_phys(papPages[iPage]); + { + RTGCPHYS64 * paDstPages = pReq->PgLst.aPages; + paDstPages[iPage] = page_to_phys(papPages[iPage]); + } pReq->PgLst.offFirstPage = (uint16_t)offPage0; AssertStmt(cbChunk <= cbToWrite, cbChunk = cbToWrite); } else { @@ -3505,7 +3512,7 @@ static struct vm_operations_struct const g_LoggingVmOpsTemplate = { }; /** file_operations::mmap wrapper for logging purposes. */ -extern int vbsf_reg_mmap(struct file *file, struct vm_area_struct *vma) +static int vbsf_reg_mmap(struct file *file, struct vm_area_struct *vma) { int rc; SFLOGFLOW(("vbsf_reg_mmap: file=%p vma=%p\n", file, vma)); @@ -3786,14 +3793,14 @@ static inline void vbsf_write_begin_warn(loff_t pos, unsigned len, unsigned flag } # if RTLNX_VER_MIN(5,19,0) || RTLNX_RHEL_RANGE(9,3, 9,99) -int vbsf_write_begin(struct file *file, struct address_space *mapping, loff_t pos, +static int vbsf_write_begin(struct file *file, struct address_space *mapping, loff_t pos, unsigned len, struct page **pagep, void **fsdata) { vbsf_write_begin_warn(pos, len, 0); return simple_write_begin(file, mapping, pos, len, pagep, fsdata); } # else -int vbsf_write_begin(struct file *file, struct address_space *mapping, loff_t pos, +static int vbsf_write_begin(struct file *file, struct address_space *mapping, loff_t pos, unsigned len, unsigned flags, struct page **pagep, void **fsdata) { vbsf_write_begin_warn(pos, len, flags); |