On Wed, Feb 07, 2024 at 08:24:15AM -0500, Aaron Conole wrote: > 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@xxxxxxxxxx> > --- > v1->v2: Switch to tracking the stack depth by using a depth argument rather than > a per-cpu counter. Thanks for the update. Reviewed-by: Simon Horman <horms@xxxxxxxxxx>