Re: [PATCH 5.10 130/135] net: qede: Fix end of loop tests for list_for_each_entry

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi!

> [ Upstream commit 795e3d2ea68e489ee7039ac29e98bfea0e34a96c ]
> 
> The list_for_each_entry() iterator, "vlan" in this code, can never be
> NULL so the warning will never be printed.

Could someone double-check this? Because changelog is not accurate;
condition is using logical or, so warning can be printed. I don't
really see a bug with the old code.

New code is quite confusing, and if the vlan with required vic is the
"head" one, it will do the wrong thing, no?

Best regards,
								Pavel

> +++ b/drivers/net/ethernet/qlogic/qede/qede_filter.c
> @@ -842,7 +842,7 @@ int qede_vlan_rx_kill_vid(struct net_device *dev, __be16 proto, u16 vid)
>  		if (vlan->vid == vid)
>  			break;
>  
> -	if (!vlan || (vlan->vid != vid)) {
> +	if (list_entry_is_head(vlan, &edev->vlan_list, list)) {
>  		DP_VERBOSE(edev, (NETIF_MSG_IFUP | NETIF_MSG_IFDOWN),
>  			   "Vlan isn't configured\n");
>  		goto out;

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux