]> git.baikalelectronics.ru Git - kernel.git/commit
net: dsa: don't assign an error value to tag_ops
authorGeorge McCollister <george.mccollister@gmail.com>
Mon, 22 Mar 2021 20:26:50 +0000 (15:26 -0500)
committerDavid S. Miller <davem@davemloft.net>
Tue, 23 Mar 2021 00:24:42 +0000 (17:24 -0700)
commit98510b12aad58090e3fd7999419db5bdc8cc98aa
tree26bf59d9931d5a7a17ff69a0dad67caaf74e00f6
parent9a71a819b4dec50bfe7420e2f2bc71fbd91f9b41
net: dsa: don't assign an error value to tag_ops

Use a temporary variable to hold the return value from
dsa_tag_driver_get() instead of assigning it to dst->tag_ops. Leaving
an error value in dst->tag_ops can result in deferencing an invalid
pointer when a deferred switch configuration happens later.

Fixes: d7c5761ce442 ("net: dsa: keep a copy of the tagging protocol in the DSA switch tree")
Signed-off-by: George McCollister <george.mccollister@gmail.com>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/dsa/dsa2.c