[Bug 218512] Geli arbitrarily prevents setting passphrases

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Fri Apr 21 20:38:19 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=218512

--- Comment #14 from Frank <fhriley at gmail.com> ---
(In reply to Alexander Motin from comment #13)

"Multiple processes running same time indeed likely cause different number of
iterations to be set on different disks."

If you recognize that, you should see the problem. Say we have three disks, you
set passphrases on them and they end up with the following iterations:

1: 10
2: 11
3: 10

Now you come along and want to change the passphrase (without using -i), and
this time it computes the iterations as so:

1: 11
2: 10
3: 10

With the current code and your commit, disks 1 & 2 will fail because it sees
you trying to change the iterations. Here is your if statement:

if (*valp != -1 && md.md_iterations == -1) {
    md.md_iterations = *valp;
} else if (*valp != -1 && *valp != md.md_iterations) {
    /* fail */
}

For disk 1 above in setting the passphrase the second time:

*valp == 11
md_md_iterations == 10

This is fixed in my pull request.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-geom mailing list