summaryrefslogtreecommitdiffstats
path: root/main/open-vm-tools-grsec
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2012-10-17 13:04:10 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2012-10-17 13:04:10 +0000
commit20dfa7dc7ee9f2d60efff67f8af391a856920af9 (patch)
treeb543837ef42d5a2cc8968250674e3df3562afbe6 /main/open-vm-tools-grsec
parent2b43cae7d76365efd289ad0af195fd81e86c5264 (diff)
downloadaports-20dfa7dc7ee9f2d60efff67f8af391a856920af9.tar.bz2
aports-20dfa7dc7ee9f2d60efff67f8af391a856920af9.tar.xz
main/open-vm-tools-grsec: rebuild against 3.6.2 kernel
Diffstat (limited to 'main/open-vm-tools-grsec')
-rw-r--r--main/open-vm-tools-grsec/APKBUILD6
-rw-r--r--main/open-vm-tools-grsec/linux-3.6-build-fix.patch63
2 files changed, 67 insertions, 2 deletions
diff --git a/main/open-vm-tools-grsec/APKBUILD b/main/open-vm-tools-grsec/APKBUILD
index 1bea2172c..5e0a4318d 100644
--- a/main/open-vm-tools-grsec/APKBUILD
+++ b/main/open-vm-tools-grsec/APKBUILD
@@ -2,12 +2,12 @@
_flavor=grsec
_realname=open-vm-tools
-_kver=3.4.13
+_kver=3.6.2
_kpkgrel=0
_realver=9.2.0_p799703
_ver=${_realver/_p/-}
-_mypkgrel=1
+_mypkgrel=0
# source open-vm-tools version
if [ -f ../main/$_realname/APKBUILD ]; then
@@ -38,6 +38,7 @@ subpackages=""
depends="linux-${_flavor}=${_kernelver}"
makedepends="glib-dev gettext-dev linux-${_flavor}-dev=${_kernelver}"
source="http://downloads.sourceforge.net/project/open-vm-tools/open-vm-tools/stable-${_realver%.*}.x/open-vm-tools-${_ver}.tar.gz
+ linux-3.6-build-fix.patch
vmware-modules.initd
"
# constify.patch
@@ -80,4 +81,5 @@ package() {
}
md5sums="37341978a00a1568b898a8ce024f9da9 open-vm-tools-9.2.0-799703.tar.gz
+d9ffaf628837ea6a216b96dac69705e6 linux-3.6-build-fix.patch
afba2c3487d0b12cee80eb2f04b05ba1 vmware-modules.initd"
diff --git a/main/open-vm-tools-grsec/linux-3.6-build-fix.patch b/main/open-vm-tools-grsec/linux-3.6-build-fix.patch
new file mode 100644
index 000000000..f012a3ff1
--- /dev/null
+++ b/main/open-vm-tools-grsec/linux-3.6-build-fix.patch
@@ -0,0 +1,63 @@
+diff -wbBur open-vm-tools-2012.05.21-724730.org/modules/linux/vmhgfs/inode.c open-vm-tools-2012.05.21-724730/modules/linux/vmhgfs/inode.c
+--- open-vm-tools-2012.05.21-724730.org/modules/linux/vmhgfs/inode.c 2012-05-23 00:12:52.000000000 +0400
++++ open-vm-tools-2012.05.21-724730/modules/linux/vmhgfs/inode.c 2012-10-02 15:39:47.000000000 +0400
+@@ -1801,7 +1802,7 @@
+ #else
+ if (mask & MAY_ACCESS) { /* For sys_access. */
+ #endif
+- struct list_head *pos;
++ struct hlist_node *pos;
+ int dcount = 0;
+ struct dentry *dentry = NULL;
+
+@@ -1817,7 +1818,7 @@
+ #endif
+
+ /* Find a dentry with valid d_count. Refer bug 587789. */
+- list_for_each(pos, &inode->i_dentry) {
++ list_for_each(pos, inode->i_dentry.first) {
+ dentry = list_entry(pos, struct dentry, d_alias);
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 38)
+ dcount = atomic_read(&dentry->d_count);
+diff -wbBur open-vm-tools-2012.05.21-724730.org/modules/linux/vmhgfs/page.c open-vm-tools-2012.05.21-724730/modules/linux/vmhgfs/page.c
+--- open-vm-tools-2012.05.21-724730.org/modules/linux/vmhgfs/page.c 2012-05-23 00:12:52.000000000 +0400
++++ open-vm-tools-2012.05.21-724730/modules/linux/vmhgfs/page.c 2012-10-02 15:41:38.000000000 +0400
+@@ -893,7 +893,7 @@
+ */
+ if ((offset >= currentFileSize) ||
+ ((pageFrom == 0) && (offset + pageTo) >= currentFileSize)) {
+- void *kaddr = kmap_atomic(page, KM_USER0);
++ void *kaddr = kmap_atomic(page);
+
+ if (pageFrom) {
+ memset(kaddr, 0, pageFrom);
+@@ -901,7 +901,7 @@
+ if (pageTo < PAGE_CACHE_SIZE) {
+ memset(kaddr + pageTo, 0, PAGE_CACHE_SIZE - pageTo);
+ }
+- kunmap_atomic(kaddr, KM_USER0);
++ kunmap_atomic(kaddr);
+ flush_dcache_page(page);
+ }
+ }
+diff -wbBur open-vm-tools-2012.05.21-724730.org/modules/linux/vmsync/sync.c open-vm-tools-2012.05.21-724730/modules/linux/vmsync/sync.c
+--- open-vm-tools-2012.05.21-724730.org/modules/linux/vmsync/sync.c 2012-05-23 00:12:52.000000000 +0400
++++ open-vm-tools-2012.05.21-724730/modules/linux/vmsync/sync.c 2012-10-02 15:23:56.000000000 +0400
+@@ -162,7 +162,7 @@
+ cancel_delayed_work(&state->thawTask);
+ list_for_each_safe(cur, tmp, &state->devices) {
+ dev = list_entry(cur, VmSyncBlockDevice, list);
+- if (dev->sb != NULL && dev->sb->s_frozen != SB_UNFROZEN) {
++ if (dev->sb != NULL && dev->sb->s_writers.frozen != SB_UNFROZEN) {
+ thaw_bdev(dev->bdev, dev->sb);
+ atomic_dec(&gFreezeCount);
+ }
+@@ -237,7 +237,7 @@
+ * the superblock is already frozen.
+ */
+ if (inode->i_sb->s_bdev == NULL ||
+- inode->i_sb->s_frozen != SB_UNFROZEN) {
++ inode->i_sb->s_writers.frozen != SB_UNFROZEN) {
+ result = (inode->i_sb->s_bdev == NULL) ? -EINVAL : -EALREADY;
+ compat_path_release(&nd);
+ goto exit;