On Wed, Nov 25, 2020 at 09:34:29PM +0100, Andrew Lunn wrote:
quoted
+static struct sk_buff *xrs700x_rcv(struct sk_buff *skb, struct net_device *dev,
+ struct packet_type *pt)
+{
+ int source_port;
+ u8 *trailer;
+
+ if (skb_linearize(skb))
+ return NULL;
Something for Vladimir:
Could this linearise be moved into the core, depending on the
tail_tag?
Honestly I believe that the skb_linearize is not needed at all. It is
copy-pasted from tag_trailer.c, a driver that has not exercised at
runtime by anybody for a long time now. The pskb_trim_rcsum function
used for removing the tail tag should do the right thing even with
fragmented packets.
quoted
+ if (pskb_trim_rcsum(skb, skb->len - 1))
+ return NULL;
And the overhead is also in dsa_devlink_ops, so maybe this can be
moved as well?
Sorry, I don't understand this comment.