[PATCH] nfc: free skb buffer using skb_free_datagram

Subsystems: networking [general], nfc subsystem, the rest

STALE3979d

2 messages, 2 authors, 2015-10-19 · open the first message on its own page

[PATCH] nfc: free skb buffer using skb_free_datagram

From: Insu Yun <hidden>
Date: 2015-10-19 15:58:02

Freeing sk_buff genereated by skb_recv_datagram is always by
skb_free_datagram, not kfree_skb.

Signed-off-by: Insu Yun <redacted>
---
 net/nfc/llcp_sock.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/nfc/llcp_sock.c b/net/nfc/llcp_sock.c
index b7de0da..15e681f 100644
--- a/net/nfc/llcp_sock.c
+++ b/net/nfc/llcp_sock.c
@@ -870,7 +870,7 @@ static int llcp_sock_recvmsg(struct socket *sock, struct msghdr *msg,
 			}
 		}
 
-		kfree_skb(skb);
+		skb_free_datagram(sk, skb);
 	}
 
 	/* XXX Queue backlogged skbs */
-- 
1.9.1

Re: [PATCH] nfc: free skb buffer using skb_free_datagram

From: Eric Dumazet <hidden>
Date: 2015-10-19 16:44:23

On Mon, 2015-10-19 at 15:59 +0000, Insu Yun wrote:
quoted hunk
Freeing sk_buff genereated by skb_recv_datagram is always by
skb_free_datagram, not kfree_skb.

Signed-off-by: Insu Yun <redacted>
---
 net/nfc/llcp_sock.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/nfc/llcp_sock.c b/net/nfc/llcp_sock.c
index b7de0da..15e681f 100644
--- a/net/nfc/llcp_sock.c
+++ b/net/nfc/llcp_sock.c
@@ -870,7 +870,7 @@ static int llcp_sock_recvmsg(struct socket *sock, struct msghdr *msg,
 			}
 		}
 
-		kfree_skb(skb);
+		skb_free_datagram(sk, skb);
 	}
 
 	/* XXX Queue backlogged skbs */
Nope, you are adding a bug here.

Current code is fine.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help