TencentOS-kernel/drivers/net
Xie He 4067fc579b drivers/net/wan/x25_asy: Fix to make it work
[ Upstream commit 8fdcabeac39824fe67480fd9508d80161c541854 ]

This driver is not working because of problems of its receiving code.
This patch fixes it to make it work.

When the driver receives an LAPB frame, it should first pass the frame
to the LAPB module to process. After processing, the LAPB module passes
the data (the packet) back to the driver, the driver should then add a
one-byte pseudo header and pass the data to upper layers.

The changes to the "x25_asy_bump" function and the
"x25_asy_data_indication" function are to correctly implement this
procedure.

Also, the "x25_asy_unesc" function ignores any frame that is shorter
than 3 bytes. However the shortest frames are 2-byte long. So we need
to change it to allow 2-byte frames to pass.

Cc: Eric Dumazet <edumazet@google.com>
Cc: Martin Schiller <ms@dev.tdt.de>
Signed-off-by: Xie He <xie.he.0141@gmail.com>
Reviewed-by: Martin Schiller <ms@dev.tdt.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-16 16:32:41 +08:00
..
appletalk Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
arcnet Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
bonding bonding: check return value of register_netdevice() in bond_newlink() 2021-03-16 16:32:28 +08:00
caif Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
can Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
dsa net: dsa: microchip: call phy_remove_link_mode during probe 2021-03-16 16:32:26 +08:00
ethernet enetc: Remove the mdio bus on PF probe bailout 2021-03-16 16:32:27 +08:00
fddi Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
fjes Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
hamradio yam: fix possible memory leak in yam_init_driver 2021-03-16 16:30:06 +08:00
hippi hippi: Fix a size used in a 'pci_free_consistent()' in an error handling path 2021-03-16 16:32:23 +08:00
hyperv Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
ieee802154 ieee802154: fix one possible memleak in adf7242_probe 2021-03-16 16:32:24 +08:00
ipvlan Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
netdevsim netdevsim: fix unbalaced locking in nsim_create() 2021-03-16 16:32:26 +08:00
phy net: dp83640: fix SIOCSHWTSTAMP to update the struct with actual configuration 2021-03-16 16:32:24 +08:00
plip Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
ppp pppoe: only process PADT targeted at local interfaces 2021-03-16 16:27:47 +08:00
slip Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
team team: fix hang in team_mode_get() 2021-03-16 16:26:52 +08:00
usb ax88172a: fix ax88172a_unbind() failures 2021-03-16 16:32:24 +08:00
vmxnet3 net: vmxnet3: fix possible buffer overflow caused by bad DMA value in vmxnet3_get_rss() 2021-03-16 16:29:22 +08:00
wan drivers/net/wan/x25_asy: Fix to make it work 2021-03-16 16:32:41 +08:00
wimax wimax/i2400m: Fix potential urb refcnt leak 2021-03-16 16:27:27 +08:00
wireless ath9k: Fix regression with Atheros 9271 2021-03-16 16:32:40 +08:00
xen-netback Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Kconfig Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
LICENSE.SRC Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Makefile Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Space.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
dummy.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
eql.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
geneve.c geneve: fix an uninitialized value in geneve_changelink() 2021-03-16 16:32:28 +08:00
gtp.c gtp: set NLM_F_MULTI flag in gtp_genl_dump_pdp() 2021-03-16 16:28:11 +08:00
ifb.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
loopback.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
macsec.c net: macsec: preserve ingress frame ordering 2021-03-16 16:27:34 +08:00
macvlan.c macvlan: Skip loopback packets in RX handler 2021-03-16 16:29:35 +08:00
macvtap.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
mdio.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
mii.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
net_failover.c net_failover: fixed rollback in net_failover_open() 2021-03-16 16:28:54 +08:00
netconsole.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
nlmon.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
ntb_netdev.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
rionet.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
sb1000.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
sungem_phy.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
tap.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
thunderbolt.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
tun.c tun: correct header offsets in napi frags mode 2021-03-16 16:28:54 +08:00
veth.c veth: Adjust hard_start offset on redirect XDP frames 2021-03-16 16:29:32 +08:00
virtio_net.c virtio_net: fix lockdep warning on 32 bit 2021-03-16 16:27:48 +08:00
vrf.c vrf: Check skb for XFRM_TRANSFORMED flag 2021-03-16 16:26:53 +08:00
vsockmon.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
vxlan.c vxlan: Avoid infinite loop when suppressing NS messages with invalid options 2021-03-16 16:28:55 +08:00
xen-netfront.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00