Package: linux-source-3.2
Version: 3.2.57-3

The symbol skb_copy_ubufs() is not exported in net/core/skbuff.c, even though 
it is exposed in include/linux/skbuff.h and used by skb_orphan_frags(). OVS 
kernel module fails to start due to this:

Error: Module openvswitch is not currently loaded
ERROR: could not insert 'openvswitch': Unknown symbol in module, or unknown 
parameter (see dmesg)

dmesg output:

[ 3315.819202] openvswitch: Unknown symbol skb_copy_ubufs (err 0)


/lib/modules/3.2.0-4-amd64/source/include/linux/skbuff.h has this:

static inline int skb_orphan_frags(struct sk_buff *skb, gfp_t gfp_mask)
{
        if (likely(!(skb_shinfo(skb)->tx_flags & SKBTX_DEV_ZEROCOPY)))
                return 0;
        return skb_copy_ubufs(skb, gfp_mask);
}

But /usr/src/linux-source-3.2/net/core/skbuff.c only has this:

int skb_copy_ubufs(struct sk_buff *skb, gfp_t gfp_mask)
{
        int i;
[snipped]
        return 0;
}

Note the missing EXPORT_SYMBOL() after the function definition.

It seems that skb_copy_ubufs() has been exported in Linux 3.6, as the 
skb_orphan_frags() was introduced. Now Debian 3.2.57-3 has a backported 
skb_orphan_frags(), but the export of the symbol sib_copy_ubufs() was not 
backported.

Regards,

 Jarno Rajahalme


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to