[U-Boot] [PATCH] cmd: usb_mass_storage: add protection for block_dev
Marek Vasut
marex at denx.de
Fri Sep 21 14:07:56 UTC 2018
On 09/21/2018 04:01 PM, Patrick DELAUNAY wrote:
> Hi Marek and Lucaz
>
> I have found this old patch: See https://lists.denx.de/pipermail/u-boot/2017-October/309716.html
>
> On 10/18/2017 10:22 PM, Marek Vasut-3 wrote:
>
>> 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 <[hidden email]>
>
>> 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..
>>>
>> --
>> Best regards,
>> Marek Vasut
>
> Do you think that this patch is needed.
> I check and the issue is still present on U-Boot v2018.09 :
>
> STM32MP> ubi part UBI
> STM32MP> ubifsmount ubi0:boot
> STM32MP> ums 0 ubi 0
> data abort
> pc : [<ffc60abc>] lr : [<ffc60ab3>]
> reloc pc : [<c0110abc>] lr : [<c0110ab3>]
> sp : fdc3e460 ip : fdc3e518 fp : fdcf06a8
> r10: fdcf06b8 r9 : fdc4eed8 r8 : 00000000
> r7 : ffce3d84 r6 : fdcf0740 r5 : fdcf0740 r4 : ffce3d88
> r3 : 00000000 r2 : 00000000 r1 : 0000003a r0 : 00000000
> Flags: nZCv IRQs off FIQs off Mode SVC_32
> Code: f04f4628 9b06fd2a bf082800 0800f04f (f5b3695b)
> Resetting CPU ...
>
> Even If the command is invalid, I think that data abort should be avoid.
I think so too, send an updated patch please.
--
Best regards,
Marek Vasut
More information about the U-Boot
mailing list