Skip to content

Conversation

@mwilck
Copy link
Collaborator

@mwilck mwilck commented Jan 29, 2026

multipath-tools 0.14.2, 2026/01

Bug fixes

  • Fix a possible NULL pointer dereference in the path purging code.
    Fixes 0.14.0. Commit 86ff48b.

CI

  • Updated the test_kpartx test script, and added it to the
    basic-build-and-ci workflow.

Shortlog

@bmarzins (1):
multipathd: fix possible null deference in purge_disconnected code

@mwilck (21):
test_kpartx: add cleanup action before running kpartx
test_kpartx: Use system kpartx for cleanup
test_kpartx: hide dd output
test_kpartx: add function to debug current system state
test_kpartx: run cleanly on systems using lvmdevices
test-kpartx: use more unusual VG and LV names
test-kpartx: improve output for errors and cleanup
test-kpartx: support running from kpartx subdirectory
test-kpartx: fix shellcheck-reported problems
test-kpartx: make partition renaming test more robust
test-kpartx: use "command -v" instead of "which"
test-kpartx: use sleep for microsecond sleep
test-kpartx: also add trap for signals
test-kpartx: use sfdisk instead of parted
test-kpartx: improve step descriptions to ease debugging
kpartx/Makefile: add test target to run test-kpartx
kpartx/Makefile: enable debugging for test-kpartx
GitHub workflows: add kpartx test to build-and-unittest.yaml
Update NEWS.md for 0.14.2
libmultipath: bump version to 0.14.2
GitHub workflows: run abi.yaml for pushes on "master", too
GitHub workflows: abi-stable: try to download the artifact

bmarzins and others added 4 commits January 28, 2026 23:12
purge_disconnected only works on paths that are part of a multipath
device. However, get_new_state() is also run on uninitialized paths that
are not part of any multipath device, and the purge_disconnected code in
it was dereferencing pp->mpp, without checking if it was NULL. Fix that.

Fixes: 690550a ("multipathd: implement purge functionality for disconnected paths")
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Reviewed-by: Martin Wilck <mwilck@suse.com>
If kpartx crashes and the cleanup action isn't yet pushed, the
cleanup will fail.

Signed-off-by: Martin Wilck <mwilck@suse.com>
If our kpartx binary is broken, it's better to use the system
kpartx for cleanup, if possible.

Signed-off-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin Wilck <mwilck@suse.com>
@mwilck mwilck force-pushed the queue branch 3 times, most recently from 00c5b28 to 44ea9e0 Compare January 29, 2026 17:08
If something goes wrong, it's useful to see the current loop device
and dm device setup on the system.

Signed-off-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin Wilck <mwilck@suse.com>
Make this output better readable and understandable.

Signed-off-by: Martin Wilck <mwilck@suse.com>
If run directly from the kpartx subdirectory, execute the local
kpartx binary.

Signed-off-by: Martin Wilck <mwilck@suse.com>
Mostly missing quotes. SC2016 must be generally disabled because it
will complain about every push_cleanup invocation. SC2086 produces
false positives for KPARTX_OPTS.

Signed-off-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin Wilck <mwilck@suse.com>
"which" may not always be awailable.

Signed-off-by: Martin Wilck <mwilck@suse.com>
The usleep command may not always be available.

Signed-off-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin Wilck <mwilck@suse.com>
parted has functionalilty to create partition mappings, which
is not desired in our case.

Signed-off-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin Wilck <mwilck@suse.com>
This test must be run as root.

Signed-off-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin Wilck <mwilck@suse.com>
In the opensvc/multipath-tools repository, we use "master" as the
reference branch for the ABI check, but we didn't run it for
pushes to "master" so far (a merge into "master" seems to count as
"push"). Therefore, the reference ABI was missing unless it had been
triggered manually for "master, and the workflow failed.

Run "abi.yaml" for every merge to master.

Signed-off-by: Martin Wilck <mwilck@suse.com>
@mwilck mwilck requested a review from bmarzins January 30, 2026 10:25
... and only rebuild it if necessary

Signed-off-by: Martin Wilck <mwilck@suse.com>
Copy link
Collaborator

@bmarzins bmarzins left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

@mwilck mwilck merged commit 0a189bb into opensvc:master Feb 2, 2026
136 checks passed
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.

2 participants