All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mattijs Korpershoek <mkorpershoek@baylibre.com>
To: Alexey Romanov <avromanov@salutedevices.com>,
	jpewhacker@gmail.com, sjg@google.com
Cc: u-boot@lists.denx.de, kernel@salutedevices.com,
	Alexey Romanov <avromanov@salutedevices.com>,
	Sam Protsenko <semen.protsenko@linaro.org>,
	Igor Opaniuk <igor.opaniuk@gmail.com>
Subject: Re: [PATCH v1] android_ab: don't ignore ab_control_store return code
Date: Wed, 20 Dec 2023 17:53:42 +0100	[thread overview]
Message-ID: <87sf3w24tl.fsf@baylibre.com> (raw)
In-Reply-To: <20231128112636.26655-1-avromanov@salutedevices.com>

Hi Alexey,

Thank you for your patch.

I'm looping in the Android AB reviewers and maintainers (Sam and Igor).

They were not automatically add due to a stale MAINTAINERS entry[1]

[1] https://lore.kernel.org/all/20231220-maintainers-fix-ab-v1-1-dd16fc5285ed@baylibre.com/

On Tue, Nov 28, 2023 at 14:26, Alexey Romanov <avromanov@salutedevices.com> wrote:

> ab_control_store() can return an error if writing to disk fails.
> In this case, we have to pass the error code to the caller.
>
> Signed-off-by: Alexey Romanov <avromanov@salutedevices.com>
> ---
>  boot/android_ab.c | 18 ++++++++++++++++--
>  1 file changed, 16 insertions(+), 2 deletions(-)
>
> diff --git a/boot/android_ab.c b/boot/android_ab.c
> index 73b55c196c..5a3152dd53 100644
> --- a/boot/android_ab.c
> +++ b/boot/android_ab.c
> @@ -337,7 +337,15 @@ int ab_select_slot(struct blk_desc *dev_desc, struct disk_partition *part_info,
>  
>  	if (store_needed) {
>  		abc->crc32_le = ab_control_compute_crc(abc);
> -		ab_control_store(dev_desc, part_info, abc, 0);
> +		ret = ab_control_store(dev_desc, part_info, abc, 0);
> +		if (ret < 0) {
> +#if ANDROID_AB_BACKUP_OFFSET
> +			free(backup_abc);
> +#endif
> +			free(abc);
> +			log_err("ANDROID: failed to store boot control block: %d\n", ret);

There is no point in logging here, because ab_control_store() already
logs:

	ret = blk_dwrite(dev_desc, part_info->start + abc_offset, abc_blocks,
			 abc);
	if (IS_ERR_VALUE(ret)) {
		log_err("ANDROID: Could not write back the misc partition\n");
		return -EIO;
	}

> +			return ret;
> +		}
>  	}
>  
>  #if ANDROID_AB_BACKUP_OFFSET
> @@ -346,8 +354,14 @@ int ab_select_slot(struct blk_desc *dev_desc, struct disk_partition *part_info,
>  	 * to the backup offset
>  	 */
>  	if (memcmp(backup_abc, abc, sizeof(*abc)) != 0) {
> -		ab_control_store(dev_desc, part_info, abc,
> +		ret = ab_control_store(dev_desc, part_info, abc,
>  				 ANDROID_AB_BACKUP_OFFSET);
> +		if (ret < 0) {
> +			free(backup_abc);
> +			free(abc);
> +			log_err("ANDROID: failed to store boot control block: %d\n", ret);

Same here

With that addressed:

Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>

> +			return ret;
> +		}
>  	}
>  	free(backup_abc);
>  #endif
> -- 
> 2.39.2

      parent reply	other threads:[~2023-12-20 16:53 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-28 11:26 [PATCH v1] android_ab: don't ignore ab_control_store return code Alexey Romanov
2023-12-13  9:56 ` Alexey Romanov
2023-12-20 16:53 ` Mattijs Korpershoek [this message]

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=87sf3w24tl.fsf@baylibre.com \
    --to=mkorpershoek@baylibre.com \
    --cc=avromanov@salutedevices.com \
    --cc=igor.opaniuk@gmail.com \
    --cc=jpewhacker@gmail.com \
    --cc=kernel@salutedevices.com \
    --cc=semen.protsenko@linaro.org \
    --cc=sjg@google.com \
    --cc=u-boot@lists.denx.de \
    /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.