VMware Workstation tools在新Linux内核(3.19)无法运行的修改方法

有些结构定义发生了变化,导致vmnet无法编译,我们只能手动修改一下源代码并期待官方新版。

参考文章:
https://communities.vmware.com/message/2469395

1、解压vmnet源代码
cd /usr/lib/vmware/modules/source
tar xvf vmnet.tar
解压之后目录名为:vmnet-only
不能忘记备份:cp vmnet.tar vmnet.tar.bak

2、修改userif.c,找到VNetCopyDatagram函数,改为:

#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



3、修改driver.c,原来的1194和1195行改为:
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
   if (filp && filp->f_dentry) {
      inode = filp->f_dentry->d_inode;
   }
#else 
   if (filp && filp->f_path.dentry) {
      inode = filp->f_path.dentry->d_inode;
   }
#endif



4、打包并再次运行VMware Workstation
tar cv vmnet.tar vmnet-only

也可以直接下载补丁文件:
http://forums.fedoraforum.org/showthread.php?t=303726

转载于:https://my.oschina.net/quanzl/blog/418020

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值