runner: fix state_lock and cfgfs use#596
Open
mikechristie wants to merge 1 commit intoopen-iscsi:mainfrom
Open
runner: fix state_lock and cfgfs use#596mikechristie wants to merge 1 commit intoopen-iscsi:mainfrom
mikechristie wants to merge 1 commit intoopen-iscsi:mainfrom
Conversation
The kernel can end up taking a configfs lock then call up to userspace, so we must not have a lock that is taken in this upcall and is taken when interacting with configfs. As reported by sherlockxiao: open-iscsi#595 this happens with the state_lock where during deletion the kernel will hold the state_lock, but some code paths will hold the state_lock while calling into configfs. This moves our configfs access out of the state_lock.
493893b to
b4846b9
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.
The kernel can end up taking a configfs lock then call up to userspace,
so we must not have a lock that is taken in this upcall and is taken
when interacting with configfs. As reported by sherlockxiao:
#595
this happens with the state_lock where during deletion the kernel will
hold the state_lock, but some code paths will hold the state_lock while
calling into configfs.
This moves our configfs access out of the state_lock.