From: Willem de Bruijn <willemdebruijn.kernel@xxxxxxxxx> Date: Wed, 21 Jun 2017 17:18:05 -0400 > @@ -958,15 +958,20 @@ EXPORT_SYMBOL_GPL(skb_morph); > */ > int skb_copy_ubufs(struct sk_buff *skb, gfp_t gfp_mask) > { > - int i; > int num_frags = skb_shinfo(skb)->nr_frags; > struct page *page, *head = NULL; > struct ubuf_info *uarg = skb_shinfo(skb)->destructor_arg; > + int i, new_frags; > + u32 d_off; Reverse christmas tree with the local variable declarations. > + page = head; > + d_off = 0; > + for (i = 0; i < num_frags; i++) { > + u8 *vaddr; > + skb_frag_t *f = &skb_shinfo(skb)->frags[i]; > + u32 f_off, f_size, copy; Likewise. > + f_off = f->page_offset; > + f_size = f->size; > + > + vaddr = kmap_atomic(skb_frag_page(f)); I looked at some kmap_atomic() implementations and I do not think it supports compound pages. -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html