linux-stable/drivers
Kees Cook d68627697d treewide: Remove uninitialized_var() usage
commit 3f649ab728 upstream.

Using uninitialized_var() is dangerous as it papers over real bugs[1]
(or can in the future), and suppresses unrelated compiler warnings
(e.g. "unused variable"). If the compiler thinks it is uninitialized,
either simply initialize the variable or make compiler changes.

In preparation for removing[2] the[3] macro[4], remove all remaining
needless uses with the following script:

git grep '\buninitialized_var\b' | cut -d: -f1 | sort -u | \
	xargs perl -pi -e \
		's/\buninitialized_var\(([^\)]+)\)/\1/g;
		 s:\s*/\* (GCC be quiet|to make compiler happy) \*/$::g;'

drivers/video/fbdev/riva/riva_hw.c was manually tweaked to avoid
pathological white-space.

No outstanding warnings were found building allmodconfig with GCC 9.3.0
for x86_64, i386, arm64, arm, powerpc, powerpc64le, s390x, mips, sparc64,
alpha, and m68k.

[1] https://lore.kernel.org/lkml/20200603174714.192027-1-glider@google.com/
[2] https://lore.kernel.org/lkml/CA+55aFw+Vbj0i=1TGqCR5vQkCzWJ0QxK6CernOU6eedsudAixw@mail.gmail.com/
[3] https://lore.kernel.org/lkml/CA+55aFwgbgqhbp1fkxvRKEpzyR5J8n1vKT1VZdz9knmPuXhOeg@mail.gmail.com/
[4] https://lore.kernel.org/lkml/CA+55aFz2500WfbKXAx8s67wrm9=yVJu65TpLgN_ybYNv0VEOKA@mail.gmail.com/

Reviewed-by: Leon Romanovsky <leonro@mellanox.com> # drivers/infiniband and mlx4/mlx5
Acked-by: Jason Gunthorpe <jgg@mellanox.com> # IB
Acked-by: Kalle Valo <kvalo@codeaurora.org> # wireless drivers
Reviewed-by: Chao Yu <yuchao0@huawei.com> # erofs
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-08-11 11:33:32 +02:00
..
accessibility
acpi treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
amba
android
ata treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
atm treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
auxdisplay
base x86/speculation: Add Gather Data Sampling mitigation 2023-08-08 19:48:24 +02:00
bcma
block treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
bluetooth Revert "Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unfinished work" 2023-05-17 11:11:42 +02:00
bus bus: sunxi-rsb: Fix error handling in sunxi_rsb_init() 2023-02-22 12:46:01 +01:00
cdrom
char tpm: tpm_tis: Add the missed acpi_put_table() to fix memory leak 2023-01-18 09:26:36 +01:00
clk treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
clocksource
connector
cpufreq cpufreq: davinci: Fix clk use after free 2023-03-11 16:26:37 +01:00
cpuidle cpuidle: dt: Return the correct numbers of parsed idle states 2023-01-18 09:26:09 +01:00
crypto crypto: n2 - add missing hash statesize 2023-01-18 09:26:38 +01:00
dax
dca
devfreq
dio drivers: dio: fix possible memory leak in dio_init() 2023-01-18 09:26:22 +01:00
dma dmaengine: pl330: rename _start to prevent build error 2023-06-09 10:22:48 +02:00
dma-buf
edac EDAC/device: Respect any driver-supplied workqueue polling value 2023-02-06 07:46:31 +01:00
eisa
extcon
firewire treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
firmware efi: Accept version 2 of memory attributes table 2023-02-22 12:46:02 +01:00
fmc
fpga
fsi
gpio gpio: davinci: Add irq chip flag to skip set wake 2023-04-20 12:02:10 +02:00
gpu treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
hid HID: wacom: Add error check to wacom_parse_and_register() 2023-06-28 10:14:20 +02:00
hsi HSI: omap_ssi_core: Fix error handling in ssi_init() 2023-01-18 09:26:26 +01:00
hv Drivers: hv: vmbus: Fix vmbus_wait_for_unload() to scan present CPUs 2023-06-28 10:14:19 +02:00
hwmon hwmon (it87): Fix voltage scaling for chips with 10.9mV ADCs 2023-04-05 11:14:16 +02:00
hwspinlock
hwtracing coresight-etm4: Fix for() loop drvdata->nr_addr_cmp range bug 2023-04-20 12:02:12 +02:00
i2c treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
ide treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
idle
iio iio: dac: mcp4725: Fix i2c_master_send() return value handling 2023-06-09 10:22:52 +02:00
infiniband treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
input treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
iommu iommu/amd: Fix ivrs_acpihid cmdline parsing code 2023-01-18 09:26:38 +01:00
ipack
irqchip irqchip/irq-bcm7120-l2: Set IRQ_LEVEL for level triggered interrupts 2023-03-11 16:26:38 +01:00
isdn mISDN: hfcmulti: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave() 2023-01-18 09:26:28 +01:00
leds
lightnvm
macintosh macintosh: via-pmu-led: requires ATA to be set 2023-05-17 11:11:44 +02:00
mailbox mailbox: mailbox-test: fix a locking issue in mbox_test_message_write() 2023-06-09 10:22:52 +02:00
mcb mcb-pci: Reallocate memory region to avoid memory overlapping 2023-05-30 12:38:35 +01:00
md treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
media treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
memory
memstick treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
message scsi: message: mptlan: Fix use after free bug in mptlan_remove() due to race condition 2023-05-30 12:38:35 +01:00
mfd mfd: dln2: Fix memory leak in dln2_probe() 2023-05-30 12:38:36 +01:00
misc cxl: Fix refcount leak in cxl_calc_capp_routing 2023-01-18 09:26:27 +01:00
mmc treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
mtd treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
mux
net treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
nfc nfcsim.c: Fix error checking for debugfs_create_dir 2023-06-28 10:14:20 +02:00
ntb
nubus
nvdimm
nvme nvmet: avoid potential UAF in nvmet_req_complete() 2023-03-22 13:26:14 +01:00
nvmem
of of: Fix modalias string generation 2023-05-17 11:11:43 +02:00
oprofile
parisc parisc: led: Fix potential null-ptr-deref in start_task() 2023-01-18 09:26:38 +01:00
parport
pci PCI: Avoid FLR for AMD FCH AHCI adapters 2023-03-11 16:26:49 +01:00
pcmcia
perf
phy phy: st: miphy28lp: use _poll_timeout functions for waits 2023-05-30 12:38:36 +01:00
pinctrl pinctrl: at91-pio4: fix domain name assignment 2023-04-05 11:14:21 +02:00
platform treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
pnp PNP: fix name memory leak in pnp_alloc_dev() 2023-01-18 09:26:10 +01:00
power power: supply: Fix logic checking if system is running from battery 2023-06-21 15:38:57 +02:00
powercap
pps
ps3
ptp
pwm pwm: cros-ec: Explicitly set .polarity in .get_state() 2023-04-20 12:02:10 +02:00
rapidio rapidio: devices: fix missing put_device in mport_cdev_open 2023-01-18 09:26:12 +01:00
ras
regulator regulator: Fix error checking for debugfs_create_dir 2023-06-21 15:38:57 +02:00
remoteproc
reset
rpmsg rpmsg: glink: Avoid infinite loop on intent for missing channel 2023-03-11 16:26:41 +01:00
rtc rtc: pm8xxx: fix set-alarm race 2023-03-11 16:26:44 +01:00
s390 s390/cio: unregister device when the only path is gone 2023-06-28 10:14:21 +02:00
sbus
scsi treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
sfi
sh
sn
soc ARM: ux500: do not directly dereference __iomem 2023-01-18 09:26:36 +01:00
spi spi: qup: Request DMA before enabling clocks 2023-06-14 10:35:24 +02:00
spmi spmi: Add a check for remove callback when removing a SPMI driver 2023-05-17 11:11:44 +02:00
ssb treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
staging Revert "staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE" 2023-06-14 10:35:27 +02:00
target scsi: target: iscsi: Prevent login threads from racing between each other 2023-06-28 10:14:20 +02:00
tc
tee
thermal thermal: intel: powerclamp: Fix cur_state for multi package system 2023-03-11 16:26:55 +01:00
thunderbolt thunderbolt: Use const qualifier for ring_interrupt_index 2023-04-05 11:14:16 +02:00
tty treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
uio uio: uio_dmem_genirq: Fix deadlock between irq config and handling 2023-01-18 09:26:23 +01:00
usb treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
uwb
vfio vfio: platform: Do not pass return buffer to ACPI _RST method 2023-01-18 09:26:23 +01:00
vhost treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
video treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
virt
virtio treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
vlynq
vme vme: Fix error not catched in fake_init() 2023-01-18 09:26:25 +01:00
w1 w1: fix WARNING after calling w1_process() 2023-02-06 07:46:30 +01:00
watchdog watchdog: sbsa_wdog: Make sure the timeout programming is within the limits 2023-04-20 12:02:12 +02:00
xen xen/pvcalls-back: fix double frees with pvcalls_new_active_socket() 2023-05-30 12:38:38 +01:00
zorro
Kconfig
Makefile