Assert if soref() is called on an already-released socket.#703
Open
JonathanLennox wants to merge 2 commits intosctplab:masterfrom
Open
Assert if soref() is called on an already-released socket.#703JonathanLennox wants to merge 2 commits intosctplab:masterfrom
JonathanLennox wants to merge 2 commits intosctplab:masterfrom
Conversation
e719a63 to
5d461ee
Compare
damencho
approved these changes
Apr 1, 2024
tuexen
reviewed
Apr 14, 2024
| KASSERT((so)->so_count > 0, ("sorele")); \ | ||
| if (--(so)->so_count == 0) \ | ||
| if (--(so)->so_count == 0) { \ | ||
| (so)->so_count = -1; \ |
Member
There was a problem hiding this comment.
If we actually do this, sofree() will return early, since so->so_count != 0 would be true.
Contributor
Author
There was a problem hiding this comment.
Yes, you're right; see my follow-up commit.
Contributor
Author
There was a problem hiding this comment.
I've rebased it.
Contributor
Author
|
The reason for this PR is to try to track down the issue I reported in #676 -- the garbage value in so_count implies that the memory has been re-used, for which the most likely explanation is that the socket has been freed. |
9dd75f8 to
6a60d87
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.