Nathan Chancellor
0dcb04014f
media: mxl5xx: Move xpt structures off stack
...
commit 526f4527545b2d4ce0733733929fac7b6da09ac6 upstream.
When building for LoongArch with clang 18.0.0, the stack usage of
probe() is larger than the allowed 2048 bytes:
drivers/media/dvb-frontends/mxl5xx.c:1698:12: warning: stack frame size (2368) exceeds limit (2048) in 'probe' [-Wframe-larger-than]
1698 | static int probe(struct mxl *state, struct mxl5xx_cfg *cfg)
| ^
1 warning generated.
This is the result of the linked LLVM commit, which changes how the
arrays of structures in config_ts() get handled with
CONFIG_INIT_STACK_ZERO and CONFIG_INIT_STACK_PATTERN, which causes the
above warning in combination with inlining, as config_ts() gets inlined
into probe().
This warning can be easily fixed by moving the array of structures off
of the stackvia 'static const', which is a better location for these
variables anyways because they are static data that is only ever read
from, never modified, so allocating the stack space is wasteful.
This drops the stack usage from 2368 bytes to 256 bytes with the same
compiler and configuration.
Link: https://lore.kernel.org/linux-media/20240111-dvb-mxl5xx-move-structs-off-stack-v1-1-ca4230e67c11@kernel.org
Cc: stable@vger.kernel.org
Closes: https://github.com/ClangBuiltLinux/linux/issues/1977
Link: afe8b93ffd
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Miguel Ojeda <ojeda@kernel.org>
Tested-by: Miguel Ojeda <ojeda@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-16 13:28:50 +02:00
..
accessibility
acpi
ACPI: resource: Do IRQ override on TongFang GXxHRXx and GMxHGxx
2024-06-16 13:28:49 +02:00
amba
amba: bus: fix refcount leak
2023-09-23 10:59:52 +02:00
android
binder: fix max_thread type inconsistency
2024-06-16 13:28:48 +02:00
ata
ata: pata_legacy: make legacy_exit() work again
2024-06-16 13:28:49 +02:00
atm
atm: idt77252: fix a memleak in open_card_ubr0
2024-02-23 08:25:06 +01:00
auxdisplay
base
PM: sleep: wakeirq: fix wake irq warning in system suspend
2024-04-13 12:51:25 +02:00
bcma
block
null_blk: Fix the WARNING: modpost: missing MODULE_DESCRIPTION()
2024-06-16 13:28:45 +02:00
bluetooth
Bluetooth: btusb: Add Realtek RTL8852BE support ID 0x0bda:0x4853
2024-05-02 16:18:36 +02:00
bus
bus: tegra-aconnect: Update dependency to ARCH_TEGRA
2024-03-26 18:22:15 -04:00
cdrom
char
ppdev: Add an error check in register_device
2024-06-16 13:28:43 +02:00
clk
clk: Don't hold prepare_lock when calling kref_put()
2024-05-17 11:43:53 +02:00
clocksource
clocksource/drivers/timer-atmel-tcb: Fix initialization on SAM9 hardware
2023-11-28 16:50:13 +00:00
connector
counter
cpufreq
cpufreq: exit() callback is optional
2024-06-16 13:28:34 +02:00
cpuidle
crypto
crypto: ccp - drop platform ifdef checks
2024-06-16 13:28:32 +02:00
dax
dca
devfreq
PM / devfreq: Fix leak in devfreq_dev_release()
2023-09-23 10:59:54 +02:00
dio
dma
dmaengine: idma64: Add check for dma_set_max_seg_size
2024-06-16 13:28:41 +02:00
dma-buf
dma-buf/sw-sync: don't enable IRQ from sync_print_obj()
2024-06-16 13:28:47 +02:00
edac
EDAC/thunderx: Fix possible out-of-bounds string access
2024-01-25 14:34:21 -08:00
eisa
extcon
extcon: max8997: select IRQ_DOMAIN instead of depending on it
2024-06-16 13:28:43 +02:00
firewire
firewire: nosy: ensure user_length is taken into account when fetching packet contents
2024-05-17 11:43:54 +02:00
firmware
firmware: dmi-id: add a release callback function
2024-06-16 13:28:41 +02:00
fpga
fsi
fsi: master-ast-cf: Add MODULE_FIRMWARE macro
2023-09-23 10:59:37 +02:00
gnss
gpio
gpio: crystalcove: Use -ENOTSUPP consistently
2024-05-17 11:43:52 +02:00
gpu
drm/amdgpu: add error handle to avoid out-of-bounds
2024-06-16 13:28:49 +02:00
greybus
hid
HID: intel-ish-hid: ipc: Add check for pci_alloc_irq_vectors
2024-06-16 13:28:36 +02:00
hsi
hv
hwmon
hwmon: (amc6821) add of_match table
2024-04-13 12:51:26 +02:00
hwspinlock
hwtracing
stm class: Fix a double free in stm_register_device()
2024-06-16 13:28:42 +02:00
i2c
i2c: smbus: fix NULL function pointer dereference
2024-05-02 16:18:37 +02:00
i3c
i3c: master: cdns: Update maximum prescaler value for i2c clock
2024-02-23 08:25:02 +01:00
ide
idle
iio
iio: pressure: dps310: support negative temperature values
2024-06-16 13:28:42 +02:00
infiniband
RDMA/IPoIB: Fix format truncation compilation errors
2024-06-16 13:28:40 +02:00
input
Input: pm8xxx-vibrator - correct VIB_MAX_LEVELS calculation
2024-06-16 13:28:43 +02:00
interconnect
interconnect: Treat xlate() returning NULL node as an error
2024-01-08 11:29:45 +01:00
iommu
iommu/amd: Mark interrupt as managed
2024-03-26 18:22:15 -04:00
ipack
irqchip
irqchip/alpine-msi: Fix off-by-one in allocation error path
2024-06-16 13:28:34 +02:00
isdn
mISDN: Update parameter type of dsp_cmx_send()
2023-08-16 18:19:23 +02:00
leds
leds: trigger: panic: Don't register panic notifier if creating the trigger failed
2024-02-23 08:25:02 +01:00
lightnvm
macintosh
macintosh/via-macii: Fix "BUG: sleeping function called from invalid context"
2024-06-16 13:28:35 +02:00
mailbox
mcb
mcb: fix error handling for different scenarios when parsing
2023-11-28 16:50:19 +00:00
md
md/raid5: fix deadlock that raid5d() wait for itself to clear MD_SB_CHANGE_PENDING
2024-06-16 13:28:50 +02:00
media
media: mxl5xx: Move xpt structures off stack
2024-06-16 13:28:50 +02:00
memory
memstick
message
mfd
mfd: altera-sysmgr: Call of_node_put() only when of_parse_phandle() takes a ref
2024-03-26 18:22:21 -04:00
misc
VMCI: Fix possible memcpy() run-time warning in vmci_datagram_invoke_guest_handler()
2024-04-13 12:51:40 +02:00
mmc
mmc: core: Do not force a retune before RPMB switch
2024-06-16 13:28:48 +02:00
mtd
mtd: rawnand: hynix: fixed typo
2024-06-16 13:28:38 +02:00
mux
net
wifi: rtl8xxxu: Fix the TX power of RTL8192CU, RTL8723AU
2024-06-16 13:28:50 +02:00
nfc
NFC: trf7970a: disable all regulators on removal
2024-05-02 16:18:33 +02:00
ntb
ntb: Fix calculation ntb_transport_tx_free_entry()
2023-09-23 10:59:55 +02:00
nubus
nvdimm
nd_btt: Make BTT lanes preemptible
2023-11-20 10:30:12 +01:00
nvme
nvmet: fix ns enable/disable possible hang
2024-06-16 13:28:46 +02:00
nvmem
nvmem: meson-efuse: fix function pointer type mismatch
2024-04-13 12:51:26 +02:00
of
of: gpio unittest kfree() wrong object
2024-02-23 08:25:15 +01:00
opp
OPP: Fix passing 0 to PTR_ERR in _opp_attach_genpd()
2023-09-23 10:59:40 +02:00
oprofile
parisc
parisc: iosapic.c: Fix sparse warnings
2023-10-10 21:46:39 +02:00
parport
parport: parport_serial: Add Brainboxes device IDs and geometry
2024-01-25 14:34:21 -08:00
pci
PCI/PM: Drain runtime-idle callbacks before driver removal
2024-04-13 12:51:25 +02:00
pcmcia
pcmcia: ds: fix possible name leak in error path in pcmcia_device_add()
2023-11-20 10:30:14 +01:00
perf
perf/smmuv3: Enable HiSilicon Erratum 162001900 quirk for HIP08/09
2023-09-23 11:00:03 +02:00
phy
phy: ti: phy-omap-usb2: Fix NULL pointer dereference for SRP
2024-02-23 08:25:06 +01:00
pinctrl
pinctrl: core: handle radix_tree_insert() errors in pinctrl_register_one_pin()
2024-05-25 16:17:16 +02:00
platform
platform/x86: wmi: Make two functions static
2024-06-16 13:28:39 +02:00
pnp
PNP: ACPI: fix fortify warning
2024-02-23 08:24:54 +01:00
power
power: rt9455: hide unused rt9455_boost_voltage_values
2024-05-17 11:43:48 +02:00
powercap
pps
ps3
ptp
ptp: annotate data-race around q->head and q->tail
2023-11-28 16:50:16 +00:00
pwm
pwm: brcmstb: Utilize appropriate clock APIs in suspend/resume
2023-11-20 10:30:15 +01:00
rapidio
ras
regulator
regulator: core: fix debugfs creation regression
2024-05-17 11:43:55 +02:00
remoteproc
reset
reset: hisilicon: hi6220: fix Wvoid-pointer-to-enum-cast warning
2024-01-25 14:34:20 -08:00
rpmsg
rpmsg: virtio: Free driver_override when rpmsg_remove()
2024-02-23 08:24:48 +01:00
rtc
rtc: mt6397: select IRQ_DOMAIN instead of depending on it
2024-03-26 18:22:24 -04:00
s390
s390/cio: fix tracepoint subchannel type field
2024-06-16 13:28:32 +02:00
sbus
scsi
scsi: qla2xxx: Replace all non-returning strlcpy() with strscpy()
2024-06-16 13:28:44 +02:00
sfi
sh
siox
slimbus
slimbus: core: Remove usage of the deprecated ida_simple_xx() API
2024-04-13 12:51:26 +02:00
soc
soc: fsl: qbman: Use raw spinlock for cgr_lock
2024-04-13 12:51:27 +02:00
soundwire
soundwire: cadence: fix invalid PDI offset
2024-06-16 13:28:41 +02:00
spi
spi: stm32: Don't warn about spurious interrupts
2024-06-16 13:28:48 +02:00
spmi
ssb
staging
greybus: arche-ctrl: move device table to its right location
2024-06-16 13:28:42 +02:00
target
scsi: target: Fix SELinux error when systemd-modules loads the target module
2024-05-17 11:43:51 +02:00
tc
tee
thermal
thermal: core: prevent potential string overflow
2023-11-20 10:30:09 +01:00
thunderbolt
tty
serial: sh-sci: protect invalidating RXDMA on shutdown
2024-06-16 13:28:43 +02:00
uio
uio: Fix use-after-free in uio_open
2024-01-25 14:34:21 -08:00
usb
usb: gadget: u_audio: Clear uac pointer when freed.
2024-06-16 13:28:42 +02:00
vfio
vfio/platform: Create persistent IRQ handlers
2024-04-13 12:51:34 +02:00
vhost
vhost: Add smp_rmb() in vhost_vq_avail_empty()
2024-05-02 16:18:29 +02:00
video
fbdev: sh7760fb: allow modular build
2024-06-16 13:28:39 +02:00
virt
virtio
virtio: delete vq in vp_find_vqs_msix() when request_irq() fails
2024-06-16 13:28:46 +02:00
visorbus
vlynq
vme
w1
watchdog
watchdog: stm32_iwdg: initialize default timeout
2024-03-26 18:22:24 -04:00
xen
xen/events: close evtchn after mapping cleanup
2024-04-13 12:51:29 +02:00
zorro
Kconfig
Makefile