Bug 2119896

Summary: device-mapper-multipath includes code with incompatible licenses
Product: Red Hat Enterprise Linux 9 Reporter: Ben Marzinski <bmarzins>
Component: device-mapper-multipathAssignee: Ben Marzinski <bmarzins>
Status: CLOSED ERRATA QA Contact: Lin Li <lilin>
Severity: high Docs Contact:
Priority: high    
Version: 9.0CC: agk, bmarzins, cwei, heinzm, msnitzer, prajnoha, storage-qe, zkabelac
Target Milestone: rcKeywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: device-mapper-multipath-0.8.7-11.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 2119887 Environment:
Last Closed: 2022-11-15 11:16:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2119887    
Bug Blocks:    

Description Ben Marzinski 2022-08-19 20:03:41 UTC
+++ This bug was initially created as a clone of Bug #2119887 +++

Description of problem:
multipathd links against readline which, since its adoption by device-mapper-multipath, has been relicensed to GPL-3+. multipathd also use code copied from the linux kernel, which is licensed GPL-2. To resolve the license incompatibility, switch from readline to libedit, which has a compatibility wrapper that makes it a drop-in replacement for readline, and a BSD license compatible with GPLv2.

--- Additional comment from Ben Marzinski on 2022-08-19 20:01:42 UTC ---

There should be no functional change in multipathd. All that is necessary is to verify that installing the new packages installs libedit if not already installed, that

# ldd /sbin/multipathd

no longer includes libreadline and includes libedit instead, and that the interactive prompt you get from running

# multipathd -k

works as before (allowing you to edit what you're typing in).

Comment 4 Lin Li 2022-08-24 11:46:01 UTC
Reproduced on device-mapper-multipath-0.8.7-10.el9
[root@rdma-qe-42 ~]# rpm -qa | grep multipath
device-mapper-multipath-libs-0.8.7-10.el9.x86_64
device-mapper-multipath-0.8.7-10.el9.x86_64

[root@rdma-qe-42 ~]# ldd /sbin/multipathd | grep libreadline
	libreadline.so.8 => /lib64/libreadline.so.8 (0x00007f4e0ac90000)

[root@rdma-qe-42 ~]# ldd /sbin/multipathd | grep libedit


Verified on device-mapper-multipath-0.8.7-11.el9
[root@storageqe-05 ~]# rpm -qa | grep multipath
device-mapper-multipath-libs-0.8.7-11.el9.x86_64
device-mapper-multipath-0.8.7-11.el9.x86_64
device-mapper-multipath-devel-0.8.7-11.el9.x86_64

[root@storageqe-05 ~]# ldd /sbin/multipathd | grep libreadline
[root@storageqe-05 ~]# ldd /sbin/multipathd | grep libedit
	libedit.so.0 => /lib64/libedit.so.0 (0x00007f19635db000)



Test result: new package no longer includes libreadline and includes libedit instead.

Comment 7 Lin Li 2022-08-25 02:48:50 UTC
Verified on device-mapper-multipath-0.8.7-11.el9 according to comment 4. Move to verified.

Comment 9 errata-xmlrpc 2022-11-15 11:16:24 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (device-mapper-multipath bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:8313