Message ID | 20240703200813.64802-1-ebiggers@kernel.org (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Mikulas Patocka |
Headers | show |
Series | dm-verity: fix dm_is_verity_target() when dm-verity is builtin | expand |
On Wed, Jul 03, 2024 at 01:08:13PM -0700, Eric Biggers wrote: > From: Eric Biggers <ebiggers@google.com> > > When CONFIG_DM_VERITY=y, dm_is_verity_target() returned true for any > builtin dm target, not just dm-verity. Fix this by checking for > verity_target instead of THIS_MODULE (which is NULL for builtin code). > > Fixes: b6c1c5745ccc ("dm: Add verity helpers for LoadPin") > Cc: stable@vger.kernel.org > Cc: Matthias Kaehlcke <mka@chromium.org> > Cc: Kees Cook <keescook@chromium.org> > Signed-off-by: Eric Biggers <ebiggers@google.com> Ah! Nice catch. Reviewed-by: Kees Cook <kees@kernel.org>
diff --git a/drivers/md/dm-verity-target.c b/drivers/md/dm-verity-target.c index 0a2399d958b7..cf659c8feb29 100644 --- a/drivers/md/dm-verity-target.c +++ b/drivers/md/dm-verity-target.c @@ -1519,18 +1519,10 @@ static int verity_ctr(struct dm_target *ti, unsigned int argc, char **argv) verity_dtr(ti); return r; } -/* - * Check whether a DM target is a verity target. - */ -bool dm_is_verity_target(struct dm_target *ti) -{ - return ti->type->module == THIS_MODULE; -} - /* * Get the verity mode (error behavior) of a verity target. * * Returns the verity mode of the target, or -EINVAL if 'ti' is not a verity * target. @@ -1580,10 +1572,18 @@ static struct target_type verity_target = { .iterate_devices = verity_iterate_devices, .io_hints = verity_io_hints, }; module_dm(verity); +/* + * Check whether a DM target is a verity target. + */ +bool dm_is_verity_target(struct dm_target *ti) +{ + return ti->type == &verity_target; +} + MODULE_AUTHOR("Mikulas Patocka <mpatocka@redhat.com>"); MODULE_AUTHOR("Mandeep Baines <msb@chromium.org>"); MODULE_AUTHOR("Will Drewry <wad@chromium.org>"); MODULE_DESCRIPTION(DM_NAME " target for transparent disk integrity checking"); MODULE_LICENSE("GPL");