Skip to content

Commit

Permalink
net/tls: Replace kfree_skb() with consume_skb()
Browse files Browse the repository at this point in the history
To free the skb in normal course of processing, consume_skb() should be
used. Only for failure paths, skb_free() is intended to be used.

https://www.kernel.org/doc/htmldocs/networking/API-consume-skb.html

Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Vakul Garg authored and David S. Miller committed Mar 21, 2019
1 parent 08e046c commit a88c26f
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions net/tls/tls_sw.c
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ static int tls_do_decryption(struct sock *sk,
/* Using skb->sk to push sk through to crypto async callback
* handler. This allows propagating errors up to the socket
* if needed. It _must_ be cleared in the async handler
* before kfree_skb is called. We _know_ skb->sk is NULL
* before consume_skb is called. We _know_ skb->sk is NULL
* because it is a clone from strparser.
*/
skb->sk = sk;
Expand Down Expand Up @@ -1535,7 +1535,7 @@ static bool tls_sw_advance_skb(struct sock *sk, struct sk_buff *skb,
rxm->full_len -= len;
return false;
}
kfree_skb(skb);
consume_skb(skb);
}

/* Finished with message */
Expand Down Expand Up @@ -1644,7 +1644,7 @@ static int process_rx_list(struct tls_sw_context_rx *ctx,

if (!is_peek) {
skb_unlink(skb, &ctx->rx_list);
kfree_skb(skb);
consume_skb(skb);
}

skb = next_skb;
Expand Down

0 comments on commit a88c26f

Please sign in to comment.