diff mbox series

[U-Boot] cmd: usb_mass_storage: add protection for block_dev

Message ID 1508335401-13198-1-git-send-email-patrick.delaunay@st.com
State Superseded
Delegated to: Marek Vasut
Headers show
Series [U-Boot] cmd: usb_mass_storage: add protection for block_dev | expand

Commit Message

Patrick DELAUNAY Oct. 18, 2017, 2:03 p.m. UTC
solve data abort for the command "ums 0 ubi 0"
because result of case blk_get_device_part_str() result is OK
but with block_dev = 0 when CONFIG_CMD_UBIFS is activate and
ubi volume is mounted

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
---

 cmd/usb_mass_storage.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Tom Rini Oct. 18, 2017, 4:27 p.m. UTC | #1
On Wed, Oct 18, 2017 at 04:03:21PM +0200, Patrick Delaunay wrote:

> solve data abort for the command "ums 0 ubi 0"
> because result of case blk_get_device_part_str() result is OK
> but with block_dev = 0 when CONFIG_CMD_UBIFS is activate and
> ubi volume is mounted
> 
> Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
> ---
> 
>  cmd/usb_mass_storage.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/cmd/usb_mass_storage.c b/cmd/usb_mass_storage.c
> index cfeecb7..c0563ca 100644
> --- a/cmd/usb_mass_storage.c
> +++ b/cmd/usb_mass_storage.c
> @@ -85,7 +85,7 @@ static int ums_init(const char *devtype, const char *devnums_part_str)
>  			partnum = 0;
>  
>  		/* f_mass_storage.c assumes SECTOR_SIZE sectors */
> -		if (block_dev->blksz != SECTOR_SIZE)
> +		if (!block_dev || block_dev->blksz != SECTOR_SIZE)
>  			goto cleanup;
>  
>  		ums_new = realloc(ums, (ums_count + 1) * sizeof(*ums));

Adding in Marek..
Marek Vasut Oct. 18, 2017, 8:22 p.m. UTC | #2
On 10/18/2017 06:27 PM, Tom Rini wrote:
> On Wed, Oct 18, 2017 at 04:03:21PM +0200, Patrick Delaunay wrote:
> 
>> solve data abort for the command "ums 0 ubi 0"
>> because result of case blk_get_device_part_str() result is OK
>> but with block_dev = 0 when CONFIG_CMD_UBIFS is activate and
>> ubi volume is mounted
>>
>> Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>

This is UMS, so Lukasz ... please review _thoroughly_ , as I suspect
there might be some weird underlying issue .

>> ---
>>
>>  cmd/usb_mass_storage.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/cmd/usb_mass_storage.c b/cmd/usb_mass_storage.c
>> index cfeecb7..c0563ca 100644
>> --- a/cmd/usb_mass_storage.c
>> +++ b/cmd/usb_mass_storage.c
>> @@ -85,7 +85,7 @@ static int ums_init(const char *devtype, const char *devnums_part_str)
>>  			partnum = 0;
>>  
>>  		/* f_mass_storage.c assumes SECTOR_SIZE sectors */
>> -		if (block_dev->blksz != SECTOR_SIZE)
>> +		if (!block_dev || block_dev->blksz != SECTOR_SIZE)
>>  			goto cleanup;
>>  
>>  		ums_new = realloc(ums, (ums_count + 1) * sizeof(*ums));
> 
> Adding in Marek..
>
diff mbox series

Patch

diff --git a/cmd/usb_mass_storage.c b/cmd/usb_mass_storage.c
index cfeecb7..c0563ca 100644
--- a/cmd/usb_mass_storage.c
+++ b/cmd/usb_mass_storage.c
@@ -85,7 +85,7 @@  static int ums_init(const char *devtype, const char *devnums_part_str)
 			partnum = 0;
 
 		/* f_mass_storage.c assumes SECTOR_SIZE sectors */
-		if (block_dev->blksz != SECTOR_SIZE)
+		if (!block_dev || block_dev->blksz != SECTOR_SIZE)
 			goto cleanup;
 
 		ums_new = realloc(ums, (ums_count + 1) * sizeof(*ums));