From: Hannes Reinecke Date: Wed, 24 Mar 2021 06:39:31 +0000 (+0100) Subject: fabrics: fix infinite loop on invalid parameters X-Git-Tag: v1.14~35 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=81f54310e74f0a82c25a6f8a21316c30f1801299;p=users%2Fsagi%2Fnvme-cli.git fabrics: fix infinite loop on invalid parameters When parsing the discovery entries results in invalid parameters for a given connection we'll enter an infinite loop as the -EINVAL error code is always assumed to indicate a wrong 'disable_sqflow' setting. Signed-off-by: Hannes Reinecke --- diff --git a/fabrics.c b/fabrics.c index ff34c303..227773d1 100644 --- a/fabrics.c +++ b/fabrics.c @@ -1241,7 +1241,8 @@ retry: ret = do_discover(argstr, true, flags); } else ret = add_ctrl(argstr); - if (ret == -EINVAL && e->treq & NVMF_TREQ_DISABLE_SQFLOW) { + if (ret == -EINVAL && disable_sqflow && + e->treq & NVMF_TREQ_DISABLE_SQFLOW) { /* disable_sqflow param might not be supported, try without it */ disable_sqflow = false; goto retry;