kselftests: Dynamically pack symlink targets during installation - #567
Open
dmatlack wants to merge 1 commit into
Open
kselftests: Dynamically pack symlink targets during installation#567dmatlack wants to merge 1 commit into
dmatlack wants to merge 1 commit into
Conversation
The kernel selftests can contain symbolic links extending outside of the 'tools/' or 'arch/x86/' trees. For example, the VFIO selftests library contains symlinks pointing to headers in 'drivers/dma/', and the powerpc selftests include symlinks pointing to various assembly files in 'arch/powerpc/'. Since install_kernel_selftests() explicitly restricted packaging to only a few rigid directories like 'tools' and 'arch/x86', the symlinks for VFIO and powerpc would be shipped broken, breaking downstream compilation on test nodes. Fix this by introducing a dynamic find-and-pack loop that checks all symlinks under 'tools/'. If any symlink correctly resolves back into a file within the Linux tree that was not part of the standard packages (e.g., inside 'drivers/' or 'arch/powerpc/'), those specific target files are automatically copied in. Closes: https://lore.kernel.org/kvm/202608071656.86e9fd06-lkp@intel.com/ Signed-off-by: David Matlack <dmatlack@google.com>
Author
|
Note: I manually tested that the new bash code works as expected by pulling it out of the script and running it directly. But I am I not sure how to actually test this end-to-end. |
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 selftests (kselftests) suite frequently creates symbolic links extending outside of the 'tools/' or 'arch/x86/' trees. For example, KVM VFIO selftests include symlinks pointing to headers in 'drivers/dma/', and the powerpc selftests include symlinks pointing to various assembly files in 'arch/powerpc/'.
Because
install_kernel_selftests()explicitly restricted packaging to only a few rigid directories like 'tools' and 'arch/x86', symlinks like these would be shipped broken, breaking downstream test compilations.This PR fixes this by introducing a dynamic find-and-pack loop that checks all symlinks under 'tools/'. If any symlink correctly resolves back into a file within the Linux tree that was not part of the standard packages (e.g., inside 'drivers/' or 'arch/powerpc/'), those specific target files are automatically packed.