kernel_samsung_a53x/drivers/net/ethernet
Vladimir Oltean a78199809a net: dpaa: avoid on-stack arrays of NR_CPUS elements
[ Upstream commit 555a05d84ca2c587e2d4777006e2c2fb3dfbd91d ]

The dpaa-eth driver is written for PowerPC and Arm SoCs which have 1-24
CPUs. It depends on CONFIG_NR_CPUS having a reasonably small value in
Kconfig. Otherwise, there are 2 functions which allocate on-stack arrays
of NR_CPUS elements, and these can quickly explode in size, leading to
warnings such as:

  drivers/net/ethernet/freescale/dpaa/dpaa_eth.c:3280:12: warning:
  stack frame size (16664) exceeds limit (2048) in 'dpaa_eth_probe' [-Wframe-larger-than]

The problem is twofold:
- Reducing the array size to the boot-time num_possible_cpus() (rather
  than the compile-time NR_CPUS) creates a variable-length array,
  which should be avoided in the Linux kernel.
- Using NR_CPUS as an array size makes the driver blow up in stack
  consumption with generic, as opposed to hand-crafted, .config files.

A simple solution is to use dynamic allocation for num_possible_cpus()
elements (aka a small number determined at runtime).

Link: https://lore.kernel.org/all/202406261920.l5pzM1rj-lkp@intel.com/
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Breno Leitao <leitao@debian.org>
Acked-by: Madalin Bucur <madalin.bucur@oss.nxp.com>
Link: https://patch.msgid.link/20240713225336.1746343-2-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-01-19 00:10:00 +01:00
..
3com
8390
adaptec
aeroflex net: ethernet: aeroflex: fix potential memory leak in greth_start_xmit_gbit() 2024-11-23 23:21:59 +01:00
agere
alacritech
allwinner
alteon
altera
amazon net: ena: Fix incorrect descriptor free behavior 2024-11-19 11:32:20 +01:00
amd net: amd: mvme147: Fix probe banner message 2024-11-23 23:22:04 +01:00
apm
apple
aquantia Revert "net: atlantic: Avoid warning about potential string truncation" 2024-11-24 00:23:08 +01:00
arc net: arc: fix the device for dma_map_single/dma_unmap_single 2024-11-30 02:33:22 +01:00
atheros ethernet: atheros: fix a memleak in atl1e_setup_ring_resources 2024-11-18 12:11:59 +01:00
aurora
broadcom eth: bcmsysport: fix call balance of priv->clk handling routines 2025-01-15 16:29:53 +01:00
brocade bna: adjust 'name' buf size of bna_tcb and bna_ccb structures 2024-11-23 23:20:08 +01:00
cadence Revert "net: macb: Avoid 20s boot delay by skipping MDIO bus registration for fixed-link PHY" 2024-11-24 00:22:53 +01:00
calxeda
cavium liquidio: Adjust a NULL pointer handling path in lio_vf_rep_copy_packet 2024-11-19 14:19:03 +01:00
chelsio chelsio/chtls: prevent potential integer overflow on 32bit 2025-01-15 16:29:41 +01:00
cirrus
cisco enic: Validate length of nl attributes in enic_set_vf_port 2024-11-19 12:27:10 +01:00
cortina Revert "net: ethernet: cortina: Drop TSO support" 2024-11-24 00:23:00 +01:00
davicom
dec
dlink
emulex be2net: fix potential memory leak in be_xmit() 2024-11-23 23:22:01 +01:00
ezchip
faraday Revert "net: ftgmac100: Enable TX interrupt to avoid TX timeout" 2024-11-24 00:23:34 +01:00
freescale net: dpaa: avoid on-stack arrays of NR_CPUS elements 2025-01-19 00:10:00 +01:00
fujitsu
google gve: Use size_add() in call to struct_size() 2024-11-18 11:42:47 +01:00
hisilicon net: hns3: fix kernel crash when uninstalling driver 2024-11-30 02:33:22 +01:00
huawei net: hinic: Fix cleanup in create_rxqs/txqs() 2025-01-15 16:29:41 +01:00
i825xx Revert "net/sun3_82586: Avoid reading past buffer in debug output" 2024-11-24 00:23:52 +01:00
ibm Revert "net: ibm: emac: mal: fix wrong goto" 2024-11-24 00:22:56 +01:00
intel igb: Fix potential invalid memory access in igb_init_module() 2024-12-17 13:24:26 +01:00
marvell sky2: Add device ID 11ab:4373 for Marvell 88E8075 2025-01-15 16:29:56 +01:00
mediatek net: ethernet: mtk_eth_soc: remove duplicate if statements 2024-11-18 12:12:45 +01:00
mellanox net/mlx5e: kTLS, Fix incorrect page refcounting 2024-12-17 13:20:50 +01:00
micrel net: ks8851: Fix potential TX stall after interface reopen 2024-11-19 14:19:44 +01:00
microchip lan743x: fix for potential NULL pointer dereference with bare card 2024-11-18 22:25:36 +01:00
moxa
mscc
myricom
natsemi
neterion vxge: remove unnecessary cast in kfree() 2024-11-19 09:22:37 +01:00
netronome Revert "nfp: Use IRQF_NO_AUTOEN flag in request_irq()" 2024-11-24 00:23:07 +01:00
ni
nvidia
nxp
oki-semi
packetengines
pasemi
pensando ionic: use ee->offset when returning sprom data 2025-01-15 16:29:41 +01:00
qlogic net/qed: allow old cards not supporting "num_images" to work 2024-12-17 13:24:26 +01:00
qualcomm qca_spi: Make driver probing reliable 2025-01-02 17:00:50 +01:00
rdc
realtek r8169: don't apply UDP padding quirk on RTL8126A 2024-12-17 13:24:30 +01:00
renesas net: ravb: Always process TX descriptor ring 2024-11-19 09:22:50 +01:00
rocker rocker: fix link status detection in rocker_carrier_init() 2024-12-17 13:24:31 +01:00
samsung
seeq Revert "net: seeq: Fix use after free vulnerability in ether3 Driver Due to Race Condition" 2024-11-24 00:23:18 +01:00
sfc sfc: fix a double-free bug in efx_probe_filters 2024-11-18 12:12:06 +01:00
sgi
silan
sis
smsc net: smc91x: Fix m68k kernel compilation for ColdFire CPU 2024-11-19 12:26:51 +01:00
socionext
stmicro net: stmmac: dwmac-socfpga: Set RX watchdog interrupt as broken 2024-12-17 13:24:15 +01:00
sun eth: sungem: remove .ndo_poll_controller to avoid deadlocks 2024-11-19 12:26:56 +01:00
synopsys
tehuti
ti net: ethernet: ti: am65-cpts: Fix PTPv1 message type on TX packets 2024-11-19 11:32:38 +01:00
toshiba net: spider_net: Use size_add() in call to struct_size() 2024-11-18 11:42:47 +01:00
tundra
via
wiznet
xilinx Revert "net: axienet: Fix register defines comment description" 2024-11-24 00:23:54 +01:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c Revert "net: ethernet: use ip_hdrlen() instead of bit shift" 2024-11-24 00:23:36 +01:00
jme.h
Kconfig
korina.c
lantiq_etop.c Revert "net: ethernet: lantiq_etop: fix memory disclosure" 2024-11-24 00:23:12 +01:00
lantiq_xrx200.c
Makefile