summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorAaron Conole <aconole@redhat.com>2024-02-07 08:24:15 -0500
committerJakub Kicinski <kuba@kernel.org>2024-02-09 12:54:38 -0800
commit6e2f90d31fe09f2b852de25125ca875aabd81367 (patch)
tree2fd3a3f806f529986b320a33ae9aae3c3af05450 /tools
parentd02bfae3646a679ed8ca0660d12336ef54d44817 (diff)
net: openvswitch: limit the number of recursions from action sets
The ovs module allows for some actions to recursively contain an action list for complex scenarios, such as sampling, checking lengths, etc. When these actions are copied into the internal flow table, they are evaluated to validate that such actions make sense, and these calls happen recursively. The ovs-vswitchd userspace won't emit more than 16 recursion levels deep. However, the module has no such limit and will happily accept limits larger than 16 levels nested. Prevent this by tracking the number of recursions happening and manually limiting it to 16 levels nested. The initial implementation of the sample action would track this depth and prevent more than 3 levels of recursion, but this was removed to support the clone use case, rather than limited at the current userspace limit. Fixes: 798c166173ff ("openvswitch: Optimize sample action for the clone use cases") Signed-off-by: Aaron Conole <aconole@redhat.com> Reviewed-by: Simon Horman <horms@kernel.org> Link: https://lore.kernel.org/r/20240207132416.1488485-2-aconole@redhat.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions