1
0
Fork 0
alistair23-linux/drivers/net
Rasmus Villemoes 79df21218d ethernet: ucc_geth: fix definition and size of ucc_geth_tx_global_pram
[ Upstream commit 887078de2a ]

Table 8-53 in the QUICC Engine Reference manual shows definitions of
fields up to a size of 192 bytes, not just 128. But in table 8-111,
one does find the text

  Base Address of the Global Transmitter Parameter RAM Page. [...]
  The user needs to allocate 128 bytes for this page. The address must
  be aligned to the page size.

I've checked both rev. 7 (11/2015) and rev. 9 (05/2018) of the manual;
they both have this inconsistency (and the table numbers are the
same).

Adding a bit of debug printing, on my board the struct
ucc_geth_tx_global_pram is allocated at offset 0x880, while
the (opaque) ucc_geth_thread_data_tx gets allocated immediately
afterwards, at 0x900. So whatever the engine writes into the thread
data overlaps with the tail of the global tx pram (and devmem says
that something does get written during a simple ping).

I haven't observed any failure that could be attributed to this, but
it seems to be the kind of thing that would be extremely hard to
debug. So extend the struct definition so that we do allocate 192
bytes.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-01-19 18:26:14 +01:00
..
appletalk
arcnet
bonding bonding: wait for sysfs kobject destruction before freeing struct slave 2020-12-08 10:40:24 +01:00
caif
can can: kvaser_pciefd: select CONFIG_CRC32 2021-01-17 14:05:35 +01:00
dsa net: dsa: lantiq_gswip: Exclude RMII from modes that report 1 GbE 2021-01-17 14:05:32 +01:00
ethernet ethernet: ucc_geth: fix definition and size of ucc_geth_tx_global_pram 2021-01-19 18:26:14 +01:00
fddi
fjes
hamradio yam: fix possible memory leak in yam_init_driver 2020-06-24 17:50:18 +02:00
hippi hippi: Fix a size used in a 'pci_free_consistent()' in an error handling path 2020-07-29 10:18:31 +02:00
hyperv hv_netvsc: Remove "unlikely" from netvsc_select_queue 2020-09-23 12:40:34 +02:00
ieee802154 ieee802154/adf7242: check status of adf7242_read_reg 2020-10-01 13:18:16 +02:00
ipvlan ipvlan: fix device features 2020-09-03 11:26:41 +02:00
netdevsim netdevsim: fix unbalaced locking in nsim_create() 2020-07-29 10:18:33 +02:00
phy sfp: Fix error handing in sfp_probe() 2020-11-10 12:37:26 +01:00
plip
ppp pppoe: only process PADT targeted at local interfaces 2020-05-20 08:20:09 +02:00
slip slip: not call free_netdev before rtnl_unlock in slip_open 2020-03-21 08:11:53 +01:00
team net: team: fix memory leak in __team_options_register 2020-10-14 10:33:02 +02:00
usb r8152: Add Lenovo Powered USB-C Travel Hub 2021-01-19 18:26:13 +01:00
vmxnet3 vmxnet3: use correct tcp hdr length when packet is encapsulated 2020-08-19 08:16:23 +02:00
wan wan: ds26522: select CONFIG_BITREVERSE 2021-01-17 14:05:37 +01:00
wimax wimax/i2400m: Fix potential urb refcnt leak 2020-05-10 10:31:26 +02:00
wireless wil6210: select CONFIG_CRC32 2021-01-17 14:05:36 +01:00
xen-netback xen/xenbus: Add 'will_handle' callback support in xenbus_watch_path() 2020-12-30 11:51:46 +01:00
Kconfig net: Fix CONFIG_NET_CLS_ACT=n and CONFIG_NFT_FWD_NETDEV={y, m} build 2020-04-01 11:02:18 +02:00
LICENSE.SRC
Makefile
Space.c
dummy.c
eql.c
geneve.c Revert "geneve: pull IP header before ECN decapsulation" 2020-12-11 13:23:33 +01:00
gtp.c gtp: fix an use-before-init in gtp_newlink() 2020-11-01 12:01:03 +01:00
ifb.c net: Fix CONFIG_NET_CLS_ACT=n and CONFIG_NFT_FWD_NETDEV={y, m} build 2020-04-01 11:02:18 +02:00
loopback.c
macsec.c macsec: avoid use-after-free in macsec_handle_frame() 2020-10-14 10:33:00 +02:00
macvlan.c macvlan: validate setting of multiple remote source MAC addresses 2020-09-03 11:27:00 +02:00
macvtap.c
mdio.c
mii.c
net_failover.c net_failover: fixed rollback in net_failover_open() 2020-06-17 16:40:19 +02:00
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
sungem_phy.c
tap.c
thunderbolt.c
tun.c tun: fix return value when the number of iovs exceeds MAX_SKB_FRAGS 2021-01-12 20:16:14 +01:00
veth.c veth: Adjust hard_start offset on redirect XDP frames 2020-06-22 09:31:06 +02:00
virtio_net.c virtio_net: Fix recursive call to cpus_read_lock() 2021-01-12 20:16:12 +01:00
vrf.c vrf: packets with lladdr src needs dst at input with orig_iif when needs strict 2020-12-21 13:27:03 +01:00
vsockmon.c
vxlan.c vxlan: Copy needed_tailroom from lowerdev 2020-12-30 11:50:57 +01:00
xen-netfront.c xen-netfront: fix potential deadlock in xennet_remove() 2020-08-05 09:59:51 +02:00