> net/core/skbuff.c:4108:13: sparse: incorrect type in assignment (different base types)
> net/ipv6/mcast_snoop.c:63 ipv6_mc_check_exthdrs() warn: unsigned 'offset' is never less than zero.
Introduced by 
9afd85c9e4552b276e2f4cfefd622bdeeffbbf26
("net: Export IGMP/MLD message validation code")
Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Signed-off-by: David S. Miller <davem@davemloft.net>
 {
        struct sk_buff *skb_chk;
        unsigned int offset = skb_transport_offset(skb);
-       int ret;
+       __sum16 ret;
 
        skb_chk = skb_checksum_maybe_trim(skb, transport_len);
        if (!skb_chk)
 
 static int ipv6_mc_check_exthdrs(struct sk_buff *skb)
 {
        const struct ipv6hdr *ip6h;
-       unsigned int offset;
+       int offset;
        u8 nexthdr;
        __be16 frag_off;