]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
dm-verity: avoid double increment of &use_bh_wq_enabled
authorMikulas Patocka <mpatocka@redhat.com>
Thu, 9 Jul 2026 19:33:16 +0000 (21:33 +0200)
committerMikulas Patocka <mpatocka@redhat.com>
Fri, 10 Jul 2026 12:41:17 +0000 (14:41 +0200)
verity_parse_opt_args is called twice, first with the only_modifier_opts,
first with only_modifier_opts == true and then with only_modifier_opts ==
false. Thus, the static branch &use_bh_wq_enabled was incremented twice
and the destructor verity_dtr would only decrement it once.

Fix tihs bug by only incrementing it on the first call, on the second
call, when v->use_bh_wq is true, do nothing.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Assisted-by: Claude:claude-opus-4-6
Cc: stable@vger.kernel.org
Fixes: df326e7a0699 ("dm verity: allow optional args to alter primary args handling")
drivers/md/dm-verity-target.c

index 9a9847f94c460c3ff810bc9a390b04b381a02740..adfda1fdab6aa5ac22a4ffb38d78008945186d46 100644 (file)
@@ -1262,6 +1262,8 @@ static int verity_parse_opt_args(struct dm_arg_set *as, struct dm_verity *v,
                        continue;
 
                } else if (!strcasecmp(arg_name, DM_VERITY_OPT_TASKLET_VERIFY)) {
+                       if (v->use_bh_wq)
+                               continue;
                        v->use_bh_wq = true;
                        static_branch_inc(&use_bh_wq_enabled);
                        continue;