1
0
Fork 0
alistair23-linux/drivers/net/wan
Xie He 106ca9ca9a net: hdlc_ppp: Fix issues when mod_timer is called while timer is running
[ Upstream commit 1fef73597f ]

ppp_cp_event is called directly or indirectly by ppp_rx with "ppp->lock"
held. It may call mod_timer to add a new timer. However, at the same time
ppp_timer may be already running and waiting for "ppp->lock". In this
case, there's no need for ppp_timer to continue running and it can just
exit.

If we let ppp_timer continue running, it may call add_timer. This causes
kernel panic because add_timer can't be called with a timer pending.
This patch fixes this problem.

Fixes: e022c2f07a ("WAN: new synchronous PPP implementation for generic HDLC.")
Cc: Krzysztof Halasa <khc@pm.waw.pl>
Signed-off-by: Xie He <xie.he.0141@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-12 20:16:15 +01:00
..
lmc net: lmc: fix spelling mistake "runnin" -> "running" 2019-09-11 15:11:59 +01:00
.gitignore
Kconfig net: wan: wanxl: use allow to pass CROSS_COMPILE_M68k for rebuilding firmware 2020-08-26 10:40:46 +02:00
Makefile net: wan: wanxl: use $(M68KCC) instead of $(M68KAS) for rebuilding firmware 2020-08-26 10:40:46 +02:00
c101.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
cosa.c cosa: Add missing kfree in error path of cosa_write 2020-11-18 19:20:28 +01:00
cosa.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
dlci.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
farsync.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
farsync.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
fsl_ucc_hdlc.c net/wan/fsl_ucc_hdlc: reject muram offsets above 64K 2020-02-24 08:36:33 +01:00
fsl_ucc_hdlc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
hd64570.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
hd64570.h
hd64572.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
hd64572.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
hdlc.c net: hdlc: In hdlc_rcv, check to make sure dev is an HDLC device 2020-10-29 09:57:26 +01:00
hdlc_cisco.c drivers/net/wan/hdlc: Set skb->protocol before transmitting 2020-10-07 08:01:26 +02:00
hdlc_fr.c drivers/net/wan/hdlc_fr: Correctly handle special skb->protocol values 2020-11-05 11:43:19 +01:00
hdlc_ppp.c net: hdlc_ppp: Fix issues when mod_timer is called while timer is running 2021-01-12 20:16:15 +01:00
hdlc_raw.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
hdlc_raw_eth.c net: hdlc_raw_eth: Clear the IFF_TX_SKB_SHARING flag after calling ether_setup 2020-10-29 09:57:26 +01:00
hdlc_x25.c drivers/net/wan: lapb: Corrected the usage of skb_cow 2020-08-05 09:59:51 +02:00
hostess_sv11.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
ixp4xx_hss.c wan: ixp4xx_hss: fix compile-testing on 64-bit 2020-02-24 08:36:46 +01:00
lapbether.c drivers/net/wan/lapbether: Make skb->protocol consistent with the header 2020-10-07 08:01:26 +02:00
n2.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
pc300too.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
pci200syn.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
sbni.c net: wan: sbni: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-25 14:36:15 -08:00
sbni.h
sdla.c net: wan: sdla: Fix cast from pointer to integer of different size 2020-02-01 09:34:45 +00:00
sealevel.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
slic_ds26522.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
slic_ds26522.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
wanxl.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
wanxl.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
wanxlfw.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
wanxlfw.inc_shipped
x25_asy.c drivers/net/wan/x25_asy: Fix to make it work 2020-07-31 18:39:30 +02:00
x25_asy.h
z85230.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
z85230.h