]> git.ipfire.org Git - thirdparty/linux.git/commit
net: dsa: sja1105: Fix memory leak on meta state machine error path
authorVladimir Oltean <olteanv@gmail.com>
Sun, 4 Aug 2019 22:38:48 +0000 (01:38 +0300)
committerDavid S. Miller <davem@davemloft.net>
Tue, 6 Aug 2019 21:37:02 +0000 (14:37 -0700)
commit93fa8587b25356382a39f1ca3a81d6c1b42ac731
tree69c0a85f3fd18fec875563b529f9db0bcc4b99d3
parentf163fed2764e66511fb5c489bf87e532ad7606fb
net: dsa: sja1105: Fix memory leak on meta state machine error path

When RX timestamping is enabled and two link-local (non-meta) frames are
received in a row, this constitutes an error.

The tagger is always caching the last link-local frame, in an attempt to
merge it with the meta follow-up frame when that arrives. To recover
from the above error condition, the initial cached link-local frame is
dropped and the second frame in a row is cached (in expectance of the
second meta frame).

However, when dropping the initial link-local frame, its backing memory
was being leaked.

Fixes: f3097be21bf1 ("net: dsa: sja1105: Add a state machine for RX timestamping")
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/dsa/tag_sja1105.c