Re: [PATCH] restore skb_copy_datagram, removed from 2.6.11-rc2, breaking VMWare

From: Petr Vandrovec
Date: Sat Jan 22 2005 - 11:28:32 EST


On Sat, Jan 22, 2005 at 11:01:29AM -0500, Chip Salzenberg wrote:
> 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

> The attached patch restores the (little harmless wrapper) function.
> --
> Chip Salzenberg - a.k.a. - <chip@xxxxxxxxx>
> "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);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/