From ae2df53d7cdb086ba6774aa29f49406035dd04b8974ee575864d6cf906719343 Mon Sep 17 00:00:00 2001 From: Martin Pluskal Date: Sat, 16 Apr 2016 11:47:44 +0000 Subject: [PATCH] Accepting request 390257 from home:lwfinger:branches:Virtualization Fix for page-cache-release() no longer in kernel OBS-URL: https://build.opensuse.org/request/show/390257 OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=250 --- vbox-replace-page-cache-release.diff | 35 ++++++++++++++++++++++++++++ virtualbox.changes | 6 +++++ virtualbox.spec | 3 +++ 3 files changed, 44 insertions(+) create mode 100644 vbox-replace-page-cache-release.diff diff --git a/vbox-replace-page-cache-release.diff b/vbox-replace-page-cache-release.diff new file mode 100644 index 0000000..23f365a --- /dev/null +++ b/vbox-replace-page-cache-release.diff @@ -0,0 +1,35 @@ +Index: VirtualBox-5.0.17/src/VBox/Additions/linux/sharedfolders/regops.c +=================================================================== +--- VirtualBox-5.0.17.orig/src/VBox/Additions/linux/sharedfolders/regops.c ++++ VirtualBox-5.0.17/src/VBox/Additions/linux/sharedfolders/regops.c +@@ -712,7 +712,7 @@ int sf_write_end(struct file *file, stru + } + + unlock_page(page); +- page_cache_release(page); ++ put_page(page); + + return nwritten; + } +Index: VirtualBox-5.0.17/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c +=================================================================== +--- VirtualBox-5.0.17.orig/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c ++++ VirtualBox-5.0.17/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c +@@ -578,7 +578,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR + { + if (!PageReserved(pMemLnx->apPages[iPage])) + SetPageDirty(pMemLnx->apPages[iPage]); +- page_cache_release(pMemLnx->apPages[iPage]); ++ put_page(pMemLnx->apPages[iPage]); + } + + if (pTask && pTask->mm) +@@ -1081,7 +1081,7 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser + { + if (!PageReserved(pMemLnx->apPages[rc])) + SetPageDirty(pMemLnx->apPages[rc]); +- page_cache_release(pMemLnx->apPages[rc]); ++ put_page(pMemLnx->apPages[rc]); + } + + up_read(&pTask->mm->mmap_sem); diff --git a/virtualbox.changes b/virtualbox.changes index b5d5d27..e7f8193 100644 --- a/virtualbox.changes +++ b/virtualbox.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Apr 15 19:17:58 UTC 2016 - Larry.Finger@lwfinger.net + +- Fix build error caused by removal of macro page_cache_release() from kernel. + File "vbox-replace-page-cache-release.diff" is used to modify code to use put_page() instead. + ------------------------------------------------------------------- Mon Apr 4 00:01:12 UTC 2016 - Larry.Finger@lwfinger.net diff --git a/virtualbox.spec b/virtualbox.spec index c27b98b..3da0173 100644 --- a/virtualbox.spec +++ b/virtualbox.spec @@ -87,6 +87,8 @@ Patch109: vbox-usb-warning.diff Patch110: VirtualBox-5.0.17-r106108-r106140.patch # Prevent Guest Additions from creating wrong SONAME Patch111: vbox_prevent_wrong_SONAME.patch +# Fix removal of page_cache_release() macro in 4.6 kernels +Patch112: vbox-replace-page-cache-release.diff # BuildRequires: LibVNCServer-devel BuildRequires: SDL-devel @@ -319,6 +321,7 @@ This package contains icons for guest desktop files that were created on the des %patch109 -p1 %patch110 -p0 %patch111 -p1 +%patch112 -p1 #copy user manual cp %{SOURCE1} UserManual.pdf #copy kbuild config