Ubuntu-focal-kernel/arch/x86
Kees Cook dc08591ef5 treewide: Remove uninitialized_var() usage
BugLink: https://bugs.launchpad.net/bugs/2028981

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>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
2023-08-09 12:25:41 +02:00
..
boot x86/boot: Wrap literal addresses in absolute_pointer() 2023-08-09 12:25:40 +02:00
configs
crypto crypto: x86/ghash - fix unaligned access in ghash_setkey() 2023-05-12 17:15:00 +02:00
entry exit: Add and use make_task_dead. 2023-03-21 10:09:01 +01:00
events perf/x86/amd: fix potential integer overflow on shift of a int 2023-03-21 10:09:01 +01:00
hyperv
ia32 binfmt: Move install_exec_creds after setup_new_exec to match binfmt_elf 2023-02-01 15:23:24 +01:00
include KVM: x86: do not report a vCPU as preempted outside instruction boundaries 2023-08-09 12:25:32 +02:00
kernel treewide: Remove uninitialized_var() usage 2023-08-09 12:25:41 +02:00
kvm KVM: x86: do not report a vCPU as preempted outside instruction boundaries 2023-08-09 12:25:32 +02:00
lib x86/sev: Unroll string mmio with CC_ATTR_GUEST_UNROLL_STRING_IO 2023-07-10 17:22:07 +02:00
math-emu
mm x86/mm: Fix use of uninitialized buffer in sme_enable() 2023-07-10 17:21:44 +02:00
net
oprofile
pci x86/PCI: Add quirk for AMD XHCI controller that loses MSI-X state in D3hot 2023-07-10 17:22:08 +02:00
platform x86/olpc: fix 'logical not is only applied to the left hand side' 2022-10-17 15:01:24 +02:00
power x86/pm: Add enumeration check before spec MSRs save/restore setup 2023-02-01 15:21:47 +01:00
purgatory x86/purgatory: Don't generate debug info for purgatory.ro 2023-08-09 12:25:12 +02:00
ras
realmode
tools
um x86: um: vdso: Add '%rcx' and '%r11' to the syscall clobber list 2023-05-12 17:15:13 +02:00
video
xen x86/xen: Fix memory leak in xen_init_lock_cpu() 2023-02-01 15:22:17 +01:00
.gitignore
Kbuild
Kconfig locking/refcount: Consolidate implementations of refcount_t 2022-09-16 10:59:59 +02:00
Kconfig.cpu
Kconfig.debug
Makefile
Makefile.um
Makefile_32.cpu