Skip to content
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

nxsem_destroyholder: Use critical section when destroying holder(s) #15243

Merged
merged 1 commit into from
Dec 26, 2024

Conversation

pussuw
Copy link
Contributor

@pussuw pussuw commented Dec 17, 2024

Summary

Must use critical section here, otherwise the free holder list will leak, causing either a crash due to holder->htcb = NULL, or the free holder list becomes (erroneously) empty even though most of the holder entries are free.

Impact

Fix g_freeholders list integrity.

Testing

rv-virt:knsh64
rv-virt:ksmp64
MPFS target with > 100 threads and processeds, PI=yes, SMP=yes

Otherwise the free holder list will leak, causing either a crash due to
holder->htcb = NULL, or the free holder list becomes (erroneously) empty
even though most of the holder entries are free.
@github-actions github-actions bot added Area: OS Components OS Components issues Size: XS The size of the change in this PR is very small labels Dec 17, 2024
@xiaoxiang781216 xiaoxiang781216 merged commit e19e1a8 into apache:master Dec 26, 2024
27 checks passed
@pussuw pussuw deleted the fix_sem_holder_list branch December 26, 2024 20:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: OS Components OS Components issues Size: XS The size of the change in this PR is very small
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants