On Tue, 1 Oct 2019 12:32:17 +0200 Andrea Claudi <acla...@redhat.com> wrote:
> tc segfaults if gact action is used without action or index: > > $ ip link add type dummy > $ tc actions add action pipe index 1 > $ tc filter add dev dummy0 parent ffff: protocol ip \ > pref 10 u32 match ip src 127.0.0.2 flowid 1:10 action gact > Segmentation fault > > We expect tc to fail gracefully with an error message. > > This happens if gact is the last argument of the incomplete > command. In this case the "gact" action is parsed, the macro > NEXT_ARG_FWD() is executed and the next matches() crashes > because of null argv pointer. > > To avoid this, simply use NEXT_ARG() instead. > > With this change in place: > > $ ip link add type dummy > $ tc actions add action pipe index 1 > $ tc filter add dev dummy0 parent ffff: protocol ip \ > pref 10 u32 match ip src 127.0.0.2 flowid 1:10 action gact > Command line is not complete. Try option "help" > > Fixes: fa4958897314 ("tc: Fix binding of gact action by index.") > Reported-by: Davide Caratti <dcara...@redhat.com> > Signed-off-by: Andrea Claudi <acla...@redhat.com> Thanks, applied