linux/drivers/net/wan
Xie He 01c4ceae0a net: hdlc: In hdlc_rcv, check to make sure dev is an HDLC device
The hdlc_rcv function is used as hdlc_packet_type.func to process any
skb received in the kernel with skb->protocol == htons(ETH_P_HDLC).
The purpose of this function is to provide second-stage processing for
skbs not assigned a "real" L3 skb->protocol value in the first stage.

This function assumes the device from which the skb is received is an
HDLC device (a device created by this module). It assumes that
netdev_priv(dev) returns a pointer to "struct hdlc_device".

However, it is possible that some driver in the kernel (not necessarily
in our control) submits a received skb with skb->protocol ==
htons(ETH_P_HDLC), from a non-HDLC device. In this case, the skb would
still be received by hdlc_rcv. This will cause problems.

hdlc_rcv should be able to recognize and drop invalid skbs. It should
first make sure "dev" is actually an HDLC device, before starting its
processing. This patch adds this check to hdlc_rcv.

Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Cc: Krzysztof Halasa <khc@pm.waw.pl>
Signed-off-by: Xie He <xie.he.0141@gmail.com>
Link: https://lore.kernel.org/r/20201020013152.89259-1-xie.he.0141@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2020-10-21 17:20:19 -07:00
..
lmc net: remove unneeded break 2020-10-20 10:28:21 -07:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
c101.c WAN: Replace HTTP links with HTTPS ones 2020-07-13 16:58:01 -07:00
cosa.c net: wan: cosa: Replace HTTP links with HTTPS ones 2020-07-13 17:45:22 -07:00
cosa.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
dlci.c net: wan: dlci: Remove set but not used variable 'err' 2020-08-14 20:42:25 -07:00
farsync.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-08-05 20:13:21 -07:00
farsync.h WAN: Replace zero-length array with flexible-array member 2020-02-27 12:06:55 -08:00
fsl_ucc_hdlc.c net/wan/fsl_ucc_hdlc: Add MODULE_DESCRIPTION 2020-08-31 12:41:50 -07:00
fsl_ucc_hdlc.h net/wan/fsl_ucc_hdlc: avoid use of IS_ERR_VALUE() 2019-12-09 13:57:45 -06: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_cisco.c drivers/net/wan/hdlc: Set skb->protocol before transmitting 2020-09-17 16:41:12 -07:00
hdlc_fr.c drivers/net/wan/hdlc_fr: Move the skb_headroom check out of fr_hard_header 2020-10-10 12:05:05 -07:00
hdlc_ppp.c drivers/net/wan/hdlc: Set skb->protocol before transmitting 2020-09-17 16:41:12 -07:00
hdlc_raw_eth.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
hdlc_raw.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
hdlc_x25.c drivers/net/wan/hdlc_x25: Added needed_headroom and a skb->len check 2020-08-14 20:41:08 -07:00
hdlc.c net: hdlc: In hdlc_rcv, check to make sure dev is an HDLC device 2020-10-21 17:20:19 -07: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: prepare compile testing 2020-01-12 12:59:52 -08:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
lapbether.c drivers/net/wan/lapbether: Make skb->protocol consistent with the header 2020-09-17 16:38:03 -07:00
Makefile net: wan: wanxl: refactor the firmware rebuild rule 2020-03-29 22:37:53 +09:00
n2.c WAN: Replace HTTP links with HTTPS ones 2020-07-13 16:58:01 -07:00
pc300too.c WAN: Replace HTTP links with HTTPS ones 2020-07-13 16:58:01 -07:00
pci200syn.c WAN: Replace HTTP links with HTTPS ones 2020-07-13 16:58:01 -07:00
sbni.c wan: sbni: Avoid comma separated statements 2020-08-25 07:54:19 -07:00
sbni.h
sdla.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
sealevel.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
slic_ds26522.c net: wan: slic_ds26522: Remove unused macro DRV_NAME 2020-08-31 12:40:42 -07:00
slic_ds26522.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
wanxl.c wan: wanxl: switch from 'pci_' to 'dma_' API 2020-08-04 16:17:00 -07:00
wanxl.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
wanxlfw.inc_shipped
wanxlfw.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
x25_asy.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-10-05 18:40:01 -07:00
x25_asy.h drivers/net/wan/x25_asy: Remove an unused flag "SLF_OUTWAIT" 2020-09-11 14:43:52 -07:00
z85230.c treewide: Remove uninitialized_var() usage 2020-07-16 12:35:15 -07:00
z85230.h Remove every trace of SERIAL_MAGIC 2019-11-13 19:01:14 +08:00