diff mbox series

[U-Boot,1/7] libavb: Handle wrong hashtree_error_mode in avb_append_options()

Message ID 20180814004309.15271-1-erosca@de.adit-jv.com
State Accepted
Commit ecc6f6bea6a29e43f4c559aeb642e0597cf702b2
Delegated to: Tom Rini
Headers show
Series [U-Boot,1/7] libavb: Handle wrong hashtree_error_mode in avb_append_options() | expand

Commit Message

Eugeniu Rosca Aug. 14, 2018, 12:43 a.m. UTC
From: Ievgen Maliarenko <ievgen.maliarenko@globallogic.com>

Exit with AVB_SLOT_VERIFY_RESULT_ERROR_INVALID_ARGUMENT
when hashtree_error_mode value passed to avb_append_options()
is unknown (not from AvbHashtreeErrorMode enum).

Otherwise, default value is not handled in the
switch(hashtree_error_mode), which causes below compile warning:

lib/libavb/avb_cmdline.c: In function ‘avb_append_options’:
lib/libavb/avb_cmdline.c:354:13: warning: ‘dm_verity_mode’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     new_ret = avb_replace(
     ~~~~~~~~^~~~~~~~~~~~~~
         slot_data->cmdline, "$(ANDROID_VERITY_MODE)", dm_verity_mode);
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lib/libavb/avb_cmdline.c:363:8: warning: ‘verity_mode’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   if (!cmdline_append_option(
        ^~~~~~~~~~~~~~~~~~~~~~
           slot_data, "androidboot.veritymode", verity_mode)) {

Signed-off-by: Ievgen Maliarenko <ievgen.maliarenko@globallogic.com>
Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
---
 lib/libavb/avb_cmdline.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Igor Opaniuk Aug. 16, 2018, 8:34 a.m. UTC | #1
Reviewed-by: Igor Opaniuk <igor.opaniuk@linaro.org>

On 14 August 2018 at 03:43, Eugeniu Rosca <roscaeugeniu@gmail.com> wrote:
> From: Ievgen Maliarenko <ievgen.maliarenko@globallogic.com>
>
> Exit with AVB_SLOT_VERIFY_RESULT_ERROR_INVALID_ARGUMENT
> when hashtree_error_mode value passed to avb_append_options()
> is unknown (not from AvbHashtreeErrorMode enum).
>
> Otherwise, default value is not handled in the
> switch(hashtree_error_mode), which causes below compile warning:
>
> lib/libavb/avb_cmdline.c: In function ‘avb_append_options’:
> lib/libavb/avb_cmdline.c:354:13: warning: ‘dm_verity_mode’ may be used uninitialized in this function [-Wmaybe-uninitialized]
>      new_ret = avb_replace(
>      ~~~~~~~~^~~~~~~~~~~~~~
>          slot_data->cmdline, "$(ANDROID_VERITY_MODE)", dm_verity_mode);
>          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> lib/libavb/avb_cmdline.c:363:8: warning: ‘verity_mode’ may be used uninitialized in this function [-Wmaybe-uninitialized]
>    if (!cmdline_append_option(
>         ^~~~~~~~~~~~~~~~~~~~~~
>            slot_data, "androidboot.veritymode", verity_mode)) {
>
> Signed-off-by: Ievgen Maliarenko <ievgen.maliarenko@globallogic.com>
> Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
> ---
>  lib/libavb/avb_cmdline.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/lib/libavb/avb_cmdline.c b/lib/libavb/avb_cmdline.c
> index 91a6615c740d..d24669927203 100644
> --- a/lib/libavb/avb_cmdline.c
> +++ b/lib/libavb/avb_cmdline.c
> @@ -331,6 +331,9 @@ AvbSlotVerifyResult avb_append_options(
>          verity_mode = "logging";
>          dm_verity_mode = "ignore_corruption";
>          break;
> +      default:
> +        ret = AVB_SLOT_VERIFY_RESULT_ERROR_INVALID_ARGUMENT;
> +        goto out;
>      }
>      new_ret = avb_replace(
>          slot_data->cmdline, "$(ANDROID_VERITY_MODE)", dm_verity_mode);
> --
> 2.18.0
>
Tom Rini Aug. 24, 2018, 8:09 p.m. UTC | #2
On Tue, Aug 14, 2018 at 02:43:03AM +0200, Eugeniu Rosca wrote:

> From: Ievgen Maliarenko <ievgen.maliarenko@globallogic.com>
> 
> Exit with AVB_SLOT_VERIFY_RESULT_ERROR_INVALID_ARGUMENT
> when hashtree_error_mode value passed to avb_append_options()
> is unknown (not from AvbHashtreeErrorMode enum).
> 
> Otherwise, default value is not handled in the
> switch(hashtree_error_mode), which causes below compile warning:
> 
> lib/libavb/avb_cmdline.c: In function ‘avb_append_options’:
> lib/libavb/avb_cmdline.c:354:13: warning: ‘dm_verity_mode’ may be used uninitialized in this function [-Wmaybe-uninitialized]
>      new_ret = avb_replace(
>      ~~~~~~~~^~~~~~~~~~~~~~
>          slot_data->cmdline, "$(ANDROID_VERITY_MODE)", dm_verity_mode);
>          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> lib/libavb/avb_cmdline.c:363:8: warning: ‘verity_mode’ may be used uninitialized in this function [-Wmaybe-uninitialized]
>    if (!cmdline_append_option(
>         ^~~~~~~~~~~~~~~~~~~~~~
>            slot_data, "androidboot.veritymode", verity_mode)) {
> 
> Signed-off-by: Ievgen Maliarenko <ievgen.maliarenko@globallogic.com>
> Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
> Reviewed-by: Igor Opaniuk <igor.opaniuk@linaro.org>

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/lib/libavb/avb_cmdline.c b/lib/libavb/avb_cmdline.c
index 91a6615c740d..d24669927203 100644
--- a/lib/libavb/avb_cmdline.c
+++ b/lib/libavb/avb_cmdline.c
@@ -331,6 +331,9 @@  AvbSlotVerifyResult avb_append_options(
         verity_mode = "logging";
         dm_verity_mode = "ignore_corruption";
         break;
+      default:
+        ret = AVB_SLOT_VERIFY_RESULT_ERROR_INVALID_ARGUMENT;
+        goto out;
     }
     new_ret = avb_replace(
         slot_data->cmdline, "$(ANDROID_VERITY_MODE)", dm_verity_mode);