1
我正在開發一些Linux內核的網絡驅動程序。它工作正常,但似乎有內存泄漏。我認爲這兩個功能我用懷疑:sk_buff結構函數和內存泄漏
skb2 = skb_realloc_headroom(skb, size);
skb2 = skb_copy_expand(skb, skb_headroom(skb), size, GFP_ATOMIC);
我的問題是 - 做這些功能使SKB的副本SKB2和我可以放心地免費SKB與否?或者,也許skb2只是擴大skb,我不能釋放他們?
skb_realloc_headroom不釋放原來的SKB!大多數情況下,我都可以在原件上找到調用consume_skb的東西。 consume_skb調用__kfree_skb。 –