Messages in this thread |  | | Date | Sat, 16 Apr 2022 12:38:35 -0700 | Subject | Re: [PATCH net-next v4 06/18] net: dsa: mv88e6xxx: refactor mv88e6xxx_port_vlan() | From | Florian Fainelli <> |
| |
On 4/15/2022 5:29 AM, Jakob Koschel wrote: > From: Vladimir Oltean <vladimir.oltean@nxp.com> > > To avoid bugs and speculative execution exploits due to type-confused > pointers at the end of a list_for_each_entry() loop, one measure is to > restrict code to not use the iterator variable outside the loop block. > > In the case of mv88e6xxx_port_vlan(), this isn't a problem, as we never > let the loops exit through "natural causes" anyway, by using a "found" > variable and then using the last "dp" iterator prior to the break, which > is a safe thing to do. > > Nonetheless, with the expected new syntax, this pattern will no longer > be possible. > > Profit off of the occasion and break the two port finding methods into > smaller sub-functions. Somehow, returning a copy of the iterator pointer > is still accepted. > > This change makes it redundant to have a "bool found", since the "dp" > from mv88e6xxx_port_vlan() now holds NULL if we haven't found what we > were looking for. > > Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> > Signed-off-by: Jakob Koschel <jakobkoschel@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> -- Florian
|  |