diff --git a/.gitignore b/.gitignore index cedd5a8..6e18342 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/v1.14.tar.gz +SOURCES/v1.16.tar.gz diff --git a/.nvme-cli.metadata b/.nvme-cli.metadata index 5ba5ed1..29733c4 100644 --- a/.nvme-cli.metadata +++ b/.nvme-cli.metadata @@ -1 +1 @@ -0cdeb36c3a661104f49617fb1b625edab18234b2 SOURCES/v1.14.tar.gz +2706485a7adb8134943102ff3f1a087e003f2b1f SOURCES/v1.16.tar.gz diff --git a/SOURCES/0001-default-flush-to-use-block-device-nsid.patch b/SOURCES/0001-default-flush-to-use-block-device-nsid.patch deleted file mode 100644 index 1505fef..0000000 --- a/SOURCES/0001-default-flush-to-use-block-device-nsid.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 6abc4f36b38aa6be3c7e4b89e2997e5006e40b37 Mon Sep 17 00:00:00 2001 -From: Keith Busch -Date: Tue, 1 Jun 2021 07:01:44 -0700 -Subject: [PATCH] default flush to use block device nsid - -Kernel 5.13 added checks to ensure the ioctl path can't be abused to -access a different namespace than the one user space has permission to -open. This unfortunately breaks the all-nsid flush usage, so user -tooling needs to default to the device's namespace id. - -Link: https://lore.kernel.org/linux-nvme/20210518144249.GE2709569@dhcp-10-100-145-180.wdc.com/T/#t -Link: https://github.com/linux-nvme/nvme-cli/issues/1066 -Signed-off-by: Keith Busch ---- - nvme.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/nvme.c b/nvme.c -index 87e1a82..1666ba5 100644 ---- a/nvme.c -+++ b/nvme.c -@@ -4384,7 +4384,7 @@ static int flush(int argc, char **argv, struct command *cmd, struct plugin *plug - }; - - struct config cfg = { -- .namespace_id = NVME_NSID_ALL, -+ .namespace_id = 0, - }; - - OPT_ARGS(opts) = { --- -2.31.1 - diff --git a/SOURCES/0001-fabrics-fix-nvme-connect-segfault-if-transport-type-.patch b/SOURCES/0001-fabrics-fix-nvme-connect-segfault-if-transport-type-.patch new file mode 100644 index 0000000..75942fa --- /dev/null +++ b/SOURCES/0001-fabrics-fix-nvme-connect-segfault-if-transport-type-.patch @@ -0,0 +1,32 @@ +From f74ac1b841b0aae73969debaed0444f0ecb03dba Mon Sep 17 00:00:00 2001 +From: Martin George +Date: Mon, 15 Nov 2021 16:00:47 +0530 +Subject: [PATCH 1/3] fabrics: fix 'nvme connect' segfault if transport type is + omitted + +Check if the transport type is available before dereferencing +it in discovery_trsvcid(). + +Fixes: 362c90f ("fabrics: add default port number for NVMe/TCP I/O +controllers") +Signed-off-by: Martin George +--- + fabrics.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/fabrics.c b/fabrics.c +index d691191..adca89b 100644 +--- a/fabrics.c ++++ b/fabrics.c +@@ -1070,6 +1070,8 @@ static void set_discovery_kato(struct fabrics_config *cfg) + + static void discovery_trsvcid(struct fabrics_config *fabrics_cfg, bool discover) + { ++ if (!fabrics_cfg->transport) ++ return; + if (!strcmp(fabrics_cfg->transport, "tcp")) { + if (discover) { + /* Default port for NVMe/TCP discovery controllers */ +-- +2.27.0 + diff --git a/SOURCES/0002-fabrics-fix-a-buffer-overrun.patch b/SOURCES/0002-fabrics-fix-a-buffer-overrun.patch new file mode 100644 index 0000000..880fc2f --- /dev/null +++ b/SOURCES/0002-fabrics-fix-a-buffer-overrun.patch @@ -0,0 +1,29 @@ +From ff8f9b6f59b574fda24a071fb0af4381c0cc6d9f Mon Sep 17 00:00:00 2001 +From: Maurizio Lombardi +Date: Thu, 9 Dec 2021 12:21:51 +0100 +Subject: [PATCH 2/3] fabrics: fix a buffer overrun + +the uuid buffer size must be at least 37 bytes to avoid +corrupting the memory + +Signed-off-by: Maurizio Lombardi +--- + fabrics.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/fabrics.c b/fabrics.c +index adca89b..0766729 100644 +--- a/fabrics.c ++++ b/fabrics.c +@@ -883,7 +883,7 @@ static char *hostnqn_generate_systemd(void) + + static char *hostnqn_read_dmi(void) + { +- char uuid[16]; ++ char uuid[37]; + char *ret = NULL; + + if (uuid_from_dmi(uuid) < 0) +-- +2.27.0 + diff --git a/SOURCES/0003-bash-Fix-nvme-completion.patch b/SOURCES/0003-bash-Fix-nvme-completion.patch new file mode 100644 index 0000000..f08d2ff --- /dev/null +++ b/SOURCES/0003-bash-Fix-nvme-completion.patch @@ -0,0 +1,36 @@ +From 821935cccfcad6b18da78d42f9ddf49f4cbe0b8e Mon Sep 17 00:00:00 2001 +From: Daniel Wagner +Date: Thu, 9 Dec 2021 15:40:26 +0100 +Subject: [PATCH 3/3] bash: Fix nvme completion + +Signed-off-by: Daniel Wagner +--- + completions/bash-nvme-completion.sh | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/completions/bash-nvme-completion.sh b/completions/bash-nvme-completion.sh +index 41938d7..902da01 100644 +--- a/completions/bash-nvme-completion.sh ++++ b/completions/bash-nvme-completion.sh +@@ -101,8 +101,7 @@ _cmds="list list-subsys id-ctrl id-ns \ + connect disconnect disconnect-all gen-hostnqn \ + show-hostnqn dir-receive dir-send virt-mgmt \ + rpmb boot-part-log fid-support-effects-log \ +- supported-log-pages lockdown" +- supported-log-pages list-endgrp" ++ supported-log-pages lockdown list-endgrp" + + # Add plugins: + for plugin in "${!_plugin_subcmds[@]}"; do +@@ -1368,7 +1367,7 @@ plugin_ymtc_opts () { + opts+=" --namespace-id= -n --raw-binary -b" + ;; + "help") +- opts+=NO_OPTS ++ opts+=$NO_OPTS + ;; + esac + +-- +2.27.0 + diff --git a/SPECS/nvme-cli.spec b/SPECS/nvme-cli.spec index 38acf08..8be1e54 100644 --- a/SPECS/nvme-cli.spec +++ b/SPECS/nvme-cli.spec @@ -2,8 +2,8 @@ #%%global shortcommit0 %%(c=%%{commit0}; echo ${c:0:7}) Name: nvme-cli -Version: 1.14 -Release: 3%{?dist} +Version: 1.16 +Release: 2%{?dist} Summary: NVMe management command line interface License: GPLv2+ @@ -11,7 +11,9 @@ URL: https://github.com/linux-nvme/nvme-cli Source0: https://github.com/linux-nvme/%{name}/archive/v%{version}.tar.gz Patch0: nvme-cli-makefile-dont-install-host-params-patch -Patch1: 0001-default-flush-to-use-block-device-nsid.patch +Patch1: 0001-fabrics-fix-nvme-connect-segfault-if-transport-type-.patch +Patch2: 0002-fabrics-fix-a-buffer-overrun.patch +Patch3: 0003-bash-Fix-nvme-completion.patch BuildRequires: libuuid-devel BuildRequires: gcc @@ -26,6 +28,8 @@ nvme-cli provides NVM-Express user space tooling for Linux. %setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 +%patch3 -p1 %build @@ -83,6 +87,12 @@ if [ $1 -eq 1 ] || [ $1 -eq 2 ]; then fi %changelog +* Mon Dec 13 2021 Maurizio Lombardi - 1.16-2 +- Update to the latest version + +* Thu Dec 09 2021 Maurizio Lombardi - 1.14-4 +- Fix handling of the ctrl_loss_tmo parameter + * Mon Aug 09 2021 Mohan Boddu - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags Related: rhbz#1991688 @@ -96,7 +106,7 @@ fi * Fri Apr 16 2021 Mohan Boddu - Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 -* Fri Mar 19 2020 Maurizio Lombardi - 1.12-1 +* Fri Mar 19 2021 Maurizio Lombardi - 1.12-1 - Update to 1.13 and add postin scriptlet * Sat Apr 25 2020 luto@kernel.org - 1.11.1-1