diff options
author | Lukasz Majewski <lukma@denx.de> | 2023-09-15 20:10:02 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2023-09-18 08:26:19 +0100 |
commit | 295de650d3aaf9e50258465c5f1c84b465d836f6 (patch) | |
tree | 06997d950d6bc55a631df64cdf0069e64febbcc6 /tools | |
parent | 6af289746a636f71f4c0535a9801774118486c7a (diff) | |
download | lwn-295de650d3aaf9e50258465c5f1c84b465d836f6.tar.gz lwn-295de650d3aaf9e50258465c5f1c84b465d836f6.zip |
net: hsr: Properly parse HSRv1 supervisor frames.
While adding support for parsing the redbox supervision frames, the
author added `pull_size' and `total_pull_size' to track the amount of
bytes that were pulled from the skb during while parsing the skb so it
can be reverted/ pushed back at the end.
In the process probably copy&paste error occurred and for the HSRv1 case
the ethhdr was used instead of the hsr_tag. Later the hsr_tag was used
instead of hsr_sup_tag. The later error didn't matter because both
structs have the size so HSRv0 was still working. It broke however HSRv1
parsing because struct ethhdr is larger than struct hsr_tag.
Reinstate the old pulling flow and pull first ethhdr, hsr_tag in v1 case
followed by hsr_sup_tag.
[bigeasy: commit message]
Fixes: eafaa88b3eb7 ("net: hsr: Add support for redbox supervision frames")'
Suggested-by: Tristram.Ha@microchip.com
Signed-off-by: Lukasz Majewski <lukma@denx.de>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions