2019-04-12 14:40 UTC+0200 ~ Alban Crequy <alban.crequy@xxxxxxxxx> > From: Alban Crequy <alban@xxxxxxxxxx> > > "bpftool map create" has an infinite loop on "while (argc)". The error > case is missing. > > Symptoms: when forgetting to type the keyword 'type' in front of 'hash': > $ sudo bpftool map create /sys/fs/bpf/dir/foobar hash key 8 value 8 entries 128 > (infinite loop, taking all the CPU) > ^C > > After the patch: > $ sudo bpftool map create /sys/fs/bpf/dir/foobar hash key 8 value 8 entries 128 > Error: unknown arg hash > > Fixes: 0b592b5a01be ("tools: bpftool: add map create command") > Signed-off-by: Alban Crequy <alban@xxxxxxxxxx> > > --- > > Changes in v2: > - Explain the cause of the bug in commitmsg > - Add the "fixes" line in the commitmsg (Jakub's review) > - Rebase on the bpf tree > > v1 was initially based on bpf-next and submitted on > https://marc.info/?l=linux-kernel&m=155310327709613&w=2 > --- > tools/bpf/bpftool/map.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/tools/bpf/bpftool/map.c b/tools/bpf/bpftool/map.c > index 05b029b934a6..1ccc38718458 100644 > --- a/tools/bpf/bpftool/map.c > +++ b/tools/bpf/bpftool/map.c > @@ -1151,6 +1151,9 @@ static int do_create(int argc, char **argv) > return -1; > } > NEXT_ARG(); > + } else { > + p_err("unknown arg %s", *argv); > + return -1; > } > } > > Reviewed-by: Quentin Monnet <quentin.monnet@xxxxxxxxxxxxx> Thanks Alban!