Upgrade vmware-workstation to 11.1.0 and vmware-player to 7.1.0
This commit is contained in:
@@ -1,17 +1,13 @@
|
||||
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
|
||||
AUX 279-makefile-include.patch 2501 SHA256 208121855fe18ecb279ff40f2833463559363461c2170d32c17040211a01f169 SHA512 c498c025c7eb025f6554cee683242dd73e4a284e4b28c95b75339f4f4a912a156acc1845881fbd78bf399c2092af7413f5d6c4782cd066527ea275518b411c1d WHIRLPOOL e03a6d7139ab7b309e0ca1527cb8b52a8f84f5f5d997a510305d2a6ccdd39f33b18c7276df8ac78d92d2a17a66236f582baaa5e374069d3912090544908a0338
|
||||
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-vmblock.patch 1041 SHA256 217d27619ac782711686cffee44fbc4bbb40eb0657f335357ad1b0d064f30a35 SHA512 e8e565b677110090cb5bdb7c18d3e97c31049d846b82ee0406aa27dbfa9af8afc39512f1314d49edd6108ec576f3cbc565921de8dfdaaefe2822029ef98c303c WHIRLPOOL 769d0cffcb186d6110de049db963e20e049ef11d92b872c1a6ecfe262acad6c17f456376d219ce01e22839ddcb6a21a2d3e995d797f4c962a0838318dc6f56f9
|
||||
EBUILD vmware-modules-279.3.ebuild 3379 SHA256 b9e32d1f67971c2e4da4104d097f8481fe8d240482e3288d45e83bc051bd18b1 SHA512 c3a6c5417fffd541c916d215d4803e7071950244d8e8b760eb35c96f59f9197afeace8048fd414f768ce27df85016dee9aa685bd088af14f7b9eb928a17c62de WHIRLPOOL 94bc4d1de1b70d8f401a3a0c540ac7d3571ad279361b31f4cda7d8d71ff328e17eba80e93018c30dc76a03df001c5e619e2054934837532f70f286d4b8408a74
|
||||
AUX 305-apic.patch 302 SHA256 60e7df881281fedcabe9ea4427b324b5e1142a1a2b6ab5236ac0843bd1051048 SHA512 003240043e5875d8c6425c146e708eb3c3d8be7fa48a2ac42b3071f00dafdbd51f7796d6f884298b135adccaf8a3eac32fd82b34a436a724da125dac5f6261d7 WHIRLPOOL 4707d0ddd532d5ec27ee2ba3d0fb25c1972bbc9f958b4b89f2f5cceffdf955ba88cd1be0cde046aa5fa688d52faeab5ccf3f03bbccb3e9b088abc37ad579e8e0
|
||||
AUX 305-filldir.patch 2485 SHA256 539e8940b47cb7a5f39ab2ba6f18ceb290a2627c81bd6daead6e5850aec02a63 SHA512 e5f85031f459a79a0f64b15224ae8c1ef23892ef159a37955b9c2a2b13ab6e892325a5aeedd4fd2969da3b187cedcaea8fc41540638d02cf56dce2d3e9194937 WHIRLPOOL a455300e72624e4f9c8d3dc79fa5c3ab1b288e79a04483503006a61d44bc83bf14faf0bfa753f82a70dbd23f870b2f6bfe1b06d23792eb1522a7265799ce03eb
|
||||
AUX 305-kernel-3.15.patch 1467 SHA256 c4596f85734e4ce8af6bfa577232a2c14f60d712bea6882354ad8f5e4aa7683f SHA512 f5b4482d3cf5bb6f1d65f652befa8ef233d83baefad1170115a8cb8b90941cf337902cb501c8669dc4795f3597c8342ee577cb67b94c1c460bbbae2615c49fed WHIRLPOOL a1541eca32a98d19ddabd2153acdbbd8b7a0ca7ca7777d6b816549355d9ff6e5619256f19e63a91711518f1074c91ccaf5e908ba5920def49898ea5e2ecc8ea5
|
||||
AUX 305-kernel-3.19.patch 9279 SHA256 1031775aad2d5ad73bdc3f4b48d7557f3184a293a84bfb663dfdf44934bb8e64 SHA512 58fe553553bd5b42884ab0dcf47f575fefe945e74e236da7c86a6e84a4672312cbc15265055d65a80078c3b6d98a50bb5dd4745ef3a2e8501789e6ed51323c7b WHIRLPOOL 3ce3568745d896f8d92a27494160489e9a0650c9578888f4648d6164bf67f5773c36031efa9a067766a92edaea94fa9c9e5fd1a93ec62bf5bc65b8a33fecd3d2
|
||||
AUX 305-makefile-include.patch 1625 SHA256 23ea30e46d011e2cecf313a20925fcd46106a21be1409edb62800b4a9174175a SHA512 ea26e77b75149650658ea8be24075e093fee211bb19bdc1e721f62943c5ee692a42cfb091fa30de41687fb9e723938a9f5fb793339b0137d6050172f39a48b4c WHIRLPOOL eec948eda2e67540dcdc3c6ceefeff951001f407633dab0abf09d77d55bc083ea0647aa20e61949584960ea81e52605a2755ea9b99c32c8071a50f3363668a9e
|
||||
AUX 305-makefile-kernel-dir.patch 1306 SHA256 50cde0cbd5c50a19b02a0811bc381a96096ee9410835b6ebddcd4f7ac995bafa SHA512 cae398c7f6bbdd6419cfa4cf597420822e69c756017cf697601a9110db899008634b45f2c72ef4fb71f04e2da6736e49b1c9e5abe923f50daff7cdc1be8a816e WHIRLPOOL a4e77cfdac84305a97a7ad2f4ce0dc1fe69d66e97cb75842c3a0617c21489783f8ad2aadc2af831b2f084d3d7b699f758a4757e947ba7f4ba57f7bfbe93968ba
|
||||
AUX 305-netdevice.patch 833 SHA256 8f17ce379abda45a8f94e1dcd6e43367273f97f76edd41f9941beb3b1730a751 SHA512 b4ec7c1694968a1843f10e8bfe0dbfdc99bd3b5fc1391456d91a3648b848b82df681a0748d967afa19e728c4d19b79b6a3cb9fd3e15a52a5cab048a6ac9b06a9 WHIRLPOOL b0cabe2ec1b8ca52d427c02593d6057c98d4ed00c578d006de65460138c37a5be76a7938d85f5a35eb6f49ee5e34065ce62b60a51b0ccf021639a59b27aeac8a
|
||||
AUX 305-putname.patch 394 SHA256 b8103d3c72c24696e974e49dcdcdf2d5a2b2c2fdd5f6ca050842b840e906ba77 SHA512 86a0a0ec3ff225940190056e85d498fd7eb260bcc52882fea8921398f572bc46f56c3f2941d3f3d1587a07bc72c8885cbddacf632d2b5fed7d8c9d284399d6d8 WHIRLPOOL e1e8afcafe00131fd6d90b61e5d911da69d7c26b7fd19be085eb5cfd23c2ab19784ae5ddf18928f9cc4a178d87c6d51e8de27dfab8507e2d57fc18868fde9f45
|
||||
AUX 305-vfsfollowlink.patch 1219 SHA256 b195f6492a172f682d55fb506ba02c473fd924bb47dc0d1359dd5de163b4da22 SHA512 b675f68175be0b7003d2f80c54dce05a064f8d5bd8744d40571d3d1e0153c01f909e37e0403e53f23a6d61383a9b054c40a2a9ffa95dd765eeffb0c7e739ff1d WHIRLPOOL 3e108ee29c2050029c6079f652e2670529a9f6b220524db214c7dadba3dcaef8fa1ab261f0e10ffa7506456d9f3cccc954bf6a82960e78ebd120c1eb2aac68e8
|
||||
AUX 305-vmblock-3.14.patch 533 SHA256 2158c00df00e9ea47983b91bf6e72e98c3bc128bd3df1fbd553a8711a9356b9c SHA512 e005e612ad603a5522c7e402c92a6bc6a5802967d4b8211043cf6abe6fc63b416ef8734c86a1b548cbc97eb5f3f48b6187ed7f13da48b6879099df93d2ac43ba WHIRLPOOL f183495b2f35b95c065ac12bad450239e415953efef5dc36912c8b2e4f1495b752939617b4392fe3b6409adb1a2e00b87192168515b2a1d5009879fcdf37f94b
|
||||
AUX 305-vmblock.patch 1558 SHA256 7b23b17f5049431227b1090ce367368e96c815839c1f468cdc728a1723750eeb SHA512 640e1105c52ba2d59f10a1a7684d0b171f6200fd643ae36b13e1abbfe2827daba8d58c33ba1121978f4273bfd601267e9a95c5208249f1e20874cb48d4af0ef5 WHIRLPOOL b0f3ea5d7093aa4c3ebcf76516e48fd8bd7617a57917e5bd71df126bce885b9c162c7fc9c1fd1ded716231b3463af9398284b03a571609064344da1473dcef7d
|
||||
AUX hardened.patch 5052 SHA256 191cf892bfb9a6288d110191de824bf6243bc6f48f1e62ab49f3582c7ade5af6 SHA512 52dcca8d9f689f0a0d0ca369c0c7ce0d177de3529d2d1325330eb5a9e940a55e8930bbbe7374793bdf29cbdefac9727e9eb21d00f81ad4f5eddba3a51597b7a5 WHIRLPOOL 539731bc36f3e292403f55d74c353deeb28baa312f726b36d2a6060adf3483dfa2ed011baf93eff941fa754ef62f4d6da86868c40550ee2292c4a711e061bde0
|
||||
EBUILD vmware-modules-305.0.ebuild 3093 SHA256 c9628a27d0bbbf10fd110bef80913448b6bc0aa44c7e9d1c428fac4d58ae6793 SHA512 f7e9fcf6cf1c16ee45cc1135702853c533e20cabc2161542748cc2858b17be92776047acb8a0cf81af9763ee40f7b1703689db0c8aa560dc3ef91a2ab2f5058b WHIRLPOOL 5c75ee64decb6e93dab274d7e130cf4aee52d3d45cfd426f21fc80fe70e1c8ceb9ee7cfef9e88f735e64f78f79b08f02a7479fc6b48e8afca36f14fee46c46d0
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
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 @@
|
||||
inode->i_size = INODE_TO_IINFO(inode)->nameLen;
|
||||
inode->i_version = 1;
|
||||
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
|
||||
- inode->i_uid = inode->i_gid = 0;
|
||||
+ inode->i_uid = GLOBAL_ROOT_UID;
|
||||
+ inode->i_gid = GLOBAL_ROOT_GID;
|
||||
inode->i_op = &LinkInodeOps;
|
||||
|
||||
d_add(dentry, inode);
|
||||
|
||||
--- a/vmci-only/linux/driver.c 2013-03-20 17:57:35.000000000 +0100
|
||||
+++ b/vmci-only/linux/driver.c 2013-03-20 17:57:43.000000000 +0100
|
||||
@@ -740,7 +740,7 @@
|
||||
goto init_release;
|
||||
}
|
||||
|
||||
- user = current_uid();
|
||||
+ user = from_kuid(current_user_ns(), current_uid());
|
||||
retval = VMCIContext_InitContext(initBlock.cid, initBlock.flags,
|
||||
0 /* Unused */, vmciLinux->userVersion,
|
||||
&user, &vmciLinux->context);
|
||||
|
||||
--- a/vsock-only/linux/af_vsock.c 2013-03-20 18:01:48.000000000 +0100
|
||||
+++ b/vsock-only/linux/af_vsock.c 2013-03-20 18:01:58.000000000 +0100
|
||||
@@ -2866,7 +2866,7 @@
|
||||
vsk->connectTimeout = psk->connectTimeout;
|
||||
} else {
|
||||
vsk->trusted = capable(CAP_NET_ADMIN);
|
||||
- vsk->owner = current_uid();
|
||||
+ vsk->owner = from_kuid(current_user_ns(), current_uid());
|
||||
vsk->queuePairSize = VSOCK_DEFAULT_QP_SIZE;
|
||||
vsk->queuePairMinSize = VSOCK_DEFAULT_QP_SIZE_MIN;
|
||||
vsk->queuePairMaxSize = VSOCK_DEFAULT_QP_SIZE_MAX;
|
||||
|
||||
@@ -1,89 +0,0 @@
|
||||
undefines DEPRECATED which is unfortunately also defined (as a string)
|
||||
in <linux/printk.h>. 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
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
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)) {
|
||||
@@ -1,15 +0,0 @@
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
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;
|
||||
@@ -1,16 +0,0 @@
|
||||
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;
|
||||
47
app-emulation/vmware-modules/files/305-kernel-3.15.patch
Normal file
47
app-emulation/vmware-modules/files/305-kernel-3.15.patch
Normal file
@@ -0,0 +1,47 @@
|
||||
--- vmblock-only/linux/inode.c 2014-04-14 23:25:31.755344470 +0200
|
||||
+++ vmblock-only/linux/inode.c.new 2014-04-14 23:23:31.732337759 +0200
|
||||
@@ -178,7 +178,11 @@
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 14, 99)
|
||||
return vfs_readlink(dentry, buffer, buflen, iinfo->name);
|
||||
+#else
|
||||
+ return readlink_copy(buffer, buflen, iinfo->name);
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
||||
diff -rupN vsock-only/linux/notify.c vsock-only-mod/linux/notify.c
|
||||
--- vsock-only/linux/notify.c 2014-04-15 03:11:41.000000000 +0530
|
||||
+++ vsock-only-mod/linux/notify.c 2014-05-27 21:36:56.713291909 +0530
|
||||
@@ -516,7 +516,7 @@ VSockVmciHandleWrote(struct sock *sk,
|
||||
PKT_FIELD(vsk, sentWaitingRead) = FALSE;
|
||||
#endif
|
||||
|
||||
- sk->sk_data_ready(sk, 0);
|
||||
+ sk->sk_data_ready(sk);
|
||||
}
|
||||
|
||||
|
||||
diff -rupN vsock-only/linux/notifyQState.c vsock-only-mod/linux/notifyQState.c
|
||||
--- vsock-only/linux/notifyQState.c 2014-04-15 03:11:41.000000000 +0530
|
||||
+++ vsock-only-mod/linux/notifyQState.c 2014-05-27 21:38:52.561286734 +0530
|
||||
@@ -164,7 +164,7 @@ VSockVmciHandleWrote(struct sock *sk,
|
||||
struct sockaddr_vm *dst, // IN: unused
|
||||
struct sockaddr_vm *src) // IN: unused
|
||||
{
|
||||
- sk->sk_data_ready(sk, 0);
|
||||
+ sk->sk_data_ready(sk);
|
||||
}
|
||||
|
||||
|
||||
@@ -566,7 +566,7 @@ VSockVmciNotifyPktRecvPostDequeue(struct
|
||||
}
|
||||
|
||||
/* See the comment in VSockVmciNotifyPktSendPostEnqueue */
|
||||
- sk->sk_data_ready(sk, 0);
|
||||
+ sk->sk_data_ready(sk);
|
||||
}
|
||||
|
||||
return err;
|
||||
236
app-emulation/vmware-modules/files/305-kernel-3.19.patch
Normal file
236
app-emulation/vmware-modules/files/305-kernel-3.19.patch
Normal file
@@ -0,0 +1,236 @@
|
||||
diff -u vmnet-only/driver.c vmnet-only.new/driver.c
|
||||
--- vmnet-only/driver.c 2014-11-20 20:13:56.000000000 -0500
|
||||
+++ vmnet-only.new/driver.c 2015-02-09 11:53:18.000000000 -0500
|
||||
@@ -264,11 +264,17 @@
|
||||
struct file * filp) // IN:
|
||||
{
|
||||
int ret = -ENOTTY;
|
||||
-
|
||||
- if (filp && filp->f_op && filp->f_op->ioctl == VNetFileOpIoctl) {
|
||||
- ret = VNetFileOpIoctl(filp->f_dentry->d_inode, filp, iocmd, ioarg);
|
||||
- }
|
||||
- return ret;
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
|
||||
+ if (filp && filp->f_op && filp->f_op->ioctl == VNetFileOpIoctl) {
|
||||
+ ret = VNetFileOpIoctl(filp->f_dentry->d_inode, filp, iocmd, ioarg);
|
||||
+ }
|
||||
+ return ret;
|
||||
+#else
|
||||
+ if (filp && filp->f_op && filp->f_op->ioctl == VNetFileOpIoctl) {
|
||||
+ ret = VNetFileOpIoctl(filp->f_path.dentry->d_inode, filp, iocmd, ioarg);
|
||||
+ }
|
||||
+ return ret;
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -1191,11 +1197,20 @@
|
||||
struct inode *inode = NULL;
|
||||
long err;
|
||||
|
||||
- if (filp && filp->f_dentry) {
|
||||
- inode = filp->f_dentry->d_inode;
|
||||
- }
|
||||
- err = VNetFileOpIoctl(inode, filp, iocmd, ioarg);
|
||||
- return err;
|
||||
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
|
||||
+ if (filp && filp->f_dentry) {
|
||||
+ inode = filp->f_dentry->d_inode;
|
||||
+ }
|
||||
+ err = VNetFileOpIoctl(inode, filp, iocmd, ioarg);
|
||||
+ return err;
|
||||
+#else
|
||||
+ if (filp && filp->f_path.dentry) {
|
||||
+ inode = filp->f_path.dentry->d_inode;
|
||||
+ }
|
||||
+ err = VNetFileOpIoctl(inode, filp, iocmd, ioarg);
|
||||
+ return err;
|
||||
+#endif
|
||||
+
|
||||
}
|
||||
#endif
|
||||
|
||||
diff -u vmnet-only/userif.c vmnet-only.new/userif.c
|
||||
--- vmnet-only/userif.c 2014-11-20 20:13:56.000000000 -0500
|
||||
+++ vmnet-only.new/userif.c 2015-02-09 11:56:03.000000000 -0500
|
||||
@@ -523,7 +523,13 @@
|
||||
.iov_base = buf,
|
||||
.iov_len = len,
|
||||
};
|
||||
- return skb_copy_datagram_iovec(skb, 0, &iov, len);
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
|
||||
+ return skb_copy_datagram_iovec(skb, 0, &iov, len);
|
||||
+#else
|
||||
+ struct iov_iter to;
|
||||
+ iov_iter_init(&to, READ, &iov, 1, len);
|
||||
+ return skb_copy_datagram_iter(skb, 0, &to, len);
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
||||
diff -u vmblock-only.orig/linux/file.c vmblock-only/linux/file.c
|
||||
--- vmblock-only.orig/linux/file.c 2015-02-11 12:18:29.000000000 -0500
|
||||
+++ vmblock-only/linux/file.c 2015-02-11 12:41:41.000000000 -0500
|
||||
@@ -92,7 +92,7 @@
|
||||
* and that would try to acquire the inode's semaphore; if the two inodes
|
||||
* are the same we'll deadlock.
|
||||
*/
|
||||
- if (actualFile->f_dentry && inode == actualFile->f_dentry->d_inode) {
|
||||
+ if (actualFile->f_path.dentry && inode == actualFile->f_path.dentry->d_inode) {
|
||||
Warning("FileOpOpen: identical inode encountered, open cannot succeed.\n");
|
||||
if (filp_close(actualFile, current->files) < 0) {
|
||||
Warning("FileOpOpen: unable to close opened file.\n");
|
||||
diff -rupN vmblock-only.orig/linux/dentry.c vmblock-only/linux/dentry.c
|
||||
--- vmblock-only.orig/linux/dentry.c 2015-02-14 18:05:46.000000000 -0500
|
||||
+++ vmblock-only/linux/dentry.c 2015-02-14 18:09:59.000000000 -0500
|
||||
@@ -63,7 +63,7 @@ DentryOpRevalidate(struct dentry *dentry
|
||||
unsigned int flags) // IN: lookup flags & intent
|
||||
{
|
||||
VMBlockInodeInfo *iinfo;
|
||||
- struct nameidata actualNd;
|
||||
+ struct path actualNd;
|
||||
struct dentry *actualDentry;
|
||||
int ret;
|
||||
|
||||
diff -rupN vmblock-only.orig/linux/filesystem.c vmblock-only/linux/filesystem.c
|
||||
--- vmblock-only.orig/linux/filesystem.c 2014-11-20 19:29:15.000000000 -0500
|
||||
+++ vmblock-only/linux/filesystem.c 2015-02-14 18:10:49.000000000 -0500
|
||||
@@ -322,7 +322,7 @@ Iget(struct super_block *sb, // IN: f
|
||||
{
|
||||
VMBlockInodeInfo *iinfo;
|
||||
struct inode *inode;
|
||||
- struct nameidata actualNd;
|
||||
+ struct path actualNd;
|
||||
|
||||
ASSERT(sb);
|
||||
|
||||
diff -rupN vmblock-only.orig/shared/compat_namei.h vmblock-only/shared/compat_namei.h
|
||||
--- vmblock-only.orig/shared/compat_namei.h 2014-11-20 19:29:15.000000000 -0500
|
||||
+++ vmblock-only/shared/compat_namei.h 2015-02-14 18:08:38.000000000 -0500
|
||||
@@ -26,21 +26,21 @@
|
||||
* struct. They were both replaced with a struct path.
|
||||
*/
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
|
||||
-#define compat_vmw_nd_to_dentry(nd) (nd).path.dentry
|
||||
+#define compat_vmw_nd_to_dentry(nd) (nd).dentry
|
||||
#else
|
||||
#define compat_vmw_nd_to_dentry(nd) (nd).dentry
|
||||
#endif
|
||||
|
||||
/* In 2.6.25-rc2, path_release(&nd) was replaced with path_put(&nd.path). */
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
|
||||
-#define compat_path_release(nd) path_put(&(nd)->path)
|
||||
+#define compat_path_release(nd) path_put(nd)
|
||||
#else
|
||||
#define compat_path_release(nd) path_release(nd)
|
||||
#endif
|
||||
|
||||
/* path_lookup was removed in 2.6.39 merge window VFS merge */
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)
|
||||
-#define compat_path_lookup(name, flags, nd) kern_path(name, flags, &((nd)->path))
|
||||
+#define compat_path_lookup(name, flags, nd) kern_path(name, flags, nd)
|
||||
#else
|
||||
#define compat_path_lookup(name, flags, nd) path_lookup(name, flags, nd)
|
||||
#endif
|
||||
diff -ur vmci-only.orig/linux/vmciKernelIf.c vmci-only/linux/vmciKernelIf.c
|
||||
--- vmci-only.orig/linux/vmciKernelIf.c 2014-06-13 01:20:45.000000000 +0200
|
||||
+++ vmci-only/linux/vmciKernelIf.c 2015-02-21 17:59:47.011588979 +0100
|
||||
@@ -1249,6 +1249,23 @@
|
||||
return VMCI_SUCCESS;
|
||||
}
|
||||
|
||||
+int memcpy_toiovec(struct iovec *iov, unsigned char *kdata, int len)
|
||||
+{
|
||||
+ while (len > 0) {
|
||||
+ if (iov->iov_len) {
|
||||
+ int copy = min_t(unsigned int, iov->iov_len, len);
|
||||
+ if (copy_to_user(iov->iov_base, kdata, copy))
|
||||
+ return -EFAULT;
|
||||
+ kdata += copy;
|
||||
+ len -= copy;
|
||||
+ iov->iov_len -= copy;
|
||||
+ iov->iov_base += copy;
|
||||
+ }
|
||||
+ iov++;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
|
||||
/*
|
||||
*-----------------------------------------------------------------------------
|
||||
diff -ur vsock-only.orig/linux/af_vsock.c vsock-only/linux/af_vsock.c
|
||||
--- vsock-only.orig/linux/af_vsock.c 2015-02-21 18:09:14.147266976 +0100
|
||||
+++ vsock-only/linux/af_vsock.c 2015-02-21 18:14:07.134285068 +0100
|
||||
@@ -233,13 +233,13 @@
|
||||
char __user *optval, int __user * optlen);
|
||||
|
||||
static int VSockVmciDgramSendmsg(struct kiocb *kiocb,
|
||||
- struct socket *sock, struct msghdr *msg, size_t len);
|
||||
+ struct socket *sock, struct user_msghdr *msg, size_t len);
|
||||
static int VSockVmciDgramRecvmsg(struct kiocb *kiocb, struct socket *sock,
|
||||
- struct msghdr *msg, size_t len, int flags);
|
||||
+ struct user_msghdr *msg, size_t len, int flags);
|
||||
static int VSockVmciStreamSendmsg(struct kiocb *kiocb,
|
||||
- struct socket *sock, struct msghdr *msg, size_t len);
|
||||
+ struct socket *sock, struct user_msghdr *msg, size_t len);
|
||||
static int VSockVmciStreamRecvmsg(struct kiocb *kiocb, struct socket *sock,
|
||||
- struct msghdr *msg, size_t len, int flags);
|
||||
+ struct user_msghdr *msg, size_t len, int flags);
|
||||
|
||||
static int VSockVmciCreate(
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 24)
|
||||
@@ -4195,7 +4195,7 @@
|
||||
static int
|
||||
VSockVmciDgramSendmsg(struct kiocb *kiocb, // UNUSED
|
||||
struct socket *sock, // IN: socket to send on
|
||||
- struct msghdr *msg, // IN: message to send
|
||||
+ struct user_msghdr *msg, // IN: message to send
|
||||
size_t len) // IN: length of message
|
||||
{
|
||||
int err;
|
||||
@@ -4525,7 +4525,7 @@
|
||||
static int
|
||||
VSockVmciStreamSendmsg(struct kiocb *kiocb, // UNUSED
|
||||
struct socket *sock, // IN: socket to send on
|
||||
- struct msghdr *msg, // IN: message to send
|
||||
+ struct user_msghdr *msg, // IN: message to send
|
||||
size_t len) // IN: length of message
|
||||
{
|
||||
struct sock *sk;
|
||||
@@ -4694,7 +4694,7 @@
|
||||
static int
|
||||
VSockVmciDgramRecvmsg(struct kiocb *kiocb, // UNUSED
|
||||
struct socket *sock, // IN: socket to receive from
|
||||
- struct msghdr *msg, // IN/OUT: message to receive into
|
||||
+ struct user_msghdr *msg, // IN/OUT: message to receive into
|
||||
size_t len, // IN: length of receive buffer
|
||||
int flags) // IN: receive flags
|
||||
{
|
||||
@@ -4704,6 +4704,7 @@
|
||||
VMCIDatagram *dg;
|
||||
size_t payloadLen;
|
||||
struct sk_buff *skb;
|
||||
+ struct iov_iter to;
|
||||
|
||||
sk = sock->sk;
|
||||
noblock = flags & MSG_DONTWAIT;
|
||||
@@ -4742,7 +4743,8 @@
|
||||
}
|
||||
|
||||
/* Place the datagram payload in the user's iovec. */
|
||||
- err = skb_copy_datagram_iovec(skb, sizeof *dg, msg->msg_iov, payloadLen);
|
||||
+ iov_iter_init(&to, READ, msg->msg_iov, 1, payloadLen);
|
||||
+ err = skb_copy_datagram_iter(skb, sizeof *dg, &to, payloadLen);
|
||||
if (err) {
|
||||
goto out;
|
||||
}
|
||||
@@ -4785,7 +4787,7 @@
|
||||
static int
|
||||
VSockVmciStreamRecvmsg(struct kiocb *kiocb, // UNUSED
|
||||
struct socket *sock, // IN: socket to receive from
|
||||
- struct msghdr *msg, // IN/OUT: message to receive into
|
||||
+ struct user_msghdr *msg, // IN/OUT: message to receive into
|
||||
size_t len, // IN: length of receive buffer
|
||||
int flags) // IN: receive flags
|
||||
{
|
||||
@@ -11,19 +11,6 @@ index ab7a727..e3ec9d2 100644
|
||||
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachecreate.c, -DVMW_KMEMCR_HAS_DTOR, )
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachector.c, -DVMW_KMEMCR_CTOR_HAS_3_ARGS, )
|
||||
diff --git a/vmci-only/Makefile.kernel b/vmci-only/Makefile.kernel
|
||||
index ba343ee..861ea83 100644
|
||||
--- a/vmci-only/Makefile.kernel
|
||||
+++ b/vmci-only/Makefile.kernel
|
||||
@@ -21,7 +21,7 @@ CC_OPTS += -DVMCI
|
||||
|
||||
INCLUDE += -I$(SRCROOT)/shared -I$(SRCROOT)/common -I$(SRCROOT)/linux
|
||||
|
||||
-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
|
||||
+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
|
||||
|
||||
obj-m += $(DRIVER).o
|
||||
|
||||
diff --git a/vmmon-only/Makefile.kernel b/vmmon-only/Makefile.kernel
|
||||
index 8770d1d..c4746c3 100644
|
||||
--- a/vmmon-only/Makefile.kernel
|
||||
@@ -50,16 +37,4 @@ index d1e3133..665d428 100644
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_net.c,-DVMW_NETDEV_HAS_NET, )
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_dev_net.c,-DVMW_NETDEV_HAS_DEV_NET, )
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/nfhook_uses_skb.c,-DVMW_NFHOOK_USES_SKB, )
|
||||
diff --git a/vsock-only/Makefile.kernel b/vsock-only/Makefile.kernel
|
||||
index b4629ee..264b8cb 100644
|
||||
--- a/vsock-only/Makefile.kernel
|
||||
+++ b/vsock-only/Makefile.kernel
|
||||
@@ -25,7 +25,7 @@ INCLUDE += -I$(SRCROOT)/include
|
||||
INCLUDE += -I$(SRCROOT)/linux
|
||||
INCLUDE += -I$(SRCROOT)/common
|
||||
|
||||
-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
|
||||
+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/netcreate_num_params.c, -DVMW_NETCREATE_KERNARG, )
|
||||
|
||||
|
||||
|
||||
@@ -15,23 +15,6 @@ index 2b81323..746c8b8 100644
|
||||
|
||||
DRIVER := vmblock
|
||||
PRODUCT := ws
|
||||
diff --git a/vmci-only/Makefile b/vmci-only/Makefile
|
||||
index 8e9c5be..6ec828b 100644
|
||||
--- a/vmci-only/Makefile
|
||||
+++ b/vmci-only/Makefile
|
||||
@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
|
||||
ifdef LINUXINCLUDE
|
||||
HEADER_DIR = $(LINUXINCLUDE)
|
||||
else
|
||||
-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
|
||||
+HEADER_DIR = $(KERNEL_DIR)
|
||||
endif
|
||||
|
||||
-BUILD_DIR = $(HEADER_DIR)/..
|
||||
+BUILD_DIR = $(KBUILD_OUTPUT)
|
||||
|
||||
DRIVER := vmci
|
||||
PRODUCT := ws
|
||||
diff --git a/vmmon-only/Makefile b/vmmon-only/Makefile
|
||||
index 5bd867b..91a83d4 100644
|
||||
--- a/vmmon-only/Makefile
|
||||
@@ -66,20 +49,3 @@ index d4eb73c..c7c6d38 100644
|
||||
|
||||
DRIVER := vmnet
|
||||
PRODUCT := @@PRODUCT@@
|
||||
diff --git a/vsock-only/Makefile b/vsock-only/Makefile
|
||||
index 93dd61d..9765696 100644
|
||||
--- a/vsock-only/Makefile
|
||||
+++ b/vsock-only/Makefile
|
||||
@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
|
||||
ifdef LINUXINCLUDE
|
||||
HEADER_DIR = $(LINUXINCLUDE)
|
||||
else
|
||||
-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
|
||||
+HEADER_DIR = $(KERNEL_DIR)
|
||||
endif
|
||||
|
||||
-BUILD_DIR = $(HEADER_DIR)/..
|
||||
+BUILD_DIR = $(KBUILD_OUTPUT)
|
||||
|
||||
DRIVER := vsock
|
||||
PRODUCT := ws
|
||||
@@ -1,11 +1,6 @@
|
||||
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
|
||||
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
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
/* Inode operations */
|
||||
@@ -20,17 +15,16 @@ diff -Naur vmblock-only/linux/inode.c vmblock-only/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,8 @@
|
||||
@@ -221,7 +221,7 @@
|
||||
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)
|
||||
@@ -1,8 +1,3 @@
|
||||
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 @@
|
||||
@@ -22,3 +17,5 @@ into the allocated buffer
|
||||
+ }
|
||||
+
|
||||
for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) {
|
||||
name[i] = '\0';
|
||||
}
|
||||
@@ -21,3 +21,16 @@ diff -ruN work.orig/vmblock-only/linux/control.c work/vmblock-only/linux/control
|
||||
return 0;
|
||||
}
|
||||
|
||||
--- a/vmblock-only/linux/inode.c 2014-04-15 00:41:40.000000000 +0300
|
||||
+++ b/vmblock-only/linux/inode.c 2014-04-23 12:44:50.005954179 +0300
|
||||
@@ -135,7 +135,8 @@ InodeOpLookup(struct inode *dir, //
|
||||
inode->i_size = INODE_TO_IINFO(inode)->nameLen;
|
||||
inode->i_version = 1;
|
||||
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
|
||||
- inode->i_uid = inode->i_gid = 0;
|
||||
+ inode->i_uid = GLOBAL_ROOT_UID;
|
||||
+ inode->i_gid = GLOBAL_ROOT_GID;
|
||||
inode->i_op = &LinkInodeOps;
|
||||
|
||||
d_add(dentry, inode);
|
||||
|
||||
@@ -1,3 +1,60 @@
|
||||
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
|
||||
@@ -16,16 +16,18 @@ SRC_URI=""
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="pax_kernel +vmci +vsock"
|
||||
|
||||
RDEPEND=""
|
||||
DEPEND="${RDEPEND}
|
||||
|| ( =app-emulation/vmware-player-6.0.${PV_MINOR}*
|
||||
=app-emulation/vmware-workstation-10.0.${PV_MINOR}* )"
|
||||
|| ( =app-emulation/vmware-player-7.1.0.2496824
|
||||
=app-emulation/vmware-workstation-11.1.0.2496824 )"
|
||||
|
||||
S=${WORKDIR}
|
||||
|
||||
MAKEOPTS="${MAKEOPTS} -j1"
|
||||
|
||||
pkg_setup() {
|
||||
CONFIG_CHECK="~HIGH_RES_TIMERS"
|
||||
if kernel_is ge 2 6 37 && kernel_is lt 2 6 39; then
|
||||
@@ -59,6 +61,7 @@ pkg_setup() {
|
||||
|
||||
enewgroup "${VMWARE_GROUP}"
|
||||
filter-flags -mfpmath=sse
|
||||
filter-flags -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mf16c -mpclmul
|
||||
|
||||
for mod in ${VMWARE_MODULE_LIST}; do
|
||||
MODULE_NAMES="${MODULE_NAMES} ${mod}(misc:${S}/${mod}-only)"
|
||||
@@ -76,21 +79,16 @@ 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"
|
||||
use pax_kernel && epatch "${FILESDIR}/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 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 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"
|
||||
kernel_is ge 3 12 0 && epatch "${FILESDIR}/${PV_MAJOR}-vfsfollowlink.patch"
|
||||
kernel_is ge 3 14 0 && epatch "${FILESDIR}/${PV_MAJOR}-vmblock-3.14.patch"
|
||||
kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-kernel-3.15.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-kernel-3.19.patch"
|
||||
|
||||
# Allow user patches so they can support RC kernels and whatever else
|
||||
epatch_user
|
||||
}
|
||||
|
||||
@@ -98,10 +96,10 @@ 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
|
||||
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}"
|
||||
}
|
||||
Reference in New Issue
Block a user