Skip to content

kselftests: Dynamically pack symlink targets during installation - #567

Open
dmatlack wants to merge 1 commit into
intel:masterfrom
dmatlack:fix-kselftests-symlinks
Open

kselftests: Dynamically pack symlink targets during installation#567
dmatlack wants to merge 1 commit into
intel:masterfrom
dmatlack:fix-kselftests-symlinks

Conversation

@dmatlack

Copy link
Copy Markdown

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.

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>
@dmatlack

Copy link
Copy Markdown
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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant