From 9268f445566c0ad3fab6c0802b44c4a75aff364e Mon Sep 17 00:00:00 2001 From: Sergey Morozov Date: Sun, 26 Oct 2014 18:15:24 +0300 Subject: [PATCH] Update vmware-modules-279.3 from vmware overlay, remove old vmware-modules-279.2 modified: app-emulation/vmware-modules/Manifest renamed: app-emulation/vmware-modules/files/279-userns.patch -> app-emulation/vmware-modules/files/279-3.10-00-userns.patch new file: app-emulation/vmware-modules/files/279-3.10-01-getname.patch new file: app-emulation/vmware-modules/files/279-3.10-03-deprecated.patch new file: app-emulation/vmware-modules/files/279-3.10-04-dentry.patch renamed: app-emulation/vmware-modules/files/279-vfsfollowlink.patch -> app-emulation/vmware-modules/files/279-3.10-05-inode.patch new file: app-emulation/vmware-modules/files/279-3.15-00-readlink.patch new file: app-emulation/vmware-modules/files/279-3.15-01-vsock.patch new file: app-emulation/vmware-modules/files/279-3.17-00-netdev.patch deleted: app-emulation/vmware-modules/files/279-vmblock-3.11.patch deleted: app-emulation/vmware-modules/files/279-vmblock-3.12.patch deleted: app-emulation/vmware-modules/files/hardened.patch deleted: app-emulation/vmware-modules/vmware-modules-279.2.ebuild modified: app-emulation/vmware-modules/vmware-modules-279.3.ebuild --- app-emulation/vmware-modules/Manifest | 16 +- ...-userns.patch => 279-3.10-00-userns.patch} | 4 + .../files/279-3.10-01-getname.patch | 24 +++ .../files/279-3.10-03-deprecated.patch | 89 +++++++++ .../files/279-3.10-04-dentry.patch | 34 ++++ ...llowlink.patch => 279-3.10-05-inode.patch} | 16 +- .../files/279-3.15-00-readlink.patch | 15 ++ .../files/279-3.15-01-vsock.patch | 46 +++++ .../files/279-3.17-00-netdev.patch | 16 ++ .../files/279-vmblock-3.11.patch | 89 --------- .../files/279-vmblock-3.12.patch | 79 -------- .../vmware-modules/files/hardened.patch | 170 ------------------ .../vmware-modules-279.2.ebuild | 101 ----------- .../vmware-modules-279.3.ebuild | 12 +- 14 files changed, 257 insertions(+), 454 deletions(-) rename app-emulation/vmware-modules/files/{279-userns.patch => 279-3.10-00-userns.patch} (90%) create mode 100644 app-emulation/vmware-modules/files/279-3.10-01-getname.patch create mode 100644 app-emulation/vmware-modules/files/279-3.10-03-deprecated.patch create mode 100644 app-emulation/vmware-modules/files/279-3.10-04-dentry.patch rename app-emulation/vmware-modules/files/{279-vfsfollowlink.patch => 279-3.10-05-inode.patch} (63%) create mode 100644 app-emulation/vmware-modules/files/279-3.15-00-readlink.patch create mode 100644 app-emulation/vmware-modules/files/279-3.15-01-vsock.patch create mode 100644 app-emulation/vmware-modules/files/279-3.17-00-netdev.patch delete mode 100644 app-emulation/vmware-modules/files/279-vmblock-3.11.patch delete mode 100644 app-emulation/vmware-modules/files/279-vmblock-3.12.patch delete mode 100644 app-emulation/vmware-modules/files/hardened.patch delete mode 100644 app-emulation/vmware-modules/vmware-modules-279.2.ebuild diff --git a/app-emulation/vmware-modules/Manifest b/app-emulation/vmware-modules/Manifest index c32cd75..9acf8f6 100644 --- a/app-emulation/vmware-modules/Manifest +++ b/app-emulation/vmware-modules/Manifest @@ -1,3 +1,11 @@ +AUX 279-3.10-00-userns.patch 1690 SHA256 15f290e50f179ef3dcd4737632971b5f0bd3f2c252a7188dc23244d24e45c3d9 SHA512 996aa6933afe7dea1fe4eb7f152c5eb5fff7fe64d56f257593a03b7dd1b2e9a0f702e5b14b51721d938aa389590e5b777ac5abfd514f410a9568e1c34e408908 WHIRLPOOL 70c652d7e0fcf6b8317aba9cbc1248c19bc3282cbd44c3791871c1819533ad877f31e54df6b03aadbfde2d4613f31c02cdd15d2791b6a769ff39d36a59668d75 +AUX 279-3.10-01-getname.patch 729 SHA256 59864b8c33b1b21d816bb2405232d4df1dadc4e969970f704520d01309e8ea2e SHA512 67aaf42b3f7b9602ea3e84ca2f07251ef0ffc2eb2eee2919410325b9ff9ddd3629e5af2eedc91a3f6f409f17b8f69c56f06d8e24573a7e12070fb52ca96c8522 WHIRLPOOL 4348ec879efb941042f11791cc8dafa6b560cf314dd97e407d8b63833043451a7a14c5215b3178afae506566f1ab5f3e499d0ef7d9de00dc44a523e2d597c85f +AUX 279-3.10-03-deprecated.patch 3799 SHA256 ab44a1514e1e0c483094f1e4d9d57ae06b80f866260c35c75b3d292a39e333e7 SHA512 c7bd7dda3d6f1617eb2615d667b75000b5c85f6806016d5dd31f4b3508ef89e616c48aaf9785fadfdfb3e34897952d8b14db02fbdbf8e8e25754b7a3bc8b92bf WHIRLPOOL cf8116e9a99b63e099febad091bd153f7c714b718e14717a5b54cca87b34780fc6fdd44a2fa24fd6429fbcd4e34ecc51c54e72415f861fb361ceb6f1eb6a0c39 +AUX 279-3.10-04-dentry.patch 1265 SHA256 4ed8fbf240e8263ccf9ec85de3a6a42df2c174044dff8b7213b4b5e74f731e71 SHA512 7d7729667d084cb8c89eed5e085efe818e2039f3869667081a0bb0f837c96f395f3d3177b88d2cd38e382c3842f6f2e614a470778dca0f34307972d3732e1d64 WHIRLPOOL 2baf16bfa96de468f87ba430e13272b89d75f85fd3f126ed2f0a7a30da9f455db07352d38dc45db994d284d7529bdeabd3d7ec04972cfb5fc1b698306eaa12dd +AUX 279-3.10-05-inode.patch 1489 SHA256 d4db76ed1dc40386f4bb59886996e22c677629f1179a139e370cbe8b7859d1a7 SHA512 7c425186a21fd8546b3c2f51d18ff24ce999464d31e97326ddaf9ef134f1efcbc911ac538d9fa2c41b36569a5421633048bdcaf82db4d577dac28f04e1c7f413 WHIRLPOOL df57492be3c7eff7d35d026af595ade477c32c7893f73da61958579af6e97e7401d5f9bf9324ed374000f99a2999fa664be0ab7ec89f76b1378124ffe3efb672 +AUX 279-3.15-00-readlink.patch 544 SHA256 eeeefdd94c2c78adf0ae27c4f62ff612c53ef81c2b4bf1cb8b2b333f72a2de99 SHA512 2a238442f04685dc5daa2dfdcd7fbac8f46e954e90f604c681bfcae59c4a1c2b35d8311fb3560d5c8410207a691aac48da03665556429b54b493a7cda2e16a21 WHIRLPOOL d145b0a8879d365c0d861fccd0f3ec75b5db6fcd7f69dda5d9ab14285f2f65078123a6c9ade760513b5a77707f0ec8d3984e3881c4b546d0487edff353a5962e +AUX 279-3.15-01-vsock.patch 1419 SHA256 7e12baa018536c6a2b4296d0167bd9fb459fcb3950857314c9491ebf06d572b2 SHA512 34fb51223102f96b9e94d2536d1397ce2d11cc5342d80f0a8797d3309326e2f9f2b3b675bf9180bb0eb915abcabf7fdab60619f5992956c4ee7bf9804a567626 WHIRLPOOL ae3ba7caf99468182363ed9928b1b6c8cbe0d771170b0061924cc55e395e1d2a017090f3aee62fa53cc6f07a17b2446805173494b4bd3283153285f1dcdce624 +AUX 279-3.17-00-netdev.patch 721 SHA256 1da176c9a3cff1a04d0424abd7ab090696a086021e73ca143d50f69252c86b00 SHA512 3b3e79e2afe9d19315de94bd021c73a26cb7d935a1bd5f771dc0eed8100c14522d4c07a58e4b1edea42ff8522a3a2139f55de7bd048e0067fddf6e8cb1aa2262 WHIRLPOOL c3cea09406deb050a42c1ebea0ecc01d3cc98e02794ead3caf26791df67785f0ec7bda621dc51a58ec1a38a7fd472c82e96c7c51d4918c96d44ff2c7129f55c6 AUX 279-apic.patch 302 SHA256 60e7df881281fedcabe9ea4427b324b5e1142a1a2b6ab5236ac0843bd1051048 SHA512 003240043e5875d8c6425c146e708eb3c3d8be7fa48a2ac42b3071f00dafdbd51f7796d6f884298b135adccaf8a3eac32fd82b34a436a724da125dac5f6261d7 WHIRLPOOL 4707d0ddd532d5ec27ee2ba3d0fb25c1972bbc9f958b4b89f2f5cceffdf955ba88cd1be0cde046aa5fa688d52faeab5ccf3f03bbccb3e9b088abc37ad579e8e0 AUX 279-filldir.patch 2485 SHA256 539e8940b47cb7a5f39ab2ba6f18ceb290a2627c81bd6daead6e5850aec02a63 SHA512 e5f85031f459a79a0f64b15224ae8c1ef23892ef159a37955b9c2a2b13ab6e892325a5aeedd4fd2969da3b187cedcaea8fc41540638d02cf56dce2d3e9194937 WHIRLPOOL a455300e72624e4f9c8d3dc79fa5c3ab1b288e79a04483503006a61d44bc83bf14faf0bfa753f82a70dbd23f870b2f6bfe1b06d23792eb1522a7265799ce03eb AUX 279-hardened.patch 3334 SHA256 198c182b626aeeb0c6e6558e6982b6d9cd2f11bf03515f72972842f5c773e52c SHA512 eb6829742c44677c6d475894a2a996a87feb1c2ab9afda6a045333fc5befb1c2551ea17ec33e665542d322fb43195b6cfcd576665a73cfc82d66a98579521cf3 WHIRLPOOL d8fde574d68978a4850f06469e5a6dfe21acd0a68b744f3f37ffeb98d5f8786eedeb9fb435e1b141044a23fb142ae44879ee09a45229f2be1c84ef744c15cb7a @@ -5,11 +13,5 @@ AUX 279-makefile-include.patch 2501 SHA256 208121855fe18ecb279ff40f2833463559363 AUX 279-makefile-kernel-dir.patch 2153 SHA256 d76b1028d21b804836e36478d243cd7914435a34f3fe014058e0a9cc7a020653 SHA512 f18339dc8ac4c864b0c2fb234ad2db8f4638a5cd28e8fd11b5593c82107925b41b42e0d0acac52232a373780d79a3e397f70886534cdf889055e86cfda718f62 WHIRLPOOL 70c869bf4efab6843856addd0c5f5a295ed2fe38f9fc2a8ab2ca55523cd39cb92018d6bd0dac75658fa0f5260962c98f0bbd001593f3f11c2d204c693061c5b6 AUX 279-netdevice.patch 833 SHA256 8f17ce379abda45a8f94e1dcd6e43367273f97f76edd41f9941beb3b1730a751 SHA512 b4ec7c1694968a1843f10e8bfe0dbfdc99bd3b5fc1391456d91a3648b848b82df681a0748d967afa19e728c4d19b79b6a3cb9fd3e15a52a5cab048a6ac9b06a9 WHIRLPOOL b0cabe2ec1b8ca52d427c02593d6057c98d4ed00c578d006de65460138c37a5be76a7938d85f5a35eb6f49ee5e34065ce62b60a51b0ccf021639a59b27aeac8a AUX 279-putname.patch 394 SHA256 b8103d3c72c24696e974e49dcdcdf2d5a2b2c2fdd5f6ca050842b840e906ba77 SHA512 86a0a0ec3ff225940190056e85d498fd7eb260bcc52882fea8921398f572bc46f56c3f2941d3f3d1587a07bc72c8885cbddacf632d2b5fed7d8c9d284399d6d8 WHIRLPOOL e1e8afcafe00131fd6d90b61e5d911da69d7c26b7fd19be085eb5cfd23c2ab19784ae5ddf18928f9cc4a178d87c6d51e8de27dfab8507e2d57fc18868fde9f45 -AUX 279-userns.patch 1529 SHA256 8d2a357236eacb8501523d5b3e1681ddcdf15194ada9299222f4625cd0a1a82e SHA512 2ad9f5167bed1d3608b29224688fe848ac2cf54a39c3998f93279d31c5677b47dcdad62d3d5606f5280c47c1d6ac182216326d24b00ce9b02dc530a6727f716a WHIRLPOOL aae6bbb6b799eb1336f720de61554af271a0d2b482819332d79319f5cba40c18b1b9b34bc2606e1a494ea120218307226b205b9de2cd4b089337f11018227838 -AUX 279-vfsfollowlink.patch 1219 SHA256 b195f6492a172f682d55fb506ba02c473fd924bb47dc0d1359dd5de163b4da22 SHA512 b675f68175be0b7003d2f80c54dce05a064f8d5bd8744d40571d3d1e0153c01f909e37e0403e53f23a6d61383a9b054c40a2a9ffa95dd765eeffb0c7e739ff1d WHIRLPOOL 3e108ee29c2050029c6079f652e2670529a9f6b220524db214c7dadba3dcaef8fa1ab261f0e10ffa7506456d9f3cccc954bf6a82960e78ebd120c1eb2aac68e8 -AUX 279-vmblock-3.11.patch 2380 SHA256 1a5e9937cd695ae1bd87f84155d22215527a833ab54b190dcee3d54b19969ca0 SHA512 a830b84edde2da2262ade62c13b26fbf940ddd659df9d45e7ec5f8474e68242fedf9da6788947a64fbf8304e056e37f1252e8597e468c5d6fee67541db144823 WHIRLPOOL 3bbc2ea455e0bb84dc9208b248bb21f591082809e673b18091057f9e00e412060de9aab91494b5acbe1e8d858bb4ef8a4dc60bc29217dda6932042b1c5858b61 -AUX 279-vmblock-3.12.patch 2790 SHA256 aa91d00ac6756629e1eaec6e7623fccc56256b84335c8ec66916da9a6f6cff81 SHA512 9c73942d745117f3e7344b99b783353b31eb5f420088de37e8acea2725e7181ca70bdc431ac82f0751b490c689ed57b61d215fc92d5b1eb7a6cf0ed0a6318269 WHIRLPOOL 4a7c1f85172c59ae9bc34fa8e153a647c81e516d3e7e06196ef09aac293eb1d05a7e1960eff6d3bac385c75fdfd4a8d9c76ff68169c5073a9e54ac187fa4f107 AUX 279-vmblock.patch 1041 SHA256 217d27619ac782711686cffee44fbc4bbb40eb0657f335357ad1b0d064f30a35 SHA512 e8e565b677110090cb5bdb7c18d3e97c31049d846b82ee0406aa27dbfa9af8afc39512f1314d49edd6108ec576f3cbc565921de8dfdaaefe2822029ef98c303c WHIRLPOOL 769d0cffcb186d6110de049db963e20e049ef11d92b872c1a6ecfe262acad6c17f456376d219ce01e22839ddcb6a21a2d3e995d797f4c962a0838318dc6f56f9 -AUX hardened.patch 5052 SHA256 191cf892bfb9a6288d110191de824bf6243bc6f48f1e62ab49f3582c7ade5af6 SHA512 52dcca8d9f689f0a0d0ca369c0c7ce0d177de3529d2d1325330eb5a9e940a55e8930bbbe7374793bdf29cbdefac9727e9eb21d00f81ad4f5eddba3a51597b7a5 WHIRLPOOL 539731bc36f3e292403f55d74c353deeb28baa312f726b36d2a6060adf3483dfa2ed011baf93eff941fa754ef62f4d6da86868c40550ee2292c4a711e061bde0 -EBUILD vmware-modules-279.2.ebuild 2901 SHA256 0f9aae51e583c45ace0fe3da5ac4b8152d93d2f32f9db14a030e02cd617407ee SHA512 d39100af69b5937b3cd420bfce985413fa2c9a39a4ee5118aca245ef3400218892703aebc672126382501392a77c32015f89e827e937e1a506109ec32bbfd11c WHIRLPOOL 17ac7c30bcb0f67cb30244db7193f491669e4049b229515ad83046b02ac39113f3335fb2c4786f4276b959931744693a3f21e30f6d01bc829b893b47b7188ca2 -EBUILD vmware-modules-279.3.ebuild 2897 SHA256 9609cdd511bc228d7497cd8e382c69d1b7953033d4f016daa0d3d4feb13a9558 SHA512 4c233ca139ba8fe95d26b9381e0c4188c7d1266b921296e873570f274d0d2f265b4328d0769f38c85a3b9e7deffacb48f82ff968adde7a550275e1fee8db56e9 WHIRLPOOL 8b875163e8564f5c580fef991f49a97b90aa1ca5aba93444095128160a293872760805298727111bf4eefc018646495350335766d2e27bb96a280d4ccf47bccd +EBUILD vmware-modules-279.3.ebuild 3379 SHA256 b9e32d1f67971c2e4da4104d097f8481fe8d240482e3288d45e83bc051bd18b1 SHA512 c3a6c5417fffd541c916d215d4803e7071950244d8e8b760eb35c96f59f9197afeace8048fd414f768ce27df85016dee9aa685bd088af14f7b9eb928a17c62de WHIRLPOOL 94bc4d1de1b70d8f401a3a0c540ac7d3571ad279361b31f4cda7d8d71ff328e17eba80e93018c30dc76a03df001c5e619e2054934837532f70f286d4b8408a74 diff --git a/app-emulation/vmware-modules/files/279-userns.patch b/app-emulation/vmware-modules/files/279-3.10-00-userns.patch similarity index 90% rename from app-emulation/vmware-modules/files/279-userns.patch rename to app-emulation/vmware-modules/files/279-3.10-00-userns.patch index c960b78..b1b78b7 100644 --- a/app-emulation/vmware-modules/files/279-userns.patch +++ b/app-emulation/vmware-modules/files/279-3.10-00-userns.patch @@ -1,3 +1,7 @@ +correctly initializes UID/GID values +gets UID correctly in light of user namespace API +origionally from https://462666.bugs.gentoo.org/attachment.cgi?id=342888 + --- a/vmblock-only/linux/inode.c 2013-03-20 17:37:48.000000000 +0100 +++ b/vmblock-only/linux/inode.c 2013-03-20 17:41:22.000000000 +0100 @@ -135,7 +135,8 @@ diff --git a/app-emulation/vmware-modules/files/279-3.10-01-getname.patch b/app-emulation/vmware-modules/files/279-3.10-01-getname.patch new file mode 100644 index 0000000..05ed8db --- /dev/null +++ b/app-emulation/vmware-modules/files/279-3.10-01-getname.patch @@ -0,0 +1,24 @@ +uses __getname/__putname instead of getname. getname was deprecated +the new code calls __getname (which really is a specific type of +memory allocator, then copies the string safely from user space +into the allocated buffer + +--- vmblock-only/linux/control.c 2014-03-15 15:28:40.871076076 +0100 ++++ vmblock-only/linux/control.c.new 2014-03-15 15:29:15.079074439 +0100 +@@ -279,11 +279,17 @@ + int i; + int retval; + +- name = getname(buf); ++ name = __getname(); + if (IS_ERR(name)) { + return PTR_ERR(name); + } + ++ i = strncpy_from_user(name, buf, PATH_MAX); ++ if (i < 0 || i == PATH_MAX) { ++ __putname(name); ++ return -EINVAL; ++ } ++ + for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) { diff --git a/app-emulation/vmware-modules/files/279-3.10-03-deprecated.patch b/app-emulation/vmware-modules/files/279-3.10-03-deprecated.patch new file mode 100644 index 0000000..98b28aa --- /dev/null +++ b/app-emulation/vmware-modules/files/279-3.10-03-deprecated.patch @@ -0,0 +1,89 @@ +undefines DEPRECATED which is unfortunately also defined (as a string) +in . Realistically, this macro isn't even used, so this +doesn't matter much. But it hushes some very loud warnings. + +diff -rupN vmblock-only/shared/vm_assert.h vmblock-only.new/shared/vm_assert.h +--- vmblock-only/shared/vm_assert.h 2014-04-14 17:41:41.000000000 -0400 ++++ vmblock-only.new/shared/vm_assert.h 2014-10-11 17:37:23.010352172 -0400 +@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con + #define LOG_ONCE(_s) DO_ONCE(Log _s) + + #ifdef VMX86_DEVEL ++ #undef DEPRECATED + #define DEPRECATED(_fix) DO_ONCE( \ + Warning("%s:%d: %s is DEPRECATED. %s\n", \ + __FILE__, __LINE__, __FUNCTION__, \ + _fix)) + #else ++ #undef DEPRECATED + #define DEPRECATED(_fix) do {} while (0) + #endif + +diff -rupN vmci-only/shared/vm_assert.h vmci-only.new/shared/vm_assert.h +--- vmci-only/shared/vm_assert.h 2014-04-14 17:41:41.000000000 -0400 ++++ vmci-only.new/shared/vm_assert.h 2014-10-11 17:37:08.936352130 -0400 +@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con + #define LOG_ONCE(_s) DO_ONCE(Log _s) + + #ifdef VMX86_DEVEL ++ #undef DEPRECATED + #define DEPRECATED(_fix) DO_ONCE( \ + Warning("%s:%d: %s is DEPRECATED. %s\n", \ + __FILE__, __LINE__, __FUNCTION__, \ + _fix)) + #else ++ #undef DEPRECATED + #define DEPRECATED(_fix) do {} while (0) + #endif + +diff -rupN vmmon-only/include/vm_assert.h vmmon-only.new/include/vm_assert.h +--- vmmon-only/include/vm_assert.h 2014-04-14 20:06:20.000000000 -0400 ++++ vmmon-only.new/include/vm_assert.h 2014-10-11 17:36:45.289352058 -0400 +@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con + #define LOG_ONCE(_s) DO_ONCE(Log _s) + + #ifdef VMX86_DEVEL ++ #undef DEPRECATED + #define DEPRECATED(_fix) DO_ONCE( \ + Warning("%s:%d: %s is DEPRECATED. %s\n", \ + __FILE__, __LINE__, __FUNCTION__, \ + _fix)) + #else ++ #undef DEPRECATED + #define DEPRECATED(_fix) do {} while (0) + #endif + +diff -rupN vmnet-only/vm_assert.h vmnet-only.new/vm_assert.h +--- vmnet-only/vm_assert.h 2014-04-14 20:06:21.000000000 -0400 ++++ vmnet-only.new/vm_assert.h 2014-10-11 17:37:14.364352146 -0400 +@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con + #define LOG_ONCE(_s) DO_ONCE(Log _s) + + #ifdef VMX86_DEVEL ++ #undef DEPRECATED + #define DEPRECATED(_fix) DO_ONCE( \ + Warning("%s:%d: %s is DEPRECATED. %s\n", \ + __FILE__, __LINE__, __FUNCTION__, \ + _fix)) + #else ++ #undef DEPRECATED + #define DEPRECATED(_fix) do {} while (0) + #endif + +diff -rupN vsock-only/shared/vm_assert.h vsock-only.new/shared/vm_assert.h +--- vsock-only/shared/vm_assert.h 2014-04-14 17:41:41.000000000 -0400 ++++ vsock-only.new/shared/vm_assert.h 2014-10-11 17:37:02.778352111 -0400 +@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con + #define LOG_ONCE(_s) DO_ONCE(Log _s) + + #ifdef VMX86_DEVEL ++ #undef DEPRECATED + #define DEPRECATED(_fix) DO_ONCE( \ + Warning("%s:%d: %s is DEPRECATED. %s\n", \ + __FILE__, __LINE__, __FUNCTION__, \ + _fix)) + #else ++ #undef DEPRECATED + #define DEPRECATED(_fix) do {} while (0) + #endif + diff --git a/app-emulation/vmware-modules/files/279-3.10-04-dentry.patch b/app-emulation/vmware-modules/files/279-3.10-04-dentry.patch new file mode 100644 index 0000000..f4f59d9 --- /dev/null +++ b/app-emulation/vmware-modules/files/279-3.10-04-dentry.patch @@ -0,0 +1,34 @@ +starting with kernel 3.6, d_revalidate takes an unsigned int "flags" +as the second argument, not a nameidata pointer! see fs/namei.c +for implementation + +diff -Naur vmblock-only/linux/dentry.c vmblock-only/linux/dentry.c +--- vmblock-only/linux/dentry.c 2013-11-05 23:33:26.000000000 -0500 ++++ vmblock-only/linux/dentry.c 2014-04-26 10:58:03.062635343 -0400 +@@ -32,7 +32,7 @@ + #include "block.h" + + +-static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd); ++static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags); + + struct dentry_operations LinkDentryOps = { + .d_revalidate = DentryOpRevalidate, +@@ -60,7 +60,7 @@ + + static int + DentryOpRevalidate(struct dentry *dentry, // IN: dentry revalidating +- struct nameidata *nd) // IN: lookup flags & intent ++ unsigned int flags) // IN: lookup flags & intent + { + VMBlockInodeInfo *iinfo; + struct nameidata actualNd; +@@ -101,7 +101,7 @@ + if (actualDentry && + actualDentry->d_op && + actualDentry->d_op->d_revalidate) { +- return actualDentry->d_op->d_revalidate(actualDentry, nd); ++ return actualDentry->d_op->d_revalidate(actualDentry, flags); + } + + if (compat_path_lookup(iinfo->name, 0, &actualNd)) { diff --git a/app-emulation/vmware-modules/files/279-vfsfollowlink.patch b/app-emulation/vmware-modules/files/279-3.10-05-inode.patch similarity index 63% rename from app-emulation/vmware-modules/files/279-vfsfollowlink.patch rename to app-emulation/vmware-modules/files/279-3.10-05-inode.patch index 13f600e..01c8893 100644 --- a/app-emulation/vmware-modules/files/279-vfsfollowlink.patch +++ b/app-emulation/vmware-modules/files/279-3.10-05-inode.patch @@ -1,6 +1,11 @@ -diff -Naur a/linux/inode.c b/linux/inode.c ---- a/vmblock-only/linux/inode.c 2013-10-03 04:29:47.471339204 -0400 -+++ b/vmblock-only/linux/inode.c 2013-10-03 04:31:56.607334636 -0400 +starting with kernel 3.6, d_revalidate takes an unsigned int "flags" +as the second argument, not a nameidata pointer! see fs/namei.c +for implementation. Also changing vfs_follow_link to nd_set_link. +See: https://lkml.org/lkml/2013/9/9/236 + +diff -Naur vmblock-only/linux/inode.c vmblock-only/linux/inode.c +--- vmblock-only/linux/inode.c 2013-11-05 23:33:26.000000000 -0500 ++++ vmblock-only/linux/inode.c 2014-04-26 10:58:03.063635343 -0400 @@ -36,7 +36,7 @@ /* Inode operations */ @@ -15,16 +20,17 @@ diff -Naur a/linux/inode.c b/linux/inode.c InodeOpLookup(struct inode *dir, // IN: parent directory's inode struct dentry *dentry, // IN: dentry to lookup - struct nameidata *nd) // IN: lookup intent and information -+ unsigned int flags) // IN: lookup intent and information ++ unsigned int flags) // IN: lookup intent and information { char *filename; struct inode *inode; -@@ -221,7 +221,7 @@ +@@ -221,7 +221,8 @@ goto out; } - ret = vfs_follow_link(nd, iinfo->name); + nd_set_link(nd, iinfo->name); ++ ret = 0; out: #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) diff --git a/app-emulation/vmware-modules/files/279-3.15-00-readlink.patch b/app-emulation/vmware-modules/files/279-3.15-00-readlink.patch new file mode 100644 index 0000000..b8ee078 --- /dev/null +++ b/app-emulation/vmware-modules/files/279-3.15-00-readlink.patch @@ -0,0 +1,15 @@ +replacing usage of vfs_readlink with new readlink_copy API +see: http://permalink.gmane.org/gmane.linux.kernel.commits.head/445090 + +diff -rupN vmblock-only/linux/inode.c vmblock-only/linux/inode.c +--- vmblock-only/linux/inode.c 2014-10-05 23:20:14.545218357 -0400 ++++ vmblock-only/linux/inode.c 2014-10-05 23:33:01.549259933 -0400 +@@ -178,7 +178,7 @@ InodeOpReadlink(struct dentry *dentry, + return -EINVAL; + } + +- return vfs_readlink(dentry, buffer, buflen, iinfo->name); ++ return readlink_copy(buffer, buflen, iinfo->name); + } + + diff --git a/app-emulation/vmware-modules/files/279-3.15-01-vsock.patch b/app-emulation/vmware-modules/files/279-3.15-01-vsock.patch new file mode 100644 index 0000000..9e8d9d1 --- /dev/null +++ b/app-emulation/vmware-modules/files/279-3.15-01-vsock.patch @@ -0,0 +1,46 @@ +removing the no longer existing second parameter to sk_data_ready +doesn't seem it ever served a purpose. + +diff -rupN vsock-only/linux/notify.c vsock-only.new/linux/notify.c +--- vsock-only/linux/notify.c 2013-11-05 23:33:27.000000000 -0500 ++++ vsock-only.new/linux/notify.c 2014-10-05 23:46:47.943304728 -0400 +@@ -515,8 +515,11 @@ VSockVmciHandleWrote(struct sock *sk, + vsk = vsock_sk(sk); + PKT_FIELD(vsk, sentWaitingRead) = FALSE; + #endif +- ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) ++ sk->sk_data_ready(sk); ++#else + sk->sk_data_ready(sk, 0); ++#endif + } + + +diff -rupN vsock-only/linux/notifyQState.c vsock-only.new/linux/notifyQState.c +--- vsock-only/linux/notifyQState.c 2013-11-05 23:33:27.000000000 -0500 ++++ vsock-only.new/linux/notifyQState.c 2014-10-05 23:46:33.231303931 -0400 +@@ -164,7 +164,11 @@ VSockVmciHandleWrote(struct sock *sk, + struct sockaddr_vm *dst, // IN: unused + struct sockaddr_vm *src) // IN: unused + { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) ++ sk->sk_data_ready(sk); ++#else + sk->sk_data_ready(sk, 0); ++#endif + } + + +@@ -566,7 +570,11 @@ VSockVmciNotifyPktRecvPostDequeue(struct + } + + /* See the comment in VSockVmciNotifyPktSendPostEnqueue */ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) ++ sk->sk_data_ready(sk); ++#else + sk->sk_data_ready(sk, 0); ++#endif + } + + return err; diff --git a/app-emulation/vmware-modules/files/279-3.17-00-netdev.patch b/app-emulation/vmware-modules/files/279-3.17-00-netdev.patch new file mode 100644 index 0000000..e3ee3aa --- /dev/null +++ b/app-emulation/vmware-modules/files/279-3.17-00-netdev.patch @@ -0,0 +1,16 @@ +new alloc_netdev requires a new parameter. All examples in the kernel i've seen just +use the constant NET_NAME_UNKNOWN. +origionally from: https://communities.vmware.com/message/2425189 + +diff -rupN vmnet-only/netif.c vmnet-only.new/netif.c +--- vmnet-only/netif.c 2013-11-06 00:40:52.000000000 -0500 ++++ vmnet-only.new/netif.c 2014-10-09 17:29:12.361307961 -0400 +@@ -149,7 +149,7 @@ VNetNetIf_Create(char *devName, // IN: + memcpy(deviceName, devName, sizeof deviceName); + NULL_TERMINATE_STRING(deviceName); + +- dev = alloc_netdev(sizeof *netIf, deviceName, VNetNetIfSetup); ++ dev = alloc_netdev(sizeof *netIf, deviceName, NET_NAME_USER, VNetNetIfSetup); + if (!dev) { + retval = -ENOMEM; + goto out; diff --git a/app-emulation/vmware-modules/files/279-vmblock-3.11.patch b/app-emulation/vmware-modules/files/279-vmblock-3.11.patch deleted file mode 100644 index 5e5dca8..0000000 --- a/app-emulation/vmware-modules/files/279-vmblock-3.11.patch +++ /dev/null @@ -1,89 +0,0 @@ ---- a/vmblock-only/linux/file.c -+++ b/vmblock-only/linux/file.c -@@ -38,46 +38,6 @@ typedef u64 inode_num_t; - typedef ino_t inode_num_t; - #endif - --/* Specifically for our filldir_t callback */ --typedef struct FilldirInfo { -- filldir_t filldir; -- void *dirent; --} FilldirInfo; -- -- --/* -- *---------------------------------------------------------------------------- -- * -- * Filldir -- -- * -- * Callback function for readdir that we use in place of the one provided. -- * This allows us to specify that each dentry is a symlink, but pass through -- * everything else to the original filldir function. -- * -- * Results: -- * Original filldir's return value. -- * -- * Side effects: -- * Directory information gets copied to user's buffer. -- * -- *---------------------------------------------------------------------------- -- */ -- --static int --Filldir(void *buf, // IN: Dirent buffer passed from FileOpReaddir -- const char *name, // IN: Dirent name -- int namelen, // IN: len of dirent's name -- loff_t offset, // IN: Offset -- inode_num_t ino, // IN: Inode number of dirent -- unsigned int d_type) // IN: Type of file --{ -- FilldirInfo *info = buf; -- -- /* Specify DT_LNK regardless */ -- return info->filldir(info->dirent, name, namelen, offset, ino, DT_LNK); --} -- -- - /* File operations */ - - /* -@@ -166,11 +126,10 @@ FileOpOpen(struct inode *inode, // IN - - static int - FileOpReaddir(struct file *file, // IN -- void *dirent, // IN -- filldir_t filldir) // IN -+ struct dir_context *ctx) // IN - { - int ret; -- FilldirInfo info; -+ - struct file *actualFile; - - if (!file) { -@@ -184,12 +143,10 @@ FileOpReaddir(struct file *file, // IN - return -EINVAL; - } - -- info.filldir = filldir; -- info.dirent = dirent; -- -- actualFile->f_pos = file->f_pos; -- ret = vfs_readdir(actualFile, Filldir, &info); -- file->f_pos = actualFile->f_pos; -+ /* Ricky Wong Yung Fei: -+ * Manipulation of pos is now handled internally by iterate_dir(). -+ */ -+ ret = iterate_dir(actualFile, ctx); - - return ret; - } -@@ -237,7 +194,7 @@ FileOpRelease(struct inode *inode, // IN - - - struct file_operations RootFileOps = { -- .readdir = FileOpReaddir, -+ .iterate = FileOpReaddir, - .open = FileOpOpen, - .release = FileOpRelease, - }; diff --git a/app-emulation/vmware-modules/files/279-vmblock-3.12.patch b/app-emulation/vmware-modules/files/279-vmblock-3.12.patch deleted file mode 100644 index 513d419..0000000 --- a/app-emulation/vmware-modules/files/279-vmblock-3.12.patch +++ /dev/null @@ -1,79 +0,0 @@ ---- a/vmblock-only/linux/control.c 2013-10-03 04:29:47.471339204 -0400 -+++ b/vmblock-only/linux/control.c 2013-10-03 04:31:56.607334636 -0400 -@@ -283,7 +283,7 @@ - int i; - int retval; - -- name = getname(buf); -+ name = __getname(); - if (IS_ERR(name)) { - return PTR_ERR(name); - } - -+ i = strncpy_from_user(name, buf, PATH_MAX); -+ if (i < 0 || i == PATH_MAX) { -+ __putname(name); -+ return -EINVAL; -+ } -+ - for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) { - name[i] = '\0'; - } ---- a/vmblock-only/linux/dentry.c 2013-10-03 04:29:47.471339204 -0400 -+++ b/vmblock-only/linux/dentry.c 2013-10-03 04:31:56.607334636 -0400 -@@ -32,7 +32,7 @@ - #include "block.h" - - --static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd); -+static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags); - - struct dentry_operations LinkDentryOps = { - .d_revalidate = DentryOpRevalidate, -@@ -60,7 +60,7 @@ - - static int - DentryOpRevalidate(struct dentry *dentry, // IN: dentry revalidating -- struct nameidata *nd) // IN: lookup flags & intent -+ unsigned int flags) // IN: lookup flags & intent - { - VMBlockInodeInfo *iinfo; - struct nameidata actualNd; -@@ -101,7 +101,7 @@ - if (actualDentry && - actualDentry->d_op && - actualDentry->d_op->d_revalidate) { -- return actualDentry->d_op->d_revalidate(actualDentry, nd); -+ return actualDentry->d_op->d_revalidate(actualDentry, flags); - } - - if (compat_path_lookup(iinfo->name, 0, &actualNd)) { ---- a/vmblock-only/linux/inode.c 2013-10-03 04:29:47.471339204 -0400 -+++ b/vmblock-only/linux/inode.c 2013-10-03 04:31:56.607334636 -0400 -@@ -36,7 +36,7 @@ - - /* Inode operations */ - static struct dentry *InodeOpLookup(struct inode *dir, -- struct dentry *dentry, struct nameidata *nd); -+ struct dentry *dentry, unsigned int flags); - static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen); - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) - static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd); -@@ -75,7 +75,7 @@ - static struct dentry * - InodeOpLookup(struct inode *dir, // IN: parent directory's inode - struct dentry *dentry, // IN: dentry to lookup -- struct nameidata *nd) // IN: lookup intent and information -+ unsigned int flags) // IN: lookup intent and information - { - char *filename; - struct inode *inode; -@@ -221,7 +221,7 @@ - goto out; - } - -- ret = vfs_follow_link(nd, iinfo->name); -+ nd_set_link(nd, iinfo->name); - - out: - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) diff --git a/app-emulation/vmware-modules/files/hardened.patch b/app-emulation/vmware-modules/files/hardened.patch deleted file mode 100644 index ea1b0f3..0000000 --- a/app-emulation/vmware-modules/files/hardened.patch +++ /dev/null @@ -1,170 +0,0 @@ -diff --git a/vmci-only/linux/driver.c b/vmci-only/linux/driver.c -index 921f25c..41a39e3 100644 ---- a/vmci-only/linux/driver.c -+++ b/vmci-only/linux/driver.c -@@ -241,7 +241,24 @@ static unsigned int LinuxDriverPoll(struct file *file, poll_table *wait); - #define LinuxDriverUnlockIoctlPerFD(mutex) do {} while (0) - #endif - --static struct file_operations vmuser_fops; -+/* -+ * Moved file operations initialize here because of incompatibilites -+ * with Gentoo hardened profile/hardend Linux 3. -+ */ -+static struct file_operations vmuser_fops = { -+ .owner = THIS_MODULE, -+ .poll = LinuxDriverPoll, -+#ifdef HAVE_UNLOCKED_IOCTL -+ .unlocked_ioctl = LinuxDriver_UnlockedIoctl, -+#else -+ .ioctl = LinuxDriver_Ioctl, -+#endif -+#ifdef HAVE_COMPAT_IOCTL -+ .compat_ioctl = LinuxDriver_UnlockedIoctl, -+#endif -+ .open = LinuxDriver_Open, -+ .release = LinuxDriver_Close -+}; - - - /* -@@ -378,26 +395,6 @@ vmci_host_init(void) - return -ENOMEM; - } - -- /* -- * Initialize the file_operations structure. Because this code is always -- * compiled as a module, this is fine to do it here and not in a static -- * initializer. -- */ -- -- memset(&vmuser_fops, 0, sizeof vmuser_fops); -- vmuser_fops.owner = THIS_MODULE; -- vmuser_fops.poll = LinuxDriverPoll; --#ifdef HAVE_UNLOCKED_IOCTL -- vmuser_fops.unlocked_ioctl = LinuxDriver_UnlockedIoctl; --#else -- vmuser_fops.ioctl = LinuxDriver_Ioctl; --#endif --#ifdef HAVE_COMPAT_IOCTL -- vmuser_fops.compat_ioctl = LinuxDriver_UnlockedIoctl; --#endif -- vmuser_fops.open = LinuxDriver_Open; -- vmuser_fops.release = LinuxDriver_Close; -- - sprintf(linuxState.deviceName, "vmci"); - linuxState.major = 10; - linuxState.misc.minor = MISC_DYNAMIC_MINOR; -diff --git a/vmmon-only/linux/driver.c b/vmmon-only/linux/driver.c -index b21dd44..960c2aa 100644 ---- a/vmmon-only/linux/driver.c -+++ b/vmmon-only/linux/driver.c -@@ -178,7 +178,22 @@ static struct vm_operations_struct vmuser_mops = { - #endif - }; - --static struct file_operations vmuser_fops; -+static struct file_operations vmuser_fops = { -+ .owner = THIS_MODULE, -+ .poll = LinuxDriverPoll, -+#ifdef HAVE_UNLOCKED_IOCTL -+ .unlocked_ioctl = LinuxDriver_UnlockedIoctl, -+#else -+ .ioctl = LinuxDriver_Ioctl, -+#endif -+#ifdef HAVE_COMPAT_IOCTL -+ .compat_ioctl = LinuxDriver_UnlockedIoctl, -+#endif -+ .open = LinuxDriver_Open, -+ .release = LinuxDriver_Close, -+ .mmap = LinuxDriverMmap -+}; -+ - static struct timer_list tscTimer; - - /* -@@ -357,27 +372,6 @@ init_module(void) - spin_lock_init(&linuxState.pollListLock); - #endif - -- /* -- * Initialize the file_operations structure. Because this code is always -- * compiled as a module, this is fine to do it here and not in a static -- * initializer. -- */ -- -- memset(&vmuser_fops, 0, sizeof vmuser_fops); -- vmuser_fops.owner = THIS_MODULE; -- vmuser_fops.poll = LinuxDriverPoll; --#ifdef HAVE_UNLOCKED_IOCTL -- vmuser_fops.unlocked_ioctl = LinuxDriver_UnlockedIoctl; --#else -- vmuser_fops.ioctl = LinuxDriver_Ioctl; --#endif --#ifdef HAVE_COMPAT_IOCTL -- vmuser_fops.compat_ioctl = LinuxDriver_UnlockedIoctl; --#endif -- vmuser_fops.open = LinuxDriver_Open; -- vmuser_fops.release = LinuxDriver_Close; -- vmuser_fops.mmap = LinuxDriverMmap; -- - #ifdef VMX86_DEVEL - devel_init_module(); - linuxState.minor = 0; -diff --git a/vmnet-only/driver.c b/vmnet-only/driver.c -index b12b982..40bd4cf 100644 ---- a/vmnet-only/driver.c -+++ b/vmnet-only/driver.c -@@ -165,7 +165,22 @@ static long VNetFileOpUnlockedIoctl(struct file * filp, - unsigned int iocmd, unsigned long ioarg); - #endif - --static struct file_operations vnetFileOps; -+static struct file_operations vnetFileOps = { -+ .owner = THIS_MODULE, -+ .read = VNetFileOpRead, -+ .write = VNetFileOpWrite, -+ .poll = VNetFileOpPoll, -+#ifdef HAVE_UNLOCKED_IOCTL -+ .unlocked_ioctl = VNetFileOpUnlockedIoctl, -+#else -+ .ioctl = VNetFileOpIoctl, -+#endif -+#ifdef HAVE_COMPAT_IOCTL -+ .compat_ioctl = VNetFileOpUnlockedIoctl, -+#endif -+ .open = VNetFileOpOpen, -+ .release = VNetFileOpClose -+}; - - /* - * Utility functions -@@ -476,28 +491,6 @@ init_module(void) - goto err_proto; - } - -- /* -- * Initialize the file_operations structure. Because this code is always -- * compiled as a module, this is fine to do it here and not in a static -- * initializer. -- */ -- -- memset(&vnetFileOps, 0, sizeof vnetFileOps); -- vnetFileOps.owner = THIS_MODULE; -- vnetFileOps.read = VNetFileOpRead; -- vnetFileOps.write = VNetFileOpWrite; -- vnetFileOps.poll = VNetFileOpPoll; --#ifdef HAVE_UNLOCKED_IOCTL -- vnetFileOps.unlocked_ioctl = VNetFileOpUnlockedIoctl; --#else -- vnetFileOps.ioctl = VNetFileOpIoctl; --#endif --#ifdef HAVE_COMPAT_IOCTL -- vnetFileOps.compat_ioctl = VNetFileOpUnlockedIoctl; --#endif -- vnetFileOps.open = VNetFileOpOpen; -- vnetFileOps.release = VNetFileOpClose; -- - retval = register_chrdev(VNET_MAJOR_NUMBER, "vmnet", &vnetFileOps); - if (retval) { - LOG(0, (KERN_NOTICE "/dev/vmnet: could not register major device %d\n", diff --git a/app-emulation/vmware-modules/vmware-modules-279.2.ebuild b/app-emulation/vmware-modules/vmware-modules-279.2.ebuild deleted file mode 100644 index 21ba25c..0000000 --- a/app-emulation/vmware-modules/vmware-modules-279.2.ebuild +++ /dev/null @@ -1,101 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/vmware-modules-279.2.ebuild,v 1.1 2014/04/19 10:10:25 dilfridge Exp $ - -EAPI=5 - -inherit eutils flag-o-matic linux-info linux-mod user versionator udev - -PV_MAJOR=$(get_major_version) -PV_MINOR=$(get_version_component_range 2) - -DESCRIPTION="VMware kernel modules" -HOMEPAGE="http://www.vmware.com/" - -SRC_URI="" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="pax_kernel +vmci +vsock" - -RDEPEND="" -DEPEND="${RDEPEND} - || ( =app-emulation/vmware-player-6.0.${PV_MINOR}* - =app-emulation/vmware-workstation-10.0.${PV_MINOR}* )" - -S=${WORKDIR} - -pkg_setup() { - CONFIG_CHECK="~HIGH_RES_TIMERS" - if kernel_is ge 2 6 37 && kernel_is lt 2 6 39; then - CONFIG_CHECK="${CONFIG_CHECK} BKL" - fi - if use vmci ; then - CONFIG_CHECK="${CONFIG_CHECK} !VMWARE_VMCI" - else - CONFIG_CHECK="${CONFIG_CHECK} VMWARE_VMCI" - fi - if use vsock ; then - CONFIG_CHECK="${CONFIG_CHECK} !VMWARE_VMCI_VSOCKETS" - else - CONFIG_CHECK="${CONFIG_CHECK} VMWARE_VMCI_VSOCKETS" - fi - - linux-info_pkg_setup - - linux-mod_pkg_setup - - VMWARE_GROUP=${VMWARE_GROUP:-vmware} - - VMWARE_MODULE_LIST_ALL="vmblock vmmon vmnet vmci vsock" - VMWARE_MODULE_LIST="vmblock vmmon vmnet" - use vmci && VMWARE_MODULE_LIST="${VMWARE_MODULE_LIST} vmci" - use vsock && VMWARE_MODULE_LIST="${VMWARE_MODULE_LIST} vsock" - - VMWARE_MOD_DIR="${PN}-${PVR}" - - BUILD_TARGETS="auto-build KERNEL_DIR=${KERNEL_DIR} KBUILD_OUTPUT=${KV_OUT_DIR}" - - enewgroup "${VMWARE_GROUP}" - filter-flags -mfpmath=sse - - for mod in ${VMWARE_MODULE_LIST}; do - MODULE_NAMES="${MODULE_NAMES} ${mod}(misc:${S}/${mod}-only)" - done -} - -src_unpack() { - cd "${S}" - for mod in ${VMWARE_MODULE_LIST_ALL}; do - tar -xf /opt/vmware/lib/vmware/modules/source/${mod}.tar - done -} - -src_prepare() { - epatch "${FILESDIR}/${PV_MAJOR}-makefile-kernel-dir.patch" - epatch "${FILESDIR}/${PV_MAJOR}-makefile-include.patch" - epatch "${FILESDIR}/${PV_MAJOR}-netdevice.patch" - use pax_kernel && epatch "${FILESDIR}/279-hardened.patch" - epatch "${FILESDIR}/${PV_MAJOR}-apic.patch" - kernel_is ge 3 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-putname.patch" - kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-vmblock.patch" - kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-vmblock-3.11.patch" - kernel_is ge 3 12 0 && epatch "${FILESDIR}/${PV_MAJOR}-vmblock-3.12.patch" - kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-userns.patch" - - # Allow user patches so they can support RC kernels and whatever else - epatch_user -} - -src_install() { - linux-mod_src_install - local udevrules="${T}/60-vmware.rules" - cat > "${udevrules}" <<-EOF - KERNEL=="vmci", GROUP="vmware", MODE=660 - KERNEL=="vmw_vmci", GROUP="vmware", MODE=660 - KERNEL=="vmmon", GROUP="vmware", MODE=660 - KERNEL=="vsock", GROUP="vmware", MODE=660 - EOF - udev_dorules "${udevrules}" -} diff --git a/app-emulation/vmware-modules/vmware-modules-279.3.ebuild b/app-emulation/vmware-modules/vmware-modules-279.3.ebuild index 5b83030..bf8e379 100644 --- a/app-emulation/vmware-modules/vmware-modules-279.3.ebuild +++ b/app-emulation/vmware-modules/vmware-modules-279.3.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/vmware-modules-279.3.ebuild,v 1.1 2014/10/16 21:48:57 dilfridge Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/vmware-modules-279.2.ebuild,v 1.5 2014/06/09 15:24:07 dilfridge Exp $ EAPI=5 @@ -80,9 +80,15 @@ src_prepare() { epatch "${FILESDIR}/${PV_MAJOR}-apic.patch" kernel_is ge 3 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-putname.patch" kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-vmblock.patch" + kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-00-userns.patch" + kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-01-getname.patch" + kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-03-deprecated.patch" + kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-04-dentry.patch" + kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-05-inode.patch" kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-filldir.patch" - kernel_is ge 3 12 0 && epatch "${FILESDIR}/${PV_MAJOR}-vfsfollowlink.patch" - kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-userns.patch" + kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-00-readlink.patch" + kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-01-vsock.patch" + kernel_is ge 3 17 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.17-00-netdev.patch" # Allow user patches so they can support RC kernels and whatever else epatch_user