fragmentation.c (a02001086bbfb4da35d1228bebc2f1b442db455f) | fragmentation.c (5b6698b0e4a37053de35cc24ee695b98a7eb712b) |
---|---|
1/* Copyright (C) 2013-2014 B.A.T.M.A.N. contributors: 2 * 3 * Martin Hundebøll <martin@hundeboll.net> 4 * 5 * This program is free software; you can redistribute it and/or 6 * modify it under the terms of version 2 of the GNU General Public 7 * License as published by the Free Software Foundation. 8 * --- 237 unchanged lines hidden (view full) --- 246 * fragments. 247 */ 248 entry = hlist_entry(chain->first, struct batadv_frag_list_entry, list); 249 hlist_del(&entry->list); 250 skb_out = entry->skb; 251 kfree(entry); 252 253 /* Make room for the rest of the fragments. */ | 1/* Copyright (C) 2013-2014 B.A.T.M.A.N. contributors: 2 * 3 * Martin Hundebøll <martin@hundeboll.net> 4 * 5 * This program is free software; you can redistribute it and/or 6 * modify it under the terms of version 2 of the GNU General Public 7 * License as published by the Free Software Foundation. 8 * --- 237 unchanged lines hidden (view full) --- 246 * fragments. 247 */ 248 entry = hlist_entry(chain->first, struct batadv_frag_list_entry, list); 249 hlist_del(&entry->list); 250 skb_out = entry->skb; 251 kfree(entry); 252 253 /* Make room for the rest of the fragments. */ |
254 if (pskb_expand_head(skb_out, 0, size - skb->len, GFP_ATOMIC) < 0) { | 254 if (pskb_expand_head(skb_out, 0, size - skb_out->len, GFP_ATOMIC) < 0) { |
255 kfree_skb(skb_out); 256 skb_out = NULL; 257 goto free; 258 } 259 260 /* Move the existing MAC header to just before the payload. (Override 261 * the fragment header.) 262 */ --- 236 unchanged lines hidden --- | 255 kfree_skb(skb_out); 256 skb_out = NULL; 257 goto free; 258 } 259 260 /* Move the existing MAC header to just before the payload. (Override 261 * the fragment header.) 262 */ --- 236 unchanged lines hidden --- |