[pull] master from linux-nvme:master#237
Merged
Merged
Conversation
Add a nightly workflow in analyzer.yml which runs the Clang Static Analyzer, archives the generated reports, and uploads them as workflow artifacts and to the SFTP server for later inspection. As Coverity support is being retired, replace the Coverity workflow with the Clang Static Analyzer workflow. Rename coverity.yml to analyzer.yml and update the README accordingly. Signed-off-by: Nilay Shroff <nilay@linux.ibm.com>
Move the reports to a dedicated section in the documentation. Signed-off-by: Daniel Wagner <wagi@kernel.org>
Move libnvme_init_subsystem from tree.c to tree-win.c and tree-linux.c. Signed-off-by: Brandon Capener <bcapener@micron.com>
The union needs to be padded, so that the union doesn't have zero size. gcc complains with "union has size 0 in C, non-zero size in C++ [-Werror,-Wextern-c-compat]" Signed-off-by: Daniel Wagner <wagi@kernel.org>
…qnum The udev REMOVE rule cleans up a controller's registry entry behind an [ -e /dev/%k ] guard, so a recycled instance number whose new controller has already written its entry is not clobbered. That guard alone leaves a sub-shell TOCTOU: a new controller can claim the name and write its entry in the window between the [ -e ] test and rm, after which the stale REMOVE deletes a live entry. Stamp each entry at connect with the kernel's monotonic /sys/kernel/uevent_seqnum and remove only when the REMOVE event's own SEQNUM exceeds the stamp. A stale REMOVE for the old controller was emitted before the new controller's ADD, so its SEQNUM is necessarily lower than the new entry's stamp and the entry survives, independent of timing. A legitimate REMOVE of the current controller carries a SEQNUM above its own stamp, so it still deletes. A missing stamp reads as 0 and falls back to the device-existence check. Build the entry in a temporary directory and rename() it into place so it is observed only complete or absent, never as a directory that exists but lacks its seqnum stamp -- which the rule would read as 0 and delete out from under the connecting process. Symmetrically, remove a live entry by renaming it to a hidden sibling and purging that, so a reader never sees a half-emptied entry. The udev rule's own rm -rf stays non-atomic by nature; this covers library-driven deletes. Suggested-by: Daniel Wagner <wagi@kernel.org> Signed-off-by: Martin Belanger <martin.belanger@dell.com>
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )