[U-Boot] [PATCH] cmd: usb_mass_storage: add protection for block_dev
Patrick DELAUNAY
patrick.delaunay at st.com
Fri Sep 21 14:01:28 UTC 2018
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.
Regards
Patrick
More information about the U-Boot
mailing list