mirror-linux/drivers
Gustavo A. R. Silva 52fdb99cc4 nouveau/gsp: replace zero-length array with flex-array member and use __counted_by
Fake flexible arrays (zero-length and one-element arrays) are deprecated,
and should be replaced by flexible-array members. So, replace
zero-length array with a flexible-array member in `struct
PACKED_REGISTRY_TABLE`.

Also annotate array `entries` with `__counted_by()` to prepare for the
coming implementation by GCC and Clang of the `__counted_by` attribute.
Flexible array members annotated with `__counted_by` can have their
accesses bounds-checked at run-time via `CONFIG_UBSAN_BOUNDS` (for array
indexing) and `CONFIG_FORTIFY_SOURCE` (for strcpy/memcpy-family functions).

This fixes multiple -Warray-bounds warnings:
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c:1069:29: warning: array subscript 0 is outside array bounds of 'PACKED_REGISTRY_ENTRY[0]' [-Warray-bounds=]
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c:1070:29: warning: array subscript 0 is outside array bounds of 'PACKED_REGISTRY_ENTRY[0]' [-Warray-bounds=]
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c:1071:29: warning: array subscript 0 is outside array bounds of 'PACKED_REGISTRY_ENTRY[0]' [-Warray-bounds=]
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c:1072:29: warning: array subscript 0 is outside array bounds of 'PACKED_REGISTRY_ENTRY[0]' [-Warray-bounds=]

While there, also make use of the struct_size() helper, and address
checkpatch.pl warning:
WARNING: please, no spaces at the start of a line

This results in no differences in binary output.

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Danilo Krummrich <dakr@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/ZVZbX7C5suLMiBf+@work
2023-11-29 03:11:49 +01:00
..
accel accel/ivpu/37xx: Fix hangs related to MMIO reset 2023-11-21 09:20:25 +01:00
accessibility
acpi RISC-V Patches for the 6.7 Merge Window, Part 1 2023-11-08 09:21:18 -08:00
amba
android Char/Misc and other driver changes for 6.7-rc1 2023-11-03 14:51:08 -10:00
ata ata: pata_gayle: Convert to platform remove callback returning void 2023-11-08 09:00:49 +09:00
atm pci-v6.7-changes 2023-11-02 14:05:18 -10:00
auxdisplay
base Revert "driver core: Export device_is_dependent() to modules" 2023-11-28 11:07:28 +01:00
bcma
block nbd: fix uaf in nbd_open 2023-11-07 08:14:57 -07:00
bluetooth
bus SoC driver updates for 6.7 2023-11-01 14:46:51 -10:00
cache
cdrom
cdx Char/Misc and other driver changes for 6.7-rc1 2023-11-03 14:51:08 -10:00
char Char/Misc and other driver changes for 6.7-rc1 2023-11-03 14:51:08 -10:00
clk SoC driver updates for 6.7 2023-11-01 14:46:51 -10:00
clocksource RISC-V Patches for the 6.7 Merge Window, Part 2 2023-11-10 09:23:17 -08:00
comedi
connector
counter
cpufreq Merge branch 'pm-cpufreq' 2023-11-07 20:45:12 +01:00
cpuidle
crypto crypto: talitos - stop using crypto_ahash::init 2023-10-27 18:04:29 +08:00
cxl cxl/pci: Change CXL AER support check to use native AER 2023-11-02 14:09:01 -07:00
dax Many singleton patches against the MM code. The patch series which are 2023-11-02 19:38:47 -10:00
dca
devfreq
dio
dma dmaengine updates for v6.7 2023-11-03 18:56:51 -10:00
dma-buf dma-buf: fix check in dma_resv_add_fence 2023-11-27 20:00:47 +01:00
dpll
edac hardening updates for v6.7-rc1 2023-10-30 19:09:55 -10:00
eisa
extcon
firewire firewire: Annotate struct fw_node with __counted_by 2023-11-05 21:15:17 +09:00
firmware RISC-V Patches for the 6.7 Merge Window, Part 2 2023-11-10 09:23:17 -08:00
fpga Char/Misc and other driver changes for 6.7-rc1 2023-11-03 14:51:08 -10:00
fsi
gnss
gpio pwm: Changes for v6.7-rc1 2023-11-09 13:47:52 -08:00
gpu nouveau/gsp: replace zero-length array with flex-array member and use __counted_by 2023-11-29 03:11:49 +01:00
greybus greybus: Add BeaglePlay Linux Driver 2023-10-27 13:19:04 +02:00
hid Char/Misc and other driver changes for 6.7-rc1 2023-11-03 14:51:08 -10:00
hsi
hte hte: Changes for v6.7-rc1 2023-10-31 18:32:51 -10:00
hv TTY/Serial changes for 6.7-rc1 2023-11-03 15:44:25 -10:00
hwmon hwmon updates for v6.7-rc1 2023-10-31 17:44:17 -10:00
hwspinlock
hwtracing
i2c i2c: cp2615: Fix 'assignment to __be16' warning 2023-11-08 10:27:17 +01:00
i3c I3C for 6.7 2023-11-04 16:25:36 -10:00
idle
iio Char/Misc and other driver changes for 6.7-rc1 2023-11-03 14:51:08 -10:00
infiniband RDMA for v6.7 2023-11-02 15:20:30 -10:00
input Input updates for 6.7 merge window: 2023-11-09 14:18:42 -08:00
interconnect
iommu IOMMU Updates for Linux v6.7 2023-11-09 13:37:28 -08:00
ipack
irqchip arm64 fixes: 2023-11-10 12:22:14 -08:00
isdn hardening updates for v6.7-rc1 2023-10-30 19:09:55 -10:00
leds pwm: Changes for v6.7-rc1 2023-11-09 13:47:52 -08:00
macintosh powerpc updates for 6.7 2023-11-03 10:07:39 -10:00
mailbox Moving repo 2023-11-05 18:45:32 -08:00
mcb
md Many singleton patches against the MM code. The patch series which are 2023-11-02 19:38:47 -10:00
media media updates for v6.7-rc1 2023-11-06 15:06:06 -08:00
memory IOMMU Updates for Linux v6.7 2023-11-09 13:37:28 -08:00
memstick
message
mfd - Core Frameworks 2023-11-02 14:40:51 -10:00
misc RISC-V Patches for the 6.7 Merge Window, Part 1 2023-11-08 09:21:18 -08:00
mmc mmc: sdhci-pci-gli: GL9750: Mask the replay timer timeout of AER 2023-11-07 13:08:12 +01:00
most
mtd - removed AR7 platform support 2023-11-10 09:19:46 -08:00
mux
net wifi: iwlwifi: fix system commands group ordering 2023-11-12 11:34:19 -08:00
nfc
ntb
nubus
nvdimm
nvme nvme: keyring: fix conditional compilation 2023-11-08 08:07:08 -08:00
nvmem Char/Misc and other driver changes for 6.7-rc1 2023-11-03 14:51:08 -10:00
of RISC-V Patches for the 6.7 Merge Window, Part 2 2023-11-10 09:23:17 -08:00
opp
parisc parisc/power: Trivial whitespace cleanups and license update 2023-10-30 14:54:40 +01:00
parport parport: gsc: mark init function static 2023-11-10 08:41:23 +01:00
pci cxl for v6.7 2023-11-04 16:20:36 -10:00
pcmcia PCMCIA odd cleanups and fixes for v6.7-rc1 2023-11-07 16:40:42 -08:00
peci
perf arm64 fixes: 2023-11-10 12:22:14 -08:00
phy phy-for-6.6 2023-11-03 19:06:12 -10:00
pinctrl pinctrl: nuvoton: npcm8xx: drop wrappers around pinctrl_gpio_request/free() 2023-11-04 10:23:23 +01:00
platform Major microcode loader restructuring, cleanup and improvements by Thomas 2023-11-04 08:46:37 -10:00
pmdomain SoC driver updates for 6.7 2023-11-01 14:46:51 -10:00
pnp
power USB/Thunderbolt changes for 6.7-rc1 2023-11-03 16:00:42 -10:00
powercap
pps
ps3
ptp ptp: fix corrupted list in ptp_open 2023-11-08 18:47:07 -08:00
pwm pwm: samsung: Fix a bit test in pwm_samsung_resume() 2023-11-10 09:20:48 +01:00
rapidio
ras
regulator regulator: Merge up pending fix 2023-10-30 13:14:27 +00:00
remoteproc
reset
rpmsg
rtc RTC for 6.7 2023-11-05 18:49:40 -08:00
s390 Including fixes from netfilter and bpf. 2023-11-09 17:09:35 -08:00
sbus
scsi As usual, lots of singleton and doubleton patches all over the tree and 2023-11-02 20:53:31 -10:00
sh
siox
slimbus
soc powerpc updates for 6.7 2023-11-03 10:07:39 -10:00
soundwire soundwire updates for 6.7 2023-11-03 19:10:41 -10:00
spi spi: Fixes for v6.7 2023-11-10 11:44:38 -08:00
spmi spmi: rename spmi device lookup helper 2023-11-01 10:02:18 +00:00
ssb
staging pwm: Changes for v6.7-rc1 2023-11-09 13:47:52 -08:00
target SCSI misc on 20231102 2023-11-02 15:13:50 -10:00
tc
tee
thermal Thermal control updates for 6.7-rc1 2023-10-31 15:28:37 -10:00
thunderbolt USB/Thunderbolt changes for 6.7-rc1 2023-11-03 16:00:42 -10:00
tty - removed AR7 platform support 2023-11-10 09:19:46 -08:00
ufs SCSI misc on 20231102 2023-11-02 15:13:50 -10:00
uio
usb USB/Thunderbolt changes for 6.7-rc1 2023-11-03 16:00:42 -10:00
vdpa vdpa_sim: implement .reset_map support 2023-11-01 09:20:00 -04:00
vfio Char/Misc and other driver changes for 6.7-rc1 2023-11-03 14:51:08 -10:00
vhost vhost,virtio,vdpa: features, fixes, cleanups 2023-11-05 09:02:32 -10:00
video fbdev: fsl-diu-fb: mark wr_reg_wa() static 2023-11-10 09:16:02 +01:00
virt configfs-tsm for v6.7 2023-11-04 15:58:13 -10:00
virtio vhost,virtio,vdpa: features, fixes, cleanups 2023-11-05 09:02:32 -10:00
w1
watchdog - removed AR7 platform support 2023-11-10 09:19:46 -08:00
xen Many singleton patches against the MM code. The patch series which are 2023-11-02 19:38:47 -10:00
zorro
Kconfig - removed AR7 platform support 2023-11-10 09:19:46 -08:00
Makefile - removed AR7 platform support 2023-11-10 09:19:46 -08:00