On 1/11/2017 11:14 PM, Arnd Bergmann wrote:
@@ -666,14 +666,15 @@ static int mlx5e_route_lookup_ipv4(struct mlx5e_priv 
*priv,
        struct rtable *rt;
        struct neighbour *n = NULL;
        int ttl;
+       int ret;
+
+       if (!IS_ENABLED(CONFIG_INET))
+               return -EOPNOTSUPP;
-#if IS_ENABLED(CONFIG_INET)
        rt = ip_route_output_key(dev_net(mirred_dev), fl4);
-       if (IS_ERR(rt))
-               return PTR_ERR(rt);
-#else
-       return -EOPNOTSUPP;
-#endif
+       ret = PTR_ERR_OR_ZERO(rt);
+       if (ret)
+               return ret;

but this means that if we got NULL from ip_route_output_key, we will return success (0) here which is wrong.

Reply via email to