Messages in this thread | | | From | David Howells <> | Subject | Re: [PATCH net 7/7] rxrpc: Use skb_unshare() rather than skb_cow_data() | Date | Sun, 01 Sep 2019 08:11:38 +0100 |
| |
Hillf Danton <hdanton@sina.com> wrote:
> > + /* Unshare the packet so that it can be modified for in-place > > + * decryption. > > + */ > > + if (sp->hdr.securityIndex != 0) { > > + struct sk_buff *nskb = skb_unshare(skb, GFP_ATOMIC); > > + if (!nskb) { > > + rxrpc_eaten_skb(skb, rxrpc_skb_unshared_nomem); > > + goto out; > > + } > > + > > + if (nskb != skb) { > > + rxrpc_eaten_skb(skb, rxrpc_skb_received); > > + rxrpc_new_skb(skb, rxrpc_skb_unshared); > > + skb = nskb; > > + sp = rxrpc_skb(skb); > > + } > > + } > > Unsharing skb makes it perilous to take a peep at it afterwards.
Ah, good point. rxrpc_new_skb() should be after the assignment.
David
| |