[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
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
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.