[PATCH] ip_output: account for fraggap when checking to add trailer_len
authorZach Brown <zach.brown@oracle.com>
Fri, 14 Apr 2006 23:04:18 +0000 (16:04 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 14 Apr 2006 23:04:18 +0000 (16:04 -0700)
During other work I noticed that ip_append_data() seemed to be forgetting to
include the frag gap in its calculation of a fragment that consumes the rest of
the payload.  Herbert confirmed that this was a bug that snuck in during a
previous rework.

Signed-off-by: Zach Brown <zach.brown@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ip_output.c

index 8dcba3887f04eb647df01ae404b3b9bda955408d..cff9c3a72daf254013b7ae80cb5761e04a733a2f 100644 (file)
@@ -904,7 +904,7 @@ alloc_new_skb:
                         * because we have no idea what fragment will be
                         * the last.
                         */
-                       if (datalen == length)
+                       if (datalen == length + fraggap)
                                alloclen += rt->u.dst.trailer_len;
 
                        if (transhdrlen) {