linux-stable/drivers/isdn/hisax
Jia-Ju Bai 02594fb480 isdn: hisax: hfc_pci: Fix a possible concurrency use-after-free bug in HFCPCI_l1hw()
[ Upstream commit 7418e6520f ]

In drivers/isdn/hisax/hfc_pci.c, the functions hfcpci_interrupt() and
HFCPCI_l1hw() may be concurrently executed.

HFCPCI_l1hw()
  line 1173: if (!cs->tx_skb)

hfcpci_interrupt()
  line 942: spin_lock_irqsave();
  line 1066: dev_kfree_skb_irq(cs->tx_skb);

Thus, a possible concurrency use-after-free bug may occur
in HFCPCI_l1hw().

To fix these bugs, the calls to spin_lock_irqsave() and
spin_unlock_irqrestore() are added in HFCPCI_l1hw(), to protect the
access to cs->tx_skb.

Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-02-12 19:46:09 +01:00
..
amd7930_fn.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
amd7930_fn.h
arcofi.c isdn: use setup_timer 2017-03-24 12:33:42 -07:00
arcofi.h
asuscom.c
avm_a1.c
avm_a1p.c
avm_pci.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
avma1_cs.c
bkm_a4t.c
bkm_a8.c
bkm_ax.h
callc.c
config.c isdn: hisax: constify pci_device_id. 2017-07-15 21:25:56 -07:00
diva.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
elsa.c isdn: use setup_timer 2017-03-24 12:33:42 -07:00
elsa_cs.c
elsa_ser.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
enternow_pci.c
fsm.c isdn: use setup_timer 2017-03-24 12:33:42 -07:00
fsm.h
gazel.c
hfc4s8s_l1.c isdn: hisax: hfc4s8s_l1: constify pci_device_id. 2017-07-15 21:25:56 -07:00
hfc4s8s_l1.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hfc_2bds0.c isdn: use setup_timer 2017-03-24 12:33:42 -07:00
hfc_2bds0.h
hfc_2bs0.c
hfc_2bs0.h
hfc_pci.c isdn: hisax: hfc_pci: Fix a possible concurrency use-after-free bug in HFCPCI_l1hw() 2019-02-12 19:46:09 +01:00
hfc_pci.h
hfc_sx.c isdn: use setup_timer 2017-03-24 12:33:42 -07:00
hfc_sx.h
hfc_usb.c isdn: hisax: hfc_usb: constify usb_device_id 2017-08-08 21:38:27 -07:00
hfc_usb.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hfcscard.c isdn: use setup_timer 2017-03-24 12:33:42 -07:00
hisax.h isdn: Constify some function parameters 2016-12-17 21:46:35 -05:00
hisax_cfg.h
hisax_debug.h
hisax_fcpcipnp.c isdn: hisax: hisax_fcpcipnp: constify pci_device_id. 2017-07-15 21:25:56 -07:00
hisax_fcpcipnp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hisax_if.h
hisax_isac.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
hisax_isac.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hscx.c
hscx.h
hscx_irq.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
icc.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
icc.h
ipac.h
ipacx.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
ipacx.h
isac.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
isac.h
isar.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
isar.h
isdnl1.c
isdnl1.h
isdnl2.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
isdnl2.h
isdnl3.c isdn: use setup_timer 2017-03-24 12:33:42 -07:00
isdnl3.h
isurf.c
ix1_micro.c
jade.c
jade.h
jade_irq.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
Kconfig
l3_1tr6.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
l3_1tr6.h
l3dss1.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
l3dss1.h
l3ni1.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
l3ni1.h
lmgr.c
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mic.c
netjet.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
netjet.h
niccy.c
nj_s.c
nj_u.c
q931.c
s0box.c
saphir.c
sedlbauer.c
sedlbauer_cs.c
sportster.c
st5481.h
st5481_b.c scripts/spelling.txt: add "disble(d)" pattern and fix typo instances 2017-03-09 17:01:09 -08:00
st5481_d.c
st5481_init.c
st5481_usb.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
tei.c
teleint.c isdn: use setup_timer 2017-03-24 12:33:42 -07:00
teles0.c
teles3.c
teles_cs.c
telespci.c
w6692.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
w6692.h