Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-113928

[RHEL9] libblockdev crash when create LV with empty list of PVs

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • rhel-9.8
    • rhel-9.7
    • libblockdev
    • None
    • libblockdev-2.28-15.el9
    • No
    • Low
    • rhel-storage-management
    • 8
    • 10
    • 0
    • False
    • False
    • Hide

      None

      Show
      None
    • No
    • None
    • Requested
    • None
    • Unspecified Release Note Type - Unknown
    • Unspecified
    • Unspecified
    • Unspecified
    • None

      Aug 26 23:25:01 storageqe-109 INFO: #### will start test_fuzz_lvm_operations #####
      Aug 26 23:25:01 storageqe-109 systemd-coredump[1109277]: Process 1108587 (pytest) of user 0 terminated abnormally with signal 11/SEGV, processing...
      Aug 26 23:25:01 storageqe-109 systemd[1]: Started systemd-coredump@22-1109277-0.service - Process Core Dump (PID 1109277/UID 0).
      Aug 26 23:25:01 storageqe-109 systemd-coredump[1109278]: Cannot resolve systemd-coredump user. Proceeding to dump core as root: No such process
      Aug 26 23:25:01 storageqe-109 systemd-coredump[1109278]: Process 1108587 (pytest) of user 0 dumped core.#012#012Module [dso] from rpm python3.12-3.12.11-2.el10.x86_64#012Module libjson-glib-1.0.so.0 from rpm json-glib-1.8.0-5.el10.x86_64#012Module libbd_smartmontools.so.3 from rpm libblockdev-3.2.0-5.el10.x86_64#012Module libnvme.so.1 from rpm libnvme-1.13-1.el10.x86_64#012Module libbd_nvme.so.3 from rpm libblockdev-3.2.0-5.el10.x86_64#012Module libdaxctl.so.1 from rpm ndctl-80-4.el10.x86_64#012Module libndctl.so.6 from rpm ndctl-80-4.el10.x86_64#012Module libbd_nvdimm.so.3 from rpm libblockdev-3.2.0-5.el10.x86_64#012Module libcom_err.so.2 from rpm e2fsprogs-1.47.1-4.el10.x86_64#012Module libe2p.so.2 from rpm e2fsprogs-1.47.1-4.el10.x86_64#012Module libext2fs.so.2 from rpm e2fsprogs-1.47.1-4.el10.x86_64#012Module libbd_fs.so.3 from rpm libblockdev-3.2.0-5.el10.x86_64#012Module libfdisk.so.1 from rpm util-linux-2.40.2-10.el10.x86_64#012Module libbd_part.so.3 from rpm libblockdev-3.2.0-5.el10.x86_64#012Module libbd_mdraid.so.3 from rpm libblockdev-3.2.0-5.el10.x86_64#012Module libbd_dm.so.3 from rpm libblockdev-3.2.0-5.el10.x86_64#012Module libjson-c.so.5 from rpm json-c-0.18-3.el10.x86_64#012Module libvolume_key.so.1 from rpm volume_key-0.3.12-25.el10.x86_64#012Module libkeyutils.so.1 from rpm keyutils-1.6.3-5.el10.x86_64#012Module libnspr4.so from rpm nss-3.112.0-4.el10_0.x86_64#012Module libplc4.so from rpm nss-3.112.0-4.el10_0.x86_64#012Module libplds4.so from rpm nss-3.112.0-4.el10_0.x86_64#012Module libnssutil3.so from rpm nss-3.112.0-4.el10_0.x86_64#012Module libnss3.so from rpm nss-3.112.0-4.el10_0.x86_64#012Module libsmime3.so from rpm nss-3.112.0-4.el10_0.x86_64#012Module libssl3.so from rpm nss-3.112.0-4.el10_0.x86_64#012Module libbd_crypto.so.3 from rpm libblockdev-3.2.0-5.el10.x86_64#012Module libbd_loop.so.3 from rpm libblockdev-3.2.0-5.el10.x86_64#012Module libbd_swap.so.3 from rpm libblockdev-3.2.0-5.el10.x86_64#012Module libyaml-0.so.2 from rpm libyaml-0.2.5-16.el10.x86_64#012Module libdevmapper.so.1.02 from rpm lvm2-2.03.32-3.el10.x86_64#012Module libbd_lvm-dbus.so.3 from rpm libblockdev-3.2.0-5.el10.x86_64#012Module libsystemd.so.0 from rpm systemd-257-11.el10.x86_64#012Module libdbus-1.so.3 from rpm dbus-1.14.10-5.el10.x86_64#012Module _dbus_bindings.so from rpm dbus-python-1.3.2-8.el10.x86_64#012Module libzstd.so.1 from rpm zstd-1.5.5-9.el10.x86_64#012Module libcap.so.2 from rpm libcap-2.69-7.el10.x86_64#012Module libkmod.so.2 from rpm kmod-31-11.el10.x86_64#012Module libudev.so.1 from rpm systemd-257-11.el10.x86_64#012Module libbd_utils.so.3 from rpm libblockdev-3.2.0-5.el10.x86_64#012Module libblockdev.so.3 from rpm libblockdev-3.2.0-5.el10.x86_64#012Module libgmp.so.10 from rpm gmp-6.2.1-12.el10.x86_64#012Module libmpfr.so.6 from rpm mpfr-4.2.1-5.el10.x86_64#012Module libbytesize.so.1 from rpm libbytesize-2.10-5.el10.x86_64#012Module _ctypes.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module libblkid.so.1 from rpm util-linux-2.40.2-10.el10.x86_64#012Module libselinux.so.1 from rpm libselinux-3.9-1.el10.x86_64#012Module libmount.so.1 from rpm util-linux-2.40.2-10.el10.x86_64#012Module libgio-2.0.so.0 from rpm glib2-2.80.4-4.el10_0.6.x86_64#012Module libgmodule-2.0.so.0 from rpm glib2-2.80.4-4.el10_0.6.x86_64#012Module libpcre2-8.so.0 from rpm pcre2-10.44-1.el10.3.x86_64#012Module libffi.so.8 from rpm libffi-3.4.4-10.el10.x86_64#012Module libgobject-2.0.so.0 from rpm glib2-2.80.4-4.el10_0.6.x86_64#012Module libgirepository-1.0.so.1 from rpm gobject-introspection-1.79.1-6.el10.x86_64#012Module libglib-2.0.so.0 from rpm glib2-2.80.4-4.el10_0.6.x86_64#012Module _gi.cpython-312-x86_64-linux-gnu.so from rpm pygobject3-3.46.0-7.el10.x86_64#012Module _multibytecodec.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module _queue.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module libssl.so.3 from rpm openssl-3.5.1-3.el10.x86_64#012Module _ssl.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module resource.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module libtinfo.so.6 from rpm ncurses-6.4-14.20240127.el10.x86_64#012Module libreadline.so.8 from rpm readline-8.2-11.el10.x86_64#012Module readline.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module _speedups.cpython-312-x86_64-linux-gnu.so from rpm python-markupsafe-2.1.3-6.el10.x86_64#012Module _pickle.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module libexpat.so.1 from rpm expat-2.7.1-1.el10_0.x86_64#012Module pyexpat.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module _elementtree.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module _posixsubprocess.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module fcntl.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module libmpdec.so.3 from rpm mpdecimal-2.5.1-12.el10.x86_64#012Module _decimal.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module _heapq.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module _json.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module unicodedata.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module libuuid.so.1 from rpm util-linux-2.40.2-10.el10.x86_64#012Module _uuid.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module _datetime.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module array.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module select.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module _socket.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module _blake2.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module libcrypto.so.3 from rpm openssl-3.5.1-3.el10.x86_64#012Module _hashlib.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module _random.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module _struct.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module binascii.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module _csv.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module liblzma.so.5 from rpm xz-5.6.2-4.el10_0.x86_64#012Module _lzma.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module libbz2.so.1 from rpm bzip2-1.0.8-25.el10.x86_64#012Module _bz2.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module libz.so.1 from rpm zlib-ng-2.2.3-2.el10.x86_64#012Module zlib.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module _bisect.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module math.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module _opcode.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.11-2.el10.x86_64#012Module libpython3.12.so.1.0 from rpm python3.12-3.12.11-2.el10.x86_64#012Stack trace of thread 1108587:#012#0  0x00007f663debd9dc __pthread_kill_implementation (libc.so.6 + 0x969dc)#012#1  0x00007f663de67a96 raise (libc.so.6 + 0x40a96)#012#2  0x00007f663de67b40 __restore_rt (libc.so.6 + 0x40b40)#012#3  0x00007f663bc526eb g_variant_builder_add_value (libglib-2.0.so.0 + 0xa76eb)#012#4  0x00007f663ae864d5 bd_lvm_lvcreate (libbd_lvm-dbus.so.3 + 0xd4d5)#012#5  0x00007f663d5e2056 ffi_call_unix64 (libffi.so.8 + 0xa056)#012#6  0x00007f663d5dd6f1 ffi_call_int.lto_priv.0 (libffi.so.8 + 0x56f1)#012#7  0x00007f663d5e06ae ffi_call (libffi.so.8 + 0x86ae)#012#8  0x00007f663bd279e0 pygi_invoke_c_callable (_gi.cpython-312-x86_64-linux-gnu.so + 0x2d9e0)#012#9  0x00007f663bd26b2e _wrap_g_callable_info_invoke (_gi.cpython-312-x8
      Aug 26 23:25:01 storageqe-109 systemd[1]: systemd-coredump@22-1109277-0.service: Deactivated successfully.
      Aug 26 23:25:01 storageqe-109 systemd[1]: systemd-coredump@22-1109277-0.service: Consumed 185ms CPU time, 87.2M memory peak.
       
              malicious_names = [
                  # Very long names
                  "x" * 1000,
                  "volumegroup" * 100,
              ]
              for malicious_name in malicious_names:
                  self.luks_helper.echolog("INFO: the malicious_name is %s" % malicious_name)
                  try:
                      # Test VG creation with malicious names
                      self.luks_helper.echolog("INFO: the malicious_name for vg %s" % malicious_name)
                      with pytest.raises((GLib.GError, ValueError, UnicodeError)):
                          bd.lvm_vgcreate(malicious_name, [test_file], 0, [])                # Test LV creation with malicious names
                      self.luks_helper.echolog("INFO: the malicious_name for lv %s" % malicious_name)
                      with pytest.raises((GLib.GError, ValueError, UnicodeError)):
                          bd.lvm_lvcreate("test_vg", malicious_name, 1024**3, None, [], [])            except Exception as e:
                      # Verify no crashes
                      error_msg = str(e).lower()
                      assert "segmentation fault" not in error_msg
                      assert "abort" not in error_msg
       

       

      libblockdev-3.2.0-5.el10.x86_64

      6.12.0-119.el10.x86_64

       

              vtrefny@redhat.com Vojtěch Trefný
              guazhang@redhat.com Guangwu Zhang
              Vojtěch Trefný Vojtěch Trefný
              Guangwu Zhang Guangwu Zhang
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated: