devlink: do dry parse for extended handle with selector

When parsing with selector, there's a list of extended handles
(devname/busname/x) which require special treatment.
DL_OPT_HANDLEP is one of them. The code tries to parse devname/busname
handle and in case it is successful, it goes the "dump" way. However if
it's not, parsing is directly done. That is wrong, as the options may
still be incomplete. Do break in that case instead allowing to do dry
parse and possibly go the "dump" way in case the option list is not
complete.

Fixes: 70faecdca8 ("devlink: implement dump selector for devlink objects show commands")
Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
This commit is contained in:
Jiri Pirko
2024-11-26 10:08:27 +01:00
committed by Stephen Hemminger
parent 5682cf3ac6
commit 8c4918859e

View File

@@ -2410,7 +2410,7 @@ static int dl_argv_parse_with_selector(struct dl *dl, uint16_t *flags,
o_optional);
if (err == -ENOENT || !err)
goto dump_parse;
goto do_parse;
break;
}
}