linux-stable/drivers/net/ethernet/cisco/enic
Lv Yunlong 643001b47a 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: fb7516d424 ("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>
2021-05-03 13:23:00 -07:00
..
cq_desc.h
cq_enet_desc.h
enic.h net: enic: Cure the enic api locking trainwreck 2020-09-29 14:02:53 -07:00
enic_api.c net: enic: Cure the enic api locking trainwreck 2020-09-29 14:02:53 -07:00
enic_api.h
enic_clsf.c
enic_clsf.h
enic_dev.c
enic_dev.h
enic_ethtool.c net: remove unneeded break 2020-10-20 10:28:21 -07:00
enic_main.c ethernet:enic: Fix a use after free bug in enic_hard_start_xmit 2021-05-03 13:23:00 -07:00
enic_pp.c
enic_pp.h
enic_res.c
enic_res.h
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile
rq_enet_desc.h
vnic_cq.c net: cisco: enic: simplify the return vnic_cq_alloc() 2020-12-09 17:05:37 -08:00
vnic_cq.h
vnic_dev.c enic: switch from 'pci_' to 'dma_' API 2020-09-06 12:52:19 -07:00
vnic_dev.h
vnic_devcmd.h net: cisco: Replace zero-length array with flexible-array member 2020-02-26 16:43:09 -08:00
vnic_enet.h
vnic_intr.c
vnic_intr.h
vnic_nic.h
vnic_resource.h
vnic_rq.c
vnic_rq.h
vnic_rss.h
vnic_stats.h
vnic_vic.c
vnic_vic.h net: cisco: Replace zero-length array with flexible-array member 2020-02-26 16:43:09 -08:00
vnic_wq.c
vnic_wq.h
wq_enet_desc.h