From 79b201f6f363b10d0a539eb3a6e04cf610ad6d11 Mon Sep 17 00:00:00 2001 From: Nitesh Shetty Date: Fri, 29 Nov 2024 11:37:16 +0530 Subject: [PATCH] nvme: plugins/fdp, check endurance group identifier For FDP options such as stats and events, default endurance identifier 0 is used which results in error. This patch returns error for missing endurance group identifier from user. Signed-off-by: Nitesh Shetty --- plugins/fdp/fdp.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/plugins/fdp/fdp.c b/plugins/fdp/fdp.c index cac0b2bd72..c61706ac47 100644 --- a/plugins/fdp/fdp.c +++ b/plugins/fdp/fdp.c @@ -215,6 +215,12 @@ static int fdp_stats(int argc, char **argv, struct command *cmd, struct plugin * if (cfg.raw_binary) flags = BINARY; + if (!cfg.egid) { + fprintf(stderr, "endurance group identifier required\n"); + err = -EINVAL; + goto out; + } + memset(&stats, 0x0, sizeof(stats)); err = nvme_get_log_fdp_stats(dev->direct.fd, cfg.egid, 0, sizeof(stats), &stats); @@ -276,6 +282,12 @@ static int fdp_events(int argc, char **argv, struct command *cmd, struct plugin if (cfg.raw_binary) flags = BINARY; + if (!cfg.egid) { + fprintf(stderr, "endurance group identifier required\n"); + err = -EINVAL; + goto out; + } + memset(&events, 0x0, sizeof(events)); err = nvme_get_log_fdp_events(dev->direct.fd, cfg.egid,