igb: Fix an end of loop test
authorDan Carpenter <dan.carpenter@linaro.org>
Thu, 19 Oct 2023 17:32:26 +0000 (10:32 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 Oct 2023 11:53:06 +0000 (12:53 +0100)
commit4690aea589e76e887a40195b35b6d19a838058eb
tree50c97863fbc73fadaaea6957d39bf921fef5e0f0
parent640a65f801338940ed86992179558eb070db75de
igb: Fix an end of loop test

When we exit a list_for_each_entry() without hitting a break statement,
the list iterator isn't NULL, it just point to an offset off the
list_head.  In that situation, it wouldn't be too surprising for
entry->free to be true and we end up corrupting memory.

The way to test for these is to just set a flag.

Fixes: c1fec890458a ("ethernet/intel: Use list_for_each_entry() helper")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Rafal Romanowski <rafal.romanowski@intel.com>
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/intel/igb/igb_main.c