mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH v2 1/2] fastboot: always try barebox_update handler for bbu- partitions
@ 2022-06-09 11:17 Ahmad Fatoum
  2022-06-09 11:17 ` [PATCH v2 2/2] fastboot: inform user if barebox update falls back to raw copy Ahmad Fatoum
  0 siblings, 1 reply; 5+ messages in thread
From: Ahmad Fatoum @ 2022-06-09 11:17 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

So far, fastboot barebox_update code was only entered when
filetype_is_barebox_image() returned true, a function exclusively used
for fastboot. Align this with normal barebox_update from the command
line by leaving the decision on whether the image is correctly to the
barebox_update handler if the user explicitly targets a bbu- fastboot
partition.

We keep the old check OR-ed to maintain backwards-compatibility for
invoking barebox_update for non bbu- fastboot partitions.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
v1 -> v2:
  - new patch (Sascha)
---
 common/fastboot.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/common/fastboot.c b/common/fastboot.c
index f8ed40c86e00..330a06f5a32f 100644
--- a/common/fastboot.c
+++ b/common/fastboot.c
@@ -673,7 +673,8 @@ static void cb_flash(struct fastboot *fb, const char *cmd)
 		goto out;
 	}
 
-	if (IS_ENABLED(CONFIG_BAREBOX_UPDATE) && filetype_is_barebox_image(filetype)) {
+	if (IS_ENABLED(CONFIG_BAREBOX_UPDATE) &&
+	    (filetype_is_barebox_image(filetype) || strstarts(fentry->name, "bbu-"))) {
 		void *buf;
 		struct bbu_handler *handler;
 		struct bbu_data data = {
-- 
2.30.2


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2 2/2] fastboot: inform user if barebox update falls back to raw copy
  2022-06-09 11:17 [PATCH v2 1/2] fastboot: always try barebox_update handler for bbu- partitions Ahmad Fatoum
@ 2022-06-09 11:17 ` Ahmad Fatoum
  2022-06-09 11:40   ` Sascha Hauer
  0 siblings, 1 reply; 5+ messages in thread
From: Ahmad Fatoum @ 2022-06-09 11:17 UTC (permalink / raw)
  To: barebox; +Cc: Ahmad Fatoum

Fastboot will fall back to a raw copy even for bbu- partitions if
no barebox_update was found or if support isn't compiled in.

Coupled with eMMC boot partitions, this could lead to
`barebox_update -t mmc` updating the boot partition, while a
`fastboot flash bbu-mmc` will write the image to the user area instead.

It's worth telling the user when this happens, so add a status message.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
v1 -> v2:
  - print message in case barebox_update handler is not found
---
 common/fastboot.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/common/fastboot.c b/common/fastboot.c
index 330a06f5a32f..24eddf1cc3a5 100644
--- a/common/fastboot.c
+++ b/common/fastboot.c
@@ -683,8 +683,14 @@ static void cb_flash(struct fastboot *fb, const char *cmd)
 		};
 
 		handler = bbu_find_handler_by_device(data.devicefile);
-		if (!handler)
+		if (!handler) {
+			fastboot_tx_print(fb, FASTBOOT_MSG_INFO,
+					  "No suitable barebox_update handler found");
+			fastboot_tx_print(fb, FASTBOOT_MSG_INFO,
+					  "Falling back to raw copy to %s", filename);
+
 			goto copy;
+		}
 
 		fastboot_tx_print(fb, FASTBOOT_MSG_INFO,
 				  "This is a barebox image...");
-- 
2.30.2


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 2/2] fastboot: inform user if barebox update falls back to raw copy
  2022-06-09 11:17 ` [PATCH v2 2/2] fastboot: inform user if barebox update falls back to raw copy Ahmad Fatoum
@ 2022-06-09 11:40   ` Sascha Hauer
  2022-06-09 12:02     ` Ahmad Fatoum
  0 siblings, 1 reply; 5+ messages in thread
From: Sascha Hauer @ 2022-06-09 11:40 UTC (permalink / raw)
  To: Ahmad Fatoum; +Cc: barebox

On Thu, Jun 09, 2022 at 01:17:03PM +0200, Ahmad Fatoum wrote:
> Fastboot will fall back to a raw copy even for bbu- partitions if
> no barebox_update was found or if support isn't compiled in.
> 
> Coupled with eMMC boot partitions, this could lead to
> `barebox_update -t mmc` updating the boot partition, while a
> `fastboot flash bbu-mmc` will write the image to the user area instead.

Have you seen this happen?

> 
> It's worth telling the user when this happens, so add a status message.

when a eMMC boot partition is registered for barebox update then the
update should really go there. When it goes into the user area instead
it's a bug. We shouldn't issue a warning then but deny the update and
fix the underlying bug.

Sascha

> 
> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
> ---
> v1 -> v2:
>   - print message in case barebox_update handler is not found
> ---
>  common/fastboot.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/common/fastboot.c b/common/fastboot.c
> index 330a06f5a32f..24eddf1cc3a5 100644
> --- a/common/fastboot.c
> +++ b/common/fastboot.c
> @@ -683,8 +683,14 @@ static void cb_flash(struct fastboot *fb, const char *cmd)
>  		};
>  
>  		handler = bbu_find_handler_by_device(data.devicefile);
> -		if (!handler)
> +		if (!handler) {
> +			fastboot_tx_print(fb, FASTBOOT_MSG_INFO,
> +					  "No suitable barebox_update handler found");
> +			fastboot_tx_print(fb, FASTBOOT_MSG_INFO,
> +					  "Falling back to raw copy to %s", filename);
> +
>  			goto copy;
> +		}
>  
>  		fastboot_tx_print(fb, FASTBOOT_MSG_INFO,
>  				  "This is a barebox image...");
> -- 
> 2.30.2
> 
> 
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 2/2] fastboot: inform user if barebox update falls back to raw copy
  2022-06-09 11:40   ` Sascha Hauer
@ 2022-06-09 12:02     ` Ahmad Fatoum
  2022-06-09 13:02       ` Sascha Hauer
  0 siblings, 1 reply; 5+ messages in thread
From: Ahmad Fatoum @ 2022-06-09 12:02 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: barebox

On 09.06.22 13:40, Sascha Hauer wrote:
> On Thu, Jun 09, 2022 at 01:17:03PM +0200, Ahmad Fatoum wrote:
>> Fastboot will fall back to a raw copy even for bbu- partitions if
>> no barebox_update was found or if support isn't compiled in.
>>
>> Coupled with eMMC boot partitions, this could lead to
>> `barebox_update -t mmc` updating the boot partition, while a
>> `fastboot flash bbu-mmc` will write the image to the user area instead.
> 
> Have you seen this happen?

Without patch 1/2 applied, this happened to me, yes, because
I failed to add the new filetype to filetype_is_barebox_image.

>> It's worth telling the user when this happens, so add a status message.
> 
> when a eMMC boot partition is registered for barebox update then the
> update should really go there. When it goes into the user area instead
> it's a bug. We shouldn't issue a warning then but deny the update and
> fix the underlying bug.

There's no generic flag to detect this. The device file is the same
for both eMMC boot and user handlers, but it depends on the barebox_update
handler what's done with it.

Cheers,
Ahmad
 
> Sascha
> 
>>
>> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
>> ---
>> v1 -> v2:
>>   - print message in case barebox_update handler is not found
>> ---
>>  common/fastboot.c | 8 +++++++-
>>  1 file changed, 7 insertions(+), 1 deletion(-)
>>
>> diff --git a/common/fastboot.c b/common/fastboot.c
>> index 330a06f5a32f..24eddf1cc3a5 100644
>> --- a/common/fastboot.c
>> +++ b/common/fastboot.c
>> @@ -683,8 +683,14 @@ static void cb_flash(struct fastboot *fb, const char *cmd)
>>  		};
>>  
>>  		handler = bbu_find_handler_by_device(data.devicefile);
>> -		if (!handler)
>> +		if (!handler) {
>> +			fastboot_tx_print(fb, FASTBOOT_MSG_INFO,
>> +					  "No suitable barebox_update handler found");
>> +			fastboot_tx_print(fb, FASTBOOT_MSG_INFO,
>> +					  "Falling back to raw copy to %s", filename);
>> +
>>  			goto copy;
>> +		}
>>  
>>  		fastboot_tx_print(fb, FASTBOOT_MSG_INFO,
>>  				  "This is a barebox image...");
>> -- 
>> 2.30.2
>>
>>
>> _______________________________________________
>> barebox mailing list
>> barebox@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/barebox
>>
> 


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 2/2] fastboot: inform user if barebox update falls back to raw copy
  2022-06-09 12:02     ` Ahmad Fatoum
@ 2022-06-09 13:02       ` Sascha Hauer
  0 siblings, 0 replies; 5+ messages in thread
From: Sascha Hauer @ 2022-06-09 13:02 UTC (permalink / raw)
  To: Ahmad Fatoum; +Cc: barebox

On Thu, Jun 09, 2022 at 02:02:47PM +0200, Ahmad Fatoum wrote:
> On 09.06.22 13:40, Sascha Hauer wrote:
> > On Thu, Jun 09, 2022 at 01:17:03PM +0200, Ahmad Fatoum wrote:
> >> Fastboot will fall back to a raw copy even for bbu- partitions if
> >> no barebox_update was found or if support isn't compiled in.
> >>
> >> Coupled with eMMC boot partitions, this could lead to
> >> `barebox_update -t mmc` updating the boot partition, while a
> >> `fastboot flash bbu-mmc` will write the image to the user area instead.
> > 
> > Have you seen this happen?
> 
> Without patch 1/2 applied, this happened to me, yes, because
> I failed to add the new filetype to filetype_is_barebox_image.
> 
> >> It's worth telling the user when this happens, so add a status message.
> > 
> > when a eMMC boot partition is registered for barebox update then the
> > update should really go there. When it goes into the user area instead
> > it's a bug. We shouldn't issue a warning then but deny the update and
> > fix the underlying bug.
> 
> There's no generic flag to detect this. The device file is the same
> for both eMMC boot and user handlers, but it depends on the barebox_update
> handler what's done with it.

With patch 1/2 applied there are now two cases how we can get to the
warning:

- The partition is bbu-mmc. In this case it's a bug when we cannot find
  the barebox update handler we have registered. We can detect that and
  deny the update.
- The partition is a plain mmc partition. In that case either we have
  a barebox update handler registered in which case it will be used,
  or we don't have one registered, in which case it's perfectly fine
  to just copy to the raw device. No warning needed.

Sascha

> 
> Cheers,
> Ahmad
>  
> > Sascha
> > 
> >>
> >> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
> >> ---
> >> v1 -> v2:
> >>   - print message in case barebox_update handler is not found
> >> ---
> >>  common/fastboot.c | 8 +++++++-
> >>  1 file changed, 7 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/common/fastboot.c b/common/fastboot.c
> >> index 330a06f5a32f..24eddf1cc3a5 100644
> >> --- a/common/fastboot.c
> >> +++ b/common/fastboot.c
> >> @@ -683,8 +683,14 @@ static void cb_flash(struct fastboot *fb, const char *cmd)
> >>  		};
> >>  
> >>  		handler = bbu_find_handler_by_device(data.devicefile);
> >> -		if (!handler)
> >> +		if (!handler) {
> >> +			fastboot_tx_print(fb, FASTBOOT_MSG_INFO,
> >> +					  "No suitable barebox_update handler found");
> >> +			fastboot_tx_print(fb, FASTBOOT_MSG_INFO,
> >> +					  "Falling back to raw copy to %s", filename);
> >> +
> >>  			goto copy;
> >> +		}
> >>  
> >>  		fastboot_tx_print(fb, FASTBOOT_MSG_INFO,
> >>  				  "This is a barebox image...");
> >> -- 
> >> 2.30.2
> >>
> >>
> >> _______________________________________________
> >> barebox mailing list
> >> barebox@lists.infradead.org
> >> http://lists.infradead.org/mailman/listinfo/barebox
> >>
> > 
> 
> 
> -- 
> Pengutronix e.K.                           |                             |
> Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
> 31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-06-09 13:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-09 11:17 [PATCH v2 1/2] fastboot: always try barebox_update handler for bbu- partitions Ahmad Fatoum
2022-06-09 11:17 ` [PATCH v2 2/2] fastboot: inform user if barebox update falls back to raw copy Ahmad Fatoum
2022-06-09 11:40   ` Sascha Hauer
2022-06-09 12:02     ` Ahmad Fatoum
2022-06-09 13:02       ` Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox