Go to file
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
Documentation media: uapi: add MEDIA_BUS_FMT_METADATA_FIXED media bus format. 2023-08-09 12:25:15 +02:00
LICENSES
arch treewide: Remove uninitialized_var() usage 2023-08-09 12:25:41 +02:00
block treewide: Remove uninitialized_var() usage 2023-08-09 12:25:41 +02:00
certs
crypto crypto: drbg - Only fail when jent is unavailable in FIPS mode 2023-08-09 12:25:18 +02:00
debian
debian.master UBUNTU: Upstream stable to v5.4.245 2023-08-09 12:25:36 +02:00
drivers treewide: Remove uninitialized_var() usage 2023-08-09 12:25:41 +02:00
fs treewide: Remove uninitialized_var() usage 2023-08-09 12:25:41 +02:00
include media: dvb-core: Fix use-after-free due on race condition at dvb_net 2023-08-09 12:25:39 +02:00
init
ipc
kernel treewide: Remove uninitialized_var() usage 2023-08-09 12:25:41 +02:00
lib treewide: Remove uninitialized_var() usage 2023-08-09 12:25:41 +02:00
mm treewide: Remove uninitialized_var() usage 2023-08-09 12:25:41 +02:00
net treewide: Remove uninitialized_var() usage 2023-08-09 12:25:41 +02:00
samples samples/bpf: Fix fout leak in hbm's run_bpf_prog 2023-08-09 12:25:29 +02:00
scripts recordmcount: Fix memory leaks in the uwrite function 2023-08-09 12:25:29 +02:00
security selinux: ensure av_permissions.h is built when needed 2023-08-09 12:25:14 +02:00
sound treewide: Remove uninitialized_var() usage 2023-08-09 12:25:41 +02:00
tools selftests: fib_tests: mute cleanup error message 2023-08-09 12:25:35 +02:00
ubuntu
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile gcc-12: disable '-Wdangling-pointer' warning for now 2023-08-09 12:25:40 +02:00
README
Ubuntu.md
dropped.txt
snapcraft.yaml
update-dkms-versions
update-version-dkms

README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.