luks2: Propagate error when reading area key fails

When decrypting a given keyslot, all error cases except for one set up
an error and return the error code. The only exception is when we try to
read the area key: instead of setting up an error message, we directly
print it via grub_dprintf().

Convert the outlier to use grub_error() to allow more uniform handling
of errors.

Signed-off-by: Patrick Steinhardt <ps@kps.im>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
Patrick Steinhardt 2020-04-16 19:15:12 +02:00 committed by Daniel Kiper
parent e933feb578
commit c543d67810

View file

@ -487,7 +487,7 @@ luks2_decrypt_key (grub_uint8_t *out_key,
ret = grub_disk_read (disk, 0, k->area.offset, k->area.size, split_key); ret = grub_disk_read (disk, 0, k->area.offset, k->area.size, split_key);
if (ret) if (ret)
{ {
grub_dprintf ("luks2", "Read error: %s\n", grub_errmsg); grub_error (GRUB_ERR_IO, "Read error: %s\n", grub_errmsg);
goto err; goto err;
} }