net/sched: cls_flower: allocate mask dynamically in fl_change()
authorIvan Vecera <ivecera@redhat.com>
Wed, 16 Jan 2019 15:53:52 +0000 (16:53 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 17 Jan 2019 22:40:59 +0000 (14:40 -0800)
commit2cddd20147826aef283115abb00012d4dafe3cdb
tree9dfc70e9a76e7ed7e0eeaccd67586087c3dc6e41
parent3f1bb6abdf19cfa89860b3bc9e7f31b44b6a0ba1
net/sched: cls_flower: allocate mask dynamically in fl_change()

Recent changes (especially 05cd271fd61a ("cls_flower: Support multiple
masks per priority")) in the fl_flow_mask structure grow it and its
current size e.g. on x86_64 with defconfig is 760 bytes and more than
1024 bytes with some debug options enabled. Prior the mentioned commit
its size was 176 bytes (using defconfig on x86_64).
With regard to this fact it's reasonable to allocate this structure
dynamically in fl_change() to reduce its stack size.

v2:
- use kzalloc() instead of kcalloc()

Fixes: 05cd271fd61a ("cls_flower: Support multiple masks per priority")
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Paul Blakey <paulb@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ivan Vecera <ivecera@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/cls_flower.c