Re: [PATCHv2 net-next 2/2] net: Export IGMP/MLD message validation code

From: David Miller
Date: Tue Apr 14 2015 - 14:27:22 EST


From: Linus Lüssing <linus.luessing@xxxxxxxxx>
Date: Tue, 14 Apr 2015 08:37:42 +0200

> +int skb_checksum_trimmed(struct sk_buff *skb, unsigned int transport_len,
> + __sum16(*skb_check_func)(struct sk_buff *skb),
> + struct sk_buff **skb_trimmed)
> +{

This is a really terrible interface.

It is designed in such a way that it is completely ambiguous who is
resonsible for managing the lifetimes of 'skb' and 'skb_trimmed'.

I would suggest changing this such that:

1) If you clone successfully, 'skb' is released.

2) whatever SKB ends up being used is returned as an error pointer.

3) The caller is responsible for freeing or grabbing a reference
to the skb returned.

Also, this is taking too long to finalize and we are past the openning
of the merge window so you will have to submit a fixed up version when
the net-next tree opens up for submissions as it is very strongly
closed right now.

Thanks.

--
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/