From: Eric Biggers <ebiggers@kernel.org>
To: Florian Schmaus <flo@geekplace.eu>, Theodore Ts'o <tytso@mit.edu>
Cc: linux-ext4@vger.kernel.org
Subject: Re: [PATCH v2] e4crypt: if salt is explicitly provided to add_key, then use it
Date: Tue, 7 Jul 2020 14:47:04 -0700 [thread overview]
Message-ID: <20200707214704.GD3426938@gmail.com> (raw)
In-Reply-To: <20200707082729.85058-1-flo@geekplace.eu>
On Tue, Jul 07, 2020 at 10:27:30AM +0200, Florian Schmaus wrote:
> Providing -S and a path to 'add_key' previously exhibit an unintuitive
exhibit => exhibited
> behavior: instead of using the salt explicitly provided by the user,
> e4crypt would use the salt obtained via EXT4_IOC_GET_ENCRYPTION_PWSALT
> on the path. This was because set_policy() was still called with NULL
> as salt.
>
> With this change we now remember the explicitly provided salt (if any)
> and use it as argument for set_policy().
>
> Eventually
>
> e4crypt add_key -S s:my-spicy-salt /foo
>
> will now actually use 'my-spicy-salt' and not something else as salt
> for the policy set on /foo.
>
> Signed-off-by: Florian Schmaus <flo@geekplace.eu>
> ---
>
> Notes:
> - Clarify -S description in man page.
> - Do not store a reference to salt_list entry, as it
> could be reallocated causing a use-after-free.
> - Only parse the salts of the path arguments if no
> salt was explicitly specified.
>
> misc/e4crypt.8.in | 4 +++-
> misc/e4crypt.c | 18 ++++++++++++++----
> 2 files changed, 17 insertions(+), 5 deletions(-)
>
> diff --git a/misc/e4crypt.8.in b/misc/e4crypt.8.in
> index 75b968a0..fe9372cf 100644
> --- a/misc/e4crypt.8.in
> +++ b/misc/e4crypt.8.in
> @@ -48,7 +48,9 @@ values are 4, 8, 16, and 32.
> If one or more directory paths are specified, e4crypt will try to
> set the policy of those directories to use the key just added by the
> .B add_key
> -command.
> +command. If a salt was explicitly specified, then it will be used
> +to derive the encryption key of those directories. Otherwise a
> +directory-specific default salt will be used.
> .TP
> .B e4crypt get_policy \fIpath\fR ...
> Print the policy for the directories specified on the command line.
> diff --git a/misc/e4crypt.c b/misc/e4crypt.c
> index 2ae6254a..67d25d88 100644
> --- a/misc/e4crypt.c
> +++ b/misc/e4crypt.c
> @@ -26,6 +26,7 @@
> #include <getopt.h>
> #include <dirent.h>
> #include <errno.h>
> +#include <stdbool.h>
I'd like to use <stdbool.h> too, but I'm not sure if it's allowed in e2fsprogs;
this would be the first use. Everywhere else seems to just use int, 0, and 1.
Ted, is stdbool.h allowed in e2fsprogs?
> + if (!explicit_salt)
> + for (i = optind; i < argc; i++)
> + parse_salt(argv[i], PARSE_FLAGS_FORCE_FN);
There should be braces at the outer level (following Linux kernel coding style):
if (!explicit_salt) {
for (i = optind; i < argc; i++)
parse_salt(argv[i], PARSE_FLAGS_FORCE_FN);
}
Otherwise this patch looks fine.
Hopefully people aren't depending on this bug being present.
- Eric
next prev parent reply other threads:[~2020-07-07 21:47 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-06 19:47 [PATCH 1/3] e4crypt: if salt is explicitly provided to add_key, then use it Florian Schmaus
2020-07-06 19:47 ` [PATCH 2/3] e4crypt: refactor set_policy a little Florian Schmaus
2020-07-06 22:04 ` Eric Biggers
2020-07-06 19:47 ` [PATCH 3/3] Clarify in e4crypt man page that -S is an optional argument Florian Schmaus
2020-07-06 21:57 ` [PATCH 1/3] e4crypt: if salt is explicitly provided to add_key, then use it Eric Biggers
2020-07-07 8:36 ` Florian Schmaus
2020-07-07 21:40 ` Eric Biggers
2020-07-07 8:27 ` [PATCH v2] " Florian Schmaus
2020-07-07 21:47 ` Eric Biggers [this message]
2020-10-01 14:36 ` Theodore Y. Ts'o
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200707214704.GD3426938@gmail.com \
--to=ebiggers@kernel.org \
--cc=flo@geekplace.eu \
--cc=linux-ext4@vger.kernel.org \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.