[ovs-dev] [PATCH] lib/odp: coverity null check in odp_execute_sample

Thomas Graf tgraf at noironetworks.com
Wed Aug 27 08:50:07 UTC 2014


On 08/26/14 at 06:00pm, Madhu Challa wrote:
> call odp_execute_actions__ only if there are any subactions to prevent null
> pointer dereference in nl_attr_get().
> 
> Signed-off-by: Madhu Challa <challa at noironetworks.com>
> ---
>  lib/odp-execute.c |    3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/lib/odp-execute.c b/lib/odp-execute.c
> index e1e9b57..607af03 100644
> --- a/lib/odp-execute.c
> +++ b/lib/odp-execute.c
> @@ -194,6 +194,9 @@ odp_execute_sample(void *dp, struct dpif_packet
> *packet, bool steal,
>          }
>      }
> 
> +    if (subactions == NULL)
> +        return;
> +

Or we call odp_execute_actions__() in the OVS_SAMPLE_ATTR_ACTIONS
case directly and avoid the checks in the fast path. OVS is controlling
the attribute ordering and we rely on it in a lot of other places.
A probability attribute after the sub actions should be considered a bug.

An OVS_NOT_REACHED() after the loop can handle the no sub actions case
with an assert without affecting the fast path.



More information about the dev mailing list