Message ID | 1af5314868a14e738b049319dc2c21102134bc9b.1426669396.git.daniel@iogearbox.net |
---|---|
State | Accepted, archived |
Delegated to: | stephen hemminger |
Headers | show |
Wed, Mar 18, 2015 at 10:13:34AM CET, daniel@iogearbox.net wrote: >Next argument after the tc opcode/verdict is optional, using NEXT_ARG() >requires to have another argument after that one otherwise tc will bail >out. Therefore, we need to advance to the next argument manually as done >elsewhere. > >Fixes: 86ab59a6660f ("tc: add support for BPF based actions") >Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Thanks for fixing this Daniel. Acked-by: Jiri Pirko <jiri@resnulli.us> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 03/18/2015 11:00 AM, Jiri Pirko wrote: > Wed, Mar 18, 2015 at 10:13:34AM CET, daniel@iogearbox.net wrote: >> Next argument after the tc opcode/verdict is optional, using NEXT_ARG() >> requires to have another argument after that one otherwise tc will bail >> out. Therefore, we need to advance to the next argument manually as done >> elsewhere. >> >> Fixes: 86ab59a6660f ("tc: add support for BPF based actions") >> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> > > Thanks for fixing this Daniel. Thanks & sorry I forgot to put you in Cc, I realized that too late. Lack of coffee. ;) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Wed, Mar 18, 2015 at 11:02:54AM CET, daniel@iogearbox.net wrote: >On 03/18/2015 11:00 AM, Jiri Pirko wrote: >>Wed, Mar 18, 2015 at 10:13:34AM CET, daniel@iogearbox.net wrote: >>>Next argument after the tc opcode/verdict is optional, using NEXT_ARG() >>>requires to have another argument after that one otherwise tc will bail >>>out. Therefore, we need to advance to the next argument manually as done >>>elsewhere. >>> >>>Fixes: 86ab59a6660f ("tc: add support for BPF based actions") >>>Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> >> >>Thanks for fixing this Daniel. > >Thanks & sorry I forgot to put you in Cc, I realized that too late. It happens, don't worry about that :) > >Lack of coffee. ;) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, 18 Mar 2015 10:13:34 +0100 Daniel Borkmann <daniel@iogearbox.net> wrote: > Next argument after the tc opcode/verdict is optional, using NEXT_ARG() > requires to have another argument after that one otherwise tc will bail > out. Therefore, we need to advance to the next argument manually as done > elsewhere. > > Fixes: 86ab59a6660f ("tc: add support for BPF based actions") > Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Applied (to master). -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/tc/m_bpf.c b/tc/m_bpf.c index 3b864f9..bc6cc47 100644 --- a/tc/m_bpf.c +++ b/tc/m_bpf.c @@ -89,20 +89,25 @@ static int parse_bpf(struct action_util *a, int *argc_p, char ***argv_p, if (argc) { if (matches(*argv, "reclassify") == 0) { parm.action = TC_ACT_RECLASSIFY; - NEXT_ARG(); + argc--; + argv++; } else if (matches(*argv, "pipe") == 0) { parm.action = TC_ACT_PIPE; - NEXT_ARG(); + argc--; + argv++; } else if (matches(*argv, "drop") == 0 || matches(*argv, "shot") == 0) { parm.action = TC_ACT_SHOT; - NEXT_ARG(); + argc--; + argv++; } else if (matches(*argv, "continue") == 0) { parm.action = TC_ACT_UNSPEC; - NEXT_ARG(); + argc--; + argv++; } else if (matches(*argv, "pass") == 0) { parm.action = TC_ACT_OK; - NEXT_ARG(); + argc--; + argv++; } }
Next argument after the tc opcode/verdict is optional, using NEXT_ARG() requires to have another argument after that one otherwise tc will bail out. Therefore, we need to advance to the next argument manually as done elsewhere. Fixes: 86ab59a6660f ("tc: add support for BPF based actions") Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> --- tc/m_bpf.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-)