Sync from SUSE:SLFO:Main libnvme revision ce17e0f2331e408249c705a3339f257d

This commit is contained in:
Adrian Schröter 2024-11-12 15:42:29 +01:00
parent 36feb1c8b9
commit 5d82ad119b
9 changed files with 223 additions and 39 deletions

View File

@ -1,28 +0,0 @@
From 6ec2c60668edd79d78552c0345e40bab52e3aa33 Mon Sep 17 00:00:00 2001
From: Daniel Wagner <dwagner@suse.de>
Date: Wed, 14 Feb 2024 14:19:07 +0100
Subject: [PATCH] build: disable sysfs test
The test is not running stable in OSC environment. This is a new test
which is running stable in the upstream CI builds. So this is something
downstream and needs some more digging.
Signed-off-by: Daniel Wagner <dwagner@suse.de>
---
test/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/meson.build b/test/meson.build
index 93e69991d6d7..a76f57973b6f 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -99,5 +99,5 @@ subdir('ioctl')
subdir('nbft')
if json_c_dep.found()
- subdir('sysfs')
+# subdir('sysfs')
endif
--
2.43.0

View File

@ -0,0 +1,39 @@
From 81073a178c198a1b7f08964300905cbec595c14e Mon Sep 17 00:00:00 2001
From: Daniel Wagner <wagi@kernel.org>
Date: Thu, 31 Oct 2024 14:54:21 +0100
Subject: [PATCH] linux: fix derive_psk_digest OpenSSL 1.1 version
The reordering of the variables broke derive_psk_digest OpenSSL 1.1
version.
Fixes: 4cc727d19221 ("linux: reorder variable declarations")
Signed-off-by: Daniel Wagner <wagi@kernel.org>
---
src/nvme/linux.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/nvme/linux.c b/src/nvme/linux.c
index e74fac20ba18..0d48792431d0 100644
--- a/src/nvme/linux.c
+++ b/src/nvme/linux.c
@@ -881,14 +881,14 @@ int nvme_gen_dhchap_key(char *hostnqn, enum nvme_hmac_alg hmac,
}
static int derive_psk_digest(const char *hostnqn, const char *subsysnqn,
- int version, int hmac,
+ int version, int cipher,
unsigned char *retained, size_t key_len,
char *digest, size_t digest_len)
{
static const char hmac_seed[] = "NVMe-over-Fabrics";
- const EVP_MD *md = select_hmac(hmac, &hmac_len);
_cleanup_hmac_ctx_ HMAC_CTX *hmac_ctx = NULL;
_cleanup_free_ unsigned char *psk_ctx = NULL;
+ const EVP_MD *md;
size_t hmac_len;
size_t len;
--
2.47.0

View File

@ -3,8 +3,8 @@
<param name="scm">git</param> <param name="scm">git</param>
<param name="url">https://github.com/linux-nvme/libnvme.git</param> <param name="url">https://github.com/linux-nvme/libnvme.git</param>
<param name="filename">libnvme</param> <param name="filename">libnvme</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@.g%h</param> <param name="versionformat">@PARENT_TAG@</param>
<param name="revision">bff7dda</param> <param name="revision">v1.11</param>
<param name="versionrewrite-pattern">v(.*)</param> <param name="versionrewrite-pattern">v(.*)</param>
<param name="changesgenerate">enable</param> <param name="changesgenerate">enable</param>
</service> </service>

View File

@ -1,6 +1,6 @@
<servicedata> <servicedata>
<service name="tar_scm"> <service name="tar_scm">
<param name="url">https://github.com/linux-nvme/libnvme.git</param> <param name="url">https://github.com/linux-nvme/libnvme.git</param>
<param name="changesrevision">bff7dda7e2a0f883d0b89e23fed725c916de3e61</param> <param name="changesrevision">2b3cb1746451f58583408a25857ca897d18cd4ca</param>
</service> </service>
</servicedata> </servicedata>

BIN
libnvme-1.11.obscpio (Stored with Git LFS) Normal file

Binary file not shown.

BIN
libnvme-1.8+0.gbff7dda.obscpio (Stored with Git LFS)

Binary file not shown.

View File

@ -1,3 +1,176 @@
-------------------------------------------------------------------
Thu Oct 31 13:06:35 UTC 2024 - Daniel Wagner <daniel.wagner@suse.com>
- Update to version 1.11:
* prefix: Use Request or Response Length in DLEN and DOFF for MI
* types: Add ETPVDS and SSI fields of sanitize status log
* json: do not escape strings when printing the configuration
* tree: do no export tls keys when not provided by user
* types: add struct nvme_id_ctrl_nvm ver and lbamqf member variables
* types: add NVMe 2.1 get log page LIDs
* type: Added enums for ANSAN and RGCNS bit of OAES field
* linux: fixup PSK HMAC type '0' handling
* util: added error code for ENOKEY
* fabrics: fix map error level in __nvmf_add_ctrl
* fabrics: add ctrl connect interface
* fabrics: use hex numbers when generating command line options
* fabrics: rename first argument for argument macros
* linux: handle key import correctly
* linux: export keys to config
* tree: read tls_configured_key and tls_keyring from sysfs
* tree: move dhchap and tls sysfs parser into separate functions
* json: move keystore operations out of the JSON parser
* tree: add getter/setters for TLS PSK
* linux: add import/export function for TLS pre-shared keys
* linux: only return the description of a key
* linux: use ssize_t as return type for nvme_identity_len
* linux: reorder variable declarations
* types: Added enum for SMVES event of PEL log
* libnvme: add lockdown log page support(LID : 0x14)
* libnvme: add EMVS support to sanitize command
* types: Add TP4159 PCIe Infrastructure for Live Migration definitions
* types: add NVME_CTRL_OAES get macro definitions
* types: add NVME_CTRL_OAES_TTHR definition
* types: add NVME_CTRL_FNA definitions to get field values
* types: add NVME_VAL() definition
* tree: fix tls key mem leak (bsc#1231668)
* tree: fix dhchap_ctrl_key mem leak (bsc#1231668)
* tree: fix dhchap_key mem leak (bsc#1231668)
* types: add NVME_CHECK() definition to check nvme register field value
* types: add kv opcodes
* types: added new fields in nvme_nvme_id_ns
* types: Add enum for Completion Condition of Get LBA status command
* ioctl: refactoring set_features
* types: add new fields added in TP4142
* mi: add control primitive command
* linux: Correct error handling for derive_psk_digest (bsc#1228376)
* types: Added new field CSER in enum as per TP4167
- build fix for OpenSSL 1.1
* add 0001-linux-fix-derive_psk_digest-OpenSSL-1.1-version.patch
-------------------------------------------------------------------
Fri Aug 02 08:23:49 UTC 2024 - Daniel Wagner <daniel.wagner@suse.com>
- Update to version 1.10:
* linux: update TLS version 1 PSK derivation (bsc#1228376)
* tree: fix nvme_read_config() to not set errno if return 0
* types: add new fields added in TP4165 (bsc#1231668)
* types: Changed the space into tap space (bsc#1231668)
* tree: handle no address phy slot dirs (bsc#1229193)
* linux: Remove the use of OpenSSL Engine API
* types: Added new controller attribute as per TP4104
* tree: add helper to lookup hostnqn/hostid (bsc#1226216)
* fabrics: extend hostnqn/hostid variable inject interface (bsc#1226216)
* json: filter out pcie transport (bsc#1226216)
* tree: preserve parsing order of a config file (bsc#1226216)
* types: add new field added in TP4099
* types: add new field added in TP4090 (bsc#1231668)
* linux: add nvme_revoke_tls_key (bsc#1226197)
* tree: fix segfault in nvme_free_tree() (bsc#1231668)
* types: add PEL vendor specific and TCG defined events definitions
* mi-mctp: initialize the rc variable in handle_mctp_endpoint()
* linux: avoid potential null pointer dereference
* linux: add nvme_get_ana_log_len_from_id_ctrl()
* libnvme: export nvme_mi_admin_get_ana_log_atomic()
* ioctl: add support for atomic, piecewise ANA log fetch
* ioctl: replace nvme_ana_rsp_hdr in doc comments
* ioctl: respect rae in nvme_get_log_ana()
* ioctl: fix nvme_get_log_ana_groups() pointer type
* types: add new filed added in TP4141a
* mi: Probe quirks on first command submission
* tree: optionally skip namespaces during scanning
* ioctl: update nvme_set_var_size_tags() to properly use reftag
* types: add enum for Protection Information Format
* libnvme: Introduce functions to generate host identifier and host NQN (bsc#1226216)
* fabrics: Unescape URI elements
* tests: Add uriparser tests
* fabrics: Introduce simple URI parser
* linux: default init cleanup variable
* linux: Fix uninitialized variables
* types: add the nvme Cancel command opcode
* log: split log variables from root object
* log: keep log level logic in one place
* mi: restore default ep timeout during admin_passthru
* mi: fix the rc for nvme_mi_scan_ep
* ccan/endian.h: Only define __{BIG,LITTLE}_ENDIAN if undefined.
* Use C99 types for uint32_t
* mi: fix the return error code.
-------------------------------------------------------------------
Fri May 03 13:11:16 UTC 2024 - Daniel Wagner <daniel.wagner@suse.com>
- Update to version 1.9+0.g80c5cf2:
* types: Added Command and Feature Lockdown LID
* types: add ASQ, ACQ and BPMBL controller properties definitions
* types: add controller properties enum documentation
* types: fix CRTO.CRIMT mask value definition
* tree: use strtou32 to read lba_size
* types: Fix PMRWBM register name
* examples: fix mi-mctp build warning errors
* test: add CSTS.ST, CAP.CPS and CAP.NSSS registers
* types: add CAP.CPS and CAP.NSSS definitions
* types: add enum nvme_cap documentation
* types: Add enum nvme_unit/cmbebs/cmbswtp/flbas/cmic documentation
* util: Add string constant for ENVME_CONNECT_IGNORED
* tests: Add sample NBFT table with mpath IPv4+IPv6 discovery
* types: add controller status shutdown type (CSTS.ST) definition
* types: Add enum nvme_csts documentation
* types: Add NVME_CMIC definitions
* types: Add CMBSWTP property definitions
* types: Add NVME_CMBEBS property definitions
* types: Fix boot partition read offset (BPROF) mask value
* tree: fix mem leak in nvme_ns_init() (bsc#1223331)
* fabrics: retry discovery log page when DNR is not set
* ioctl: return EPROTO when an NVMe status occurred
* linux: Allocate aligned payload for nvme_get_telemetry_log
* test: use diff to compare sysfs output (bsc#1226216)
* tree: fix lba_count size calculation
* tree: Add NVM subsystem controller identifier (bsc#1224024)
* test: Add unit test for nvme_id_ns_flbas_to_lbaf_inuse()
* types: Fix NVME_CSTS_SHST_MASK definition
* util: Fixed nvme_id_ns_flbas_to_lbaf_inuse()
* types: Add optional data present filed mask and shift definition
* types: Fix EOM header optional data present fields definition
* libnvme : record the nvme pci adapter physical slot (bsc#1223208)
* sysfs: minimize heap allocations of sysfs paths
* json: Fix uninitialized variables
* libnvme: add missing symbol nvme_scan_tls_keys (bsc#1226197)
* nbft: Whitespace fixes (bsc#1222026)
* tests: Add complex NBFT table from Dell R660 (bsc#1222026)
* tests: Adapt to added NBFT SSNS flags (bsc#1222026)
* nbft: Add SSNS 'discovered' flag (bsc#1222026)
* nbft: Add SSNS 'unavailable' flag (bsc#1222026)
* doc: Document the NBFT API (bsc#1222026)
* ioctl: Move nvme_cmd_dword_fields definitions into header file
* types: Add PEL set feature event layout definitions
* types: Fix enum nvme_pel_rci documentation error
* types: Add boot partition information definitions
* types: Add PEL header additional information definitions
* fabrics: keyring is a long (bsc#1216982)
* config-schema.json.in: tls keys and keyrings are strings (bsc#1216982)
* linux: Add nvme_scan_tls_keys() (bsc#1216982)
* json: dump TLS key data in PSK interchange format (bsc#1216982)
* json: import TLS key from PSK interchange format (bsc#1216982)
* json: export TLS key in PSK interchange format (bsc#1216982)
* tree: read TLS key in nvme_configure_ctrl() (bsc#1216982)
* linux: rework nvme_insert_tls_key_versioned() (bsc#1216982)
* linux: add nvme_import_tls_key() (bsc#1216982)
* linux: add nvme_export_tls_key() (bsc#1216982)
* crc32: Add CRC32 algorithm (bsc#1216982)
* linux: add nvme_update_key() (bsc#1216982)
* linux: add nvme_read_key() (bsc#1216982)
* linux: allow for NULL argument in nvme_lookup_keyring() (bsc#1216982)
* log: Respect DEFAULT_LOGLEVEL on uninitialized logging
* log: Introduce nvme_get_logging_level()
* ioctl: remove incomplete debug logging infrastructure
* ioctl: export nvme_submit_passthru{64} as weak symbol (bsc#1231668)
* log: move nvme_{set|get}_debug to log.c
* fabrics: check the read() return value
* types: Add PEL reporting context port identifier type definitions
* types: Add persistent event log reporting context definitions
- Upstream changed the sysfs test setup, thus sysfs test works in OSB
* remove 0001-build-disable-sysfs-test.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Feb 14 12:04:28 UTC 2024 - Daniel Wagner <daniel.wagner@suse.com> Wed Feb 14 12:04:28 UTC 2024 - Daniel Wagner <daniel.wagner@suse.com>

View File

@ -1,4 +1,4 @@
name: libnvme name: libnvme
version: 1.8+0.gbff7dda version: 1.11
mtime: 1707903643 mtime: 1730365599
commit: bff7dda7e2a0f883d0b89e23fed725c916de3e61 commit: 2b3cb1746451f58583408a25857ca897d18cd4ca

View File

@ -21,13 +21,13 @@
%bcond_without check %bcond_without check
Name: libnvme Name: libnvme
Version: 1.8+0.gbff7dda Version: 1.11
Release: 0 Release: 0
Summary: Linux-native nvme device management library Summary: Linux-native nvme device management library
License: LGPL-2.1-or-later License: LGPL-2.1-or-later
URL: https://github.com/linux-nvme/libnvme/ URL: https://github.com/linux-nvme/libnvme/
Source0: libnvme-%{version}.tar.gz Source0: libnvme-%{version}.tar.gz
Patch001: 0001-build-disable-sysfs-test.patch Patch01: 0001-linux-fix-derive_psk_digest-OpenSSL-1.1-version.patch
BuildRequires: dbus-1-devel BuildRequires: dbus-1-devel
BuildRequires: gcc BuildRequires: gcc
BuildRequires: gcc-c++ BuildRequires: gcc-c++