]> www.infradead.org Git - users/dwmw2/linux.git/commit
fsverity: use register_sysctl_init() to avoid kmemleak warning
authorEric Biggers <ebiggers@google.com>
Wed, 1 May 2024 02:53:31 +0000 (19:53 -0700)
committerEric Biggers <ebiggers@google.com>
Fri, 3 May 2024 15:30:58 +0000 (08:30 -0700)
commitee5814dddefbaa181cb247a75676dd5103775db1
treed84ec395359072947cfec2811c70486c873fc173
parente67572cd2204894179d89bd7b984072f19313b03
fsverity: use register_sysctl_init() to avoid kmemleak warning

Since the fsverity sysctl registration runs as a builtin initcall, there
is no corresponding sysctl deregistration and the resulting struct
ctl_table_header is not used.  This can cause a kmemleak warning just
after the system boots up.  (A pointer to the ctl_table_header is stored
in the fsverity_sysctl_header static variable, which kmemleak should
detect; however, the compiler can optimize out that variable.)  Avoid
the kmemleak warning by using register_sysctl_init() which is intended
for use by builtin initcalls and uses kmemleak_not_leak().

Reported-by: Yi Zhang <yi.zhang@redhat.com>
Closes: https://lore.kernel.org/r/CAHj4cs8DTSvR698UE040rs_pX1k-WVe7aR6N2OoXXuhXJPDC-w@mail.gmail.com
Cc: stable@vger.kernel.org
Reviewed-by: Joel Granados <j.granados@samsung.com>
Link: https://lore.kernel.org/r/20240501025331.594183-1-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
fs/verity/init.c