Fix: race upon task->real_parent accessing #171
Merged
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.
get_process_socket() and smith_get_pid_tree() could grab a task_struct
which is being released, i.e. increment task->usage while it's already
zero-valued. The race window is very small.
The solution is: don't increment task->usage if it's already zero to
avoid the race conditions. Any access of task->real_parent also has
the same risk of races, but not fatal, only gets inconsistent data.
Signed-off-by: shenping.matt shenping.matt@bytedance.com
A similar PR may already be submitted!
Please search among the Pull request before creating one.
Thanks for submitting a pull request! Please provide enough information so that others can review your pull request:
For more information, see the
CONTRIBUTING
guide.Summary
This PR fixes/implements the following bugs/features
Explain the motivation for making this change. What existing problem does the pull request solve?
Test plan (required)
Demonstrate the code is solid. Example: The exact commands you ran and their output, screenshots / videos if the pull request changes UI.
Code formatting
Closing issues
Fixes #