diff options
author | Lv Yunlong <lyl2019@mail.ustc.edu.cn> | 2021-05-02 04:58:18 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-05-03 13:23:00 -0700 |
commit | 643001b47adc844ae33510c4bb93c236667008a3 (patch) | |
tree | 662d13f0b28ed1a4641fd7efd0e984f55dce6b82 /net/hsr/hsr_forward.c | |
parent | f18c51b6513c6bd39c834855e3ccaec52c150c84 (diff) | |
download | linux-643001b47adc844ae33510c4bb93c236667008a3.tar.bz2 |
ethernet:enic: Fix a use after free bug in enic_hard_start_xmit
In enic_hard_start_xmit, it calls enic_queue_wq_skb(). Inside
enic_queue_wq_skb, if some error happens, the skb will be freed
by dev_kfree_skb(skb). But the freed skb is still used in
skb_tx_timestamp(skb).
My patch makes enic_queue_wq_skb() return error and goto spin_unlock()
incase of error. The solution is provided by Govind.
See https://lkml.org/lkml/2021/4/30/961.
Fixes: fb7516d42478e ("enic: add sw timestamp support")
Signed-off-by: Lv Yunlong <lyl2019@mail.ustc.edu.cn>
Acked-by: Govindarajulu Varadarajan <gvaradar@cisco.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/hsr/hsr_forward.c')
0 files changed, 0 insertions, 0 deletions