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

David Miller davem at davemloft.net
Tue Apr 14 18:27:07 UTC 2015

From: Linus Lüssing <linus.luessing at c0d3.blue>
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.


More information about the Bridge mailing list