-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gnrc_netif: fix packet leak with gnrc_netif_pktq & netdev_new_api #20983
gnrc_netif: fix packet leak with gnrc_netif_pktq & netdev_new_api #20983
Conversation
Hmm not so fast, looks like we are getting a double free now 😕
|
So |
But also test the other combinations so you do not introduce regressions there ;-). |
I think I know what was going on here: |
Since all the new addions are now the I'm not saying there are no leaks when combining !netdev_new with netdev_new, but those would be unrelated to the fixes for the netdev_new-only case - I'll give that a try tomorrow. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure this works. I am not sure if just skipping pkt
(without releasing it) now generates a leak.
f238c84
to
8318a48
Compare
A border router ( |
8318a48
to
1629a6a
Compare
Contribution description
With
netdev_new_api
packets are not released on send anymore.gnrc_netif_pktq
adds a hold on a packet to not release it on send.Even though 1 + 1 - 1 - 1 should be 0, we are leaking packets on send.
Testing procedure
Run a driver that makes use of both
netdev_new_api
andgnrc_netif_pktq
(e.g.at86rf215
):master
pktbuf stats
this PR
pktbuf is empty
Issues/PRs references
#11263 (comment)