Messages in this thread Patches in this message | | | Date | Sat, 22 Jan 2005 11:01:29 -0500 | From | Chip Salzenberg <> | Subject | [PATCH] 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. -- Chip Salzenberg - a.k.a. - <chip@pobox.com> "What I cannot create, I do not understand." - Richard Feynman
--- x/include/linux/skbuff.h.old 2005-01-22 10:03:55.000000000 -0500 +++ y/include/linux/skbuff.h 2005-01-22 10:42:33.000000000 -0500 @@ -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, --- x/net/core/datagram.c.old 2005-01-22 10:03:56.000000000 -0500 +++ y/net/core/datagram.c 2005-01-22 10:43:40.000000000 -0500 @@ -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); | |