mirror of
https://gitlab.com/cryptsetup/cryptsetup.git
synced 2025-12-05 16:00:05 +01:00
opal: supress confusing debug messages.
Do not print sed-opal spefic debug messages with confusing error codes if ioctl() call failed with -1. Usually that means the kernel does not support sed-opal interface or the requested ioctl number is not implemented.
This commit is contained in:
@@ -442,6 +442,8 @@ static int opal_activate_lsp(struct crypt_device *cd, int fd,
|
||||
}
|
||||
|
||||
r = opal_ioctl(cd, fd, IOC_OPAL_ACTIVATE_LSP, activate);
|
||||
if (r < 0)
|
||||
goto out;
|
||||
if (r != OPAL_STATUS_SUCCESS) {
|
||||
log_dbg(cd, "Failed to activate OPAL device '%s': %s",
|
||||
crypt_get_device_name(cd), opal_status_to_string(r));
|
||||
@@ -475,12 +477,14 @@ static int opal_reuse_active_lsp(struct crypt_device *cd, int fd,
|
||||
crypt_safe_memcpy(user_session->opal_key.key, admin_key, admin_key_len);
|
||||
|
||||
r = opal_ioctl(cd, fd, IOC_OPAL_SECURE_ERASE_LR, user_session);
|
||||
if (r < 0)
|
||||
goto out;
|
||||
if (r != OPAL_STATUS_SUCCESS) {
|
||||
log_dbg(cd, "Failed to reset (secure erase) OPAL locking range %u on device '%s': %s",
|
||||
segment_number, crypt_get_device_name(cd), opal_status_to_string(r));
|
||||
r = -EINVAL;
|
||||
}
|
||||
|
||||
out:
|
||||
crypt_safe_free(user_session);
|
||||
|
||||
return r;
|
||||
@@ -516,13 +520,15 @@ static int opal_setup_range(struct crypt_device *cd, int fd, uint32_t segment_nu
|
||||
crypt_safe_memcpy(setup->session.opal_key.key, admin_key, admin_key_len);
|
||||
|
||||
r = opal_ioctl(cd, fd, IOC_OPAL_LR_SETUP, setup);
|
||||
if (r < 0)
|
||||
goto out;
|
||||
if (r != OPAL_STATUS_SUCCESS) {
|
||||
log_dbg(cd, "Failed to setup locking range of length %llu at offset %llu on OPAL device '%s': %s",
|
||||
setup->range_length, setup->range_start, crypt_get_device_name(cd),
|
||||
opal_status_to_string(r));
|
||||
r = -EINVAL;
|
||||
}
|
||||
|
||||
out:
|
||||
crypt_safe_free(setup);
|
||||
|
||||
return r;
|
||||
@@ -551,6 +557,8 @@ static int opal_setup_user(struct crypt_device *cd, int fd, uint32_t segment_num
|
||||
crypt_safe_memcpy(user_add_to_lr->session.opal_key.key, admin_key, admin_key_len);
|
||||
|
||||
r = opal_ioctl(cd, fd, IOC_OPAL_ACTIVATE_USR, &user_add_to_lr->session);
|
||||
if (r < 0)
|
||||
goto out;
|
||||
if (r != OPAL_STATUS_SUCCESS) {
|
||||
log_dbg(cd, "Failed to activate OPAL user on device '%s': %s",
|
||||
crypt_get_device_name(cd), opal_status_to_string(r));
|
||||
@@ -559,6 +567,8 @@ static int opal_setup_user(struct crypt_device *cd, int fd, uint32_t segment_num
|
||||
}
|
||||
|
||||
r = opal_ioctl(cd, fd, IOC_OPAL_ADD_USR_TO_LR, user_add_to_lr);
|
||||
if (r < 0)
|
||||
goto out;
|
||||
if (r != OPAL_STATUS_SUCCESS) {
|
||||
log_dbg(cd, "Failed to add OPAL user to locking range %u (RO) on device '%s': %s",
|
||||
segment_number, crypt_get_device_name(cd), opal_status_to_string(r));
|
||||
@@ -569,6 +579,8 @@ static int opal_setup_user(struct crypt_device *cd, int fd, uint32_t segment_num
|
||||
user_add_to_lr->l_state = OPAL_RW;
|
||||
|
||||
r = opal_ioctl(cd, fd, IOC_OPAL_ADD_USR_TO_LR, user_add_to_lr);
|
||||
if (r < 0)
|
||||
goto out;
|
||||
if (r != OPAL_STATUS_SUCCESS) {
|
||||
log_dbg(cd, "Failed to add OPAL user to locking range %u (RW) on device '%s': %s",
|
||||
segment_number, crypt_get_device_name(cd), opal_status_to_string(r));
|
||||
@@ -655,6 +667,8 @@ int opal_setup_ranges(struct crypt_device *cd,
|
||||
crypt_safe_memcpy(new_pw->session.opal_key.key, admin_key, admin_key_len);
|
||||
|
||||
r = opal_ioctl(cd, fd, IOC_OPAL_SET_PW, new_pw);
|
||||
if (r < 0)
|
||||
goto out;
|
||||
if (r != OPAL_STATUS_SUCCESS) {
|
||||
log_dbg(cd, "Failed to set OPAL user password on device '%s': (%d) %s",
|
||||
crypt_get_device_name(cd), r, opal_status_to_string(r));
|
||||
@@ -688,6 +702,8 @@ int opal_setup_ranges(struct crypt_device *cd,
|
||||
crypt_volume_key_length(vk));
|
||||
|
||||
r = opal_ioctl(cd, fd, IOC_OPAL_LOCK_UNLOCK, lock);
|
||||
if (r < 0)
|
||||
goto out;
|
||||
if (r != OPAL_STATUS_SUCCESS) {
|
||||
log_dbg(cd, "Failed to lock OPAL device '%s': %s",
|
||||
crypt_get_device_name(cd), opal_status_to_string(r));
|
||||
@@ -773,6 +789,8 @@ static int opal_lock_unlock(struct crypt_device *cd,
|
||||
unlock.flags = OPAL_SAVE_FOR_LOCK;
|
||||
|
||||
r = opal_ioctl(cd, fd, IOC_OPAL_SAVE, &unlock);
|
||||
if (r < 0)
|
||||
goto out;
|
||||
if (r != OPAL_STATUS_SUCCESS) {
|
||||
if (!lock)
|
||||
log_std(cd, "Failed to prepare OPAL device '%s' for sleep resume, be aware before suspending: %s",
|
||||
@@ -900,6 +918,8 @@ int opal_reset_segment(struct crypt_device *cd,
|
||||
}
|
||||
|
||||
r = opal_ioctl(cd, fd, IOC_OPAL_SECURE_ERASE_LR, user_session);
|
||||
if (r < 0)
|
||||
goto out;
|
||||
if (r != OPAL_STATUS_SUCCESS) {
|
||||
log_dbg(cd, "Failed to reset (secure erase) OPAL locking range %u on device '%s': %s",
|
||||
segment_number, crypt_get_device_name(cd), opal_status_to_string(r));
|
||||
@@ -923,6 +943,8 @@ int opal_reset_segment(struct crypt_device *cd,
|
||||
};
|
||||
|
||||
r = opal_ioctl(cd, fd, IOC_OPAL_LR_SETUP, setup);
|
||||
if (r < 0)
|
||||
goto out;
|
||||
if (r != OPAL_STATUS_SUCCESS) {
|
||||
log_dbg(cd, "Failed to disable locking range on OPAL device '%s': %s",
|
||||
crypt_get_device_name(cd), opal_status_to_string(r));
|
||||
|
||||
Reference in New Issue
Block a user