aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVal Packett <val@packett.cool>2023-05-05 23:00:48 +0000
committerBrian Behlendorf <behlendorf1@llnl.gov>2023-06-01 00:00:15 +0000
commitc47b708647d10e6391101492dbd0f63a386ccd10 (patch)
tree9925d782b5ab4a9e1415ecfaac7cfa9072612661
parent2810dda80b8e1d629236b82c5bee6a4ef717e02e (diff)
downloadsrc-c47b708647d10e6391101492dbd0f63a386ccd10.tar.gz
src-c47b708647d10e6391101492dbd0f63a386ccd10.zip
PAM: do not fail to mount if the key's already loaded
If we're expecting a working home directory on login, it would be rather frustrating to not have it mounted just because it e.g. failed to unmount once on logout. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Felix Dörre <felix@dogcraft.de> Signed-off-by: Val Packett <val@packett.cool> Closes #14834
-rw-r--r--contrib/pam_zfs_key/pam_zfs_key.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/contrib/pam_zfs_key/pam_zfs_key.c b/contrib/pam_zfs_key/pam_zfs_key.c
index 979546ab3090..9d9076e1aa0d 100644
--- a/contrib/pam_zfs_key/pam_zfs_key.c
+++ b/contrib/pam_zfs_key/pam_zfs_key.c
@@ -386,7 +386,7 @@ decrypt_mount(pam_handle_t *pamh, const char *ds_name,
int ret = lzc_load_key(ds_name, noop, (uint8_t *)key->value,
WRAPPING_KEY_LEN);
pw_free(key);
- if (ret) {
+ if (ret && ret != EEXIST) {
pam_syslog(pamh, LOG_ERR, "load_key failed: %d", ret);
zfs_close(ds);
return (-1);