restore skb_copy_datagram, removed from 2.6.11-rc2, breaking VMWare
PATCH 1/1 restore skb_copy_datagram, removed from 2.6.11-rc2, breaking VMWare
Those of you who are using VMWare 4.5 will find that 2.6.11-rc2 removes the public function "skb_copy_datagram", breaking VMWare (and any other module using that interface *sigh*).
The attached patch restores the (little harmless wrapper) function.
Signature · 2 lines
Chip Salzenberg - a.k.a. - <[email protected]> "What I cannot create, I do not understand." - Richard Feynman
include/linux/skbuff.h renamed from include/linux/skbuff.h.old +2 -0
@@ -1087,4 +1087,6 @@extern unsigned int datagram_poll (struct file *file,struct socket *sock,struct poll_table_struct *wait); +extern int skb_copy_datagram (const struct sk_buff *from, +int offset,char __user *to,int size); extern int skb_copy_datagram_iovec(const struct sk_buff *from, int offset, struct iovec *to,
net/core/datagram.c renamed from net/core/datagram.c.old +14 -0
@@ -200,4 +200,17 @@ } +/* +* Copy a datagram to a linear buffer. +*/ +int skb_copy_datagram (const struct sk_buff *skb,int offset,char __user *to,int size) +{ +struct iovec iov = { + .iov_base = to, + .iov_len =size, + }; + +return skb_copy_datagram_iovec (skb, offset, &iov, size); +} +/** * skb_copy_datagram_iovec - Copy a datagram to an iovec.
@@ -478,4 +491,5 @@EXPORT_SYMBOL (datagram_poll);EXPORT_SYMBOL (skb_copy_and_csum_datagram_iovec); +EXPORT_SYMBOL (skb_copy_datagram);EXPORT_SYMBOL (skb_copy_datagram_iovec);EXPORT_SYMBOL (skb_free_datagram);
Quoted 5 lines · Chip Salzenberg
Those of you who are using VMWare 4.5 will find that 2.6.11-rc2 removes the public function "
skb_copy_datagram", breaking VMWare (and any other module using that interface *sigh*).The attached patch restores the (little harmless wrapper) function.
Fix them to use the wrapped function instead.
Quoted 3 lines · Chip Salzenberg
Those of you who are using VMWare 4.5 will find that 2.6.11-rc2 removes the public function "
skb_copy_datagram", breaking VMWare (and any other module using that interface *sigh*).
There is no need for it. It is fixed internally, and it will be part of vmware-any-any-update89 and WS5.0 RC1.
Petr Vandrovec
Quoted 42 lines
The attached patch restores the (little harmless wrapper) function.
Signature · 2 lines
Chip Salzenberg - a.k.a. - <[email protected]> "What I cannot create, I do not understand." - Richard Feynmaninclude/linux/skbuff.h renamed from include/linux/skbuff.h.old +2
-0@@ -1087,4 +1087,6 @@extern unsigned int datagram_poll (struct file *file,struct socket *sock,struct poll_table_struct *wait); +extern int skb_copy_datagram (const struct sk_buff *from, +int offset,char __user *to,int size); extern int skb_copy_datagram_iovec(const struct sk_buff *from, int offset, struct iovec *to,net/core/datagram.c renamed from net/core/datagram.c.old +14
-0@@ -200,4 +200,17 @@ } +/* +* Copy a datagram to a linear buffer. +*/ +int skb_copy_datagram (const struct sk_buff *skb,int offset,char __user *to,int size) +{ +struct iovec iov = { + .iov_base = to, + .iov_len =size, + }; + +return skb_copy_datagram_iovec (skb, offset, &iov, size); +} +/** * skb_copy_datagram_iovec - Copy a datagram to an iovec. @@ -478,4 +491,5 @@EXPORT_SYMBOL (datagram_poll);EXPORT_SYMBOL (skb_copy_and_csum_datagram_iovec); +EXPORT_SYMBOL (skb_copy_datagram);EXPORT_SYMBOL (skb_copy_datagram_iovec);EXPORT_SYMBOL (skb_free_datagram);