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 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
8390 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
adaptec Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
aeroflex net: ethernet: aeroflex: fix potential memory leak in greth_start_xmit_gbit() 2024-11-23 23:21:59 +01:00
agere Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
alacritech Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
allwinner Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
alteon Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
altera Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
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 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
apple Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
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 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
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 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
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 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
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 Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
dec Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dlink Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
emulex be2net: fix potential memory leak in be_xmit() 2024-11-23 23:22:01 +01:00
ezchip Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
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 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
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 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mscc Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
myricom Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
natsemi Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
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 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nvidia Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nxp Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
oki-semi Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
packetengines Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pasemi Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
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 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
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 Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
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 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
silan Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sis Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
smsc net: smc91x: Fix m68k kernel compilation for ColdFire CPU 2024-11-19 12:26:51 +01:00
socionext Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
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 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
tehuti Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
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 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
via Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
wiznet Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
xilinx Revert "net: axienet: Fix register defines comment description" 2024-11-24 00:23:54 +01:00
xircom Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
xscale Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dnet.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dnet.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ec_bhf.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ethoc.c Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
fealnx.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
jme.c Revert "net: ethernet: use ip_hdrlen() instead of bit shift" 2024-11-24 00:23:36 +01:00
jme.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
korina.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
lantiq_etop.c Revert "net: ethernet: lantiq_etop: fix memory disclosure" 2024-11-24 00:23:12 +01:00
lantiq_xrx200.c Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00