On 10/7/2020 9:37 AM, Eric Dumazet wrote:


On 10/7/20 5:50 PM, Gregory Rose wrote:


On 10/7/2020 1:21 AM, Eric Dumazet wrote:


On 10/6/20 8:53 PM, Gregory Rose wrote:
The 'res' return value is uninitalized and may be returned with
some random value.  Initialize to NET_RX_DROP as the default
return value.

Signed-off-by: Greg Rose <gvrose8...@gmail.com>

diff --git a/net/core/gro_cells.c b/net/core/gro_cells.c
index e095fb871d91..4e835960db07 100644
--- a/net/core/gro_cells.c
+++ b/net/core/gro_cells.c
@@ -13,7 +13,7 @@ int gro_cells_receive(struct gro_cells *gcells, struct 
sk_buff *skb)
   {
          struct net_device *dev = skb->dev;
          struct gro_cell *cell;
-       int res;
+       int res = NET_RX_DROP;

          rcu_read_lock();
          if (unlikely(!(dev->flags & IFF_UP)))

I do not think this is needed.

Also, when/if sending a patch fixing a bug, we require a Fixes: tag.

Thanks.

If it's not needed then feel free to ignore it.  It just looked like
the unlikely case returns without setting the return value.

Can you elaborate ? I do not see this problem in current upstream code.

If a compiler gave you a warning, please give its version, thanks.


No, it's my misreading of the code - it jumps to the drop that is in the
middle of an if statement, sets res to NET_RX_DROP there and then jumps to the unlock label.

My apologies.

- Greg

Reply via email to