A small shell script to test the nvme binary for regressions. It requires an
NVMe device for testing purposes. Do NOT use in a production environment.
Provides
Requires
License
GPL-2.0-only
Changelog
* Fri Sep 18 2026 Daniel Wagner <dwagner@suse.de>
- Update to version 3.1:
* Release v3.1
* doc: Regenerate all docs for v3.1
* tests: NUL-terminate literals copied into dc_entry_is_self() test data
* plugin: fix out-of-bounds read of argv[1] in help() with no sub-argument
* libnvme: fix NBFT entry list leak in libnvmf_discover_nbft()
* huawei: guard against a null list_items in huawei_json_print_list_items()
* solidigm: also guard against a null ilog in ilog_dump_identify_page()
* plugins/sandisk: fix uninitialized market_name_len in enc_drive_capabilities
* plugins/exclusion: fix errno reliance in read_file()
* plugins/sandisk: update version
* plugins/sandisk: use nvme_get_pci_ids
* plugins/sandisk: port vs-smart-add-log from wdc
* libnvme: reject a persona hostnqn with no hostid
* shared: drop the retry loop from shr_read_file()/shr_read_file_as_string()
* shared: return error codes from shr_read_file() and shr_read_file_as_string()
* tests: bound the interface name copy in mock-ifaddrs init_entry()
* wdc: use shr_getrandom() for the send/receive correlation handle
* rpmb: use shr_getrandom() for the authentication nonce
* keys: check chmod() return value in append_keyfile()
* shared: add shr_getrandom()
* solidigm: fix NULL DMA target in ilog_dump_pel()
* tests: fix unit mismatch in test_admin_fw_download_cb's data check
* innogrit: remove dead fclose() guards before the first fopen() in getcdump
* solidigm: fix unreachable error-recovery path in parse_tracker_chunk_json()
* nvme: fix nvme_decide_retry() always returning false
* nbft: fix truncated PCI segment number in pci_sbdf_to_string()
* ocp: check ocp_get_uuid_index() before issuing the get-log command
* tests,tree-fabrics: check and acknowledge return values
* mi-mctp: fix endian conversion direction for MPR retry time
* fs-util: restore path separator unconditionally in shr_mkdir_p()
* tests: check write() return value in test_read_all()
* wdc: bound the device-reported Capture Diagnostics log length
* solidigm: replace read_file2buffer() with shared file-reading helpers
* sandisk: fix 32-bit overflow and unchecked realloc in sndk_do_cap_udui
* mi-mctp-ae: bound the AE number before indexing the enabled-events map
* shared: use memmove() for the sha256 intra-buffer carry-over copy
* fabrics: fix NULL dereference in dc_log_decision()
* netapp: fix NULL format string in netapp_smdevices_print_regular()
* tests: fix NULL dereference in mi-mctp aem_handler()
* ocp: fix NULL dereference and zero-fill bug in parse_event_fifo()
* nvme-print: bound-check FDP config descriptor walk against log size
* nvme-print: fix endian bugs and bound the EOM descriptor walk
* nvme-print: fix integer overflow in EOM descriptor offset
* shared: add shr_buf_has_room()
* tests: fix dangling pointer in test_nvmf_sanitize_addrs()
* tests: use shr_read_file_as_string() in shr_table tests
* tests: fix uninitialized buffer and NULL %s in check_normalize()
* shared: add shr_read_file_as_string()
* scaleflux: fix scandir(3) result leak in nvme_expand_cap
* wdc: fix out-of-bounds read of pre-v4 cloud smart log hardware revision
* nvme-print,fabrics: fix uninitialized reads
* utils: fix allocation leak in copy_options()
* shannon: fix file descriptor leak in set_additional_feature()
* rpmb: validate config block size before write
* discoverd: honor persistent=force against EPCSD=0
* resv-plugin: size the resv report from the registrant count
* ccan: cast pointers to void * in fprintf for %p format specifier
* libnvme: pick the right self entry on a multi-homed DC
* discoverd: use __cleanup_tid in two loops
* sandisk: fix stack buffer overflow in C2 marketing-name parser
* discoverd: validate DLPE target before host-side inheritance
* nvme-models: fix pci.ids parser line loss
* tests: check errno after rewind in capture helpers
* huawei: null-check root/devices in huawei_json_print_list_items
* solidigm: guard ilog->cfg dereference in ilog_dump_identify_page
* libnvme: initialize TLS key IDs
* exclusion: preserve errno across free/fclose in read_file
* nvme-print-json: fix leaks in json_phy_rx_eom_descs
* wdc: close output file via __cleanup_file in wdc_enc_get_log
* lm: fix double fclose in lm_migration_send
* completions: document no-trailing-space insertion checks in TESTING.md
* completions: test the generator against a synthetic fixture
* nvme-print-json: use CAP property fields string table
* nvme-print: add CAP property fields string table
* nvme-print-json: combine obj_add_str and obj_add_string duplicated
* nvme-print: change string variables as constant
* nvme-print-json: fix to output alloc_error
* nvme-print-stdout: use libnvme API to print CAP property
* nvme-types-base: fix CAP property NSSRS bit