[U-Boot] [PATCH 1/2] mmc: add boundary check for mmc operation

Lei Wen adrian.wenl at gmail.com
Mon Sep 13 11:08:41 CEST 2010


On Mon, Sep 13, 2010 at 4:52 PM, Sergei Shtylyov <sshtylyov at mvista.com> wrote:
> Hello.
>
> On 13-09-2010 8:06, Lei Wen wrote:
>
>> Signed-off-by: Lei Wen<leiwen at marvell.com>
>> ---
>>  drivers/mmc/mmc.c |   10 ++++++++++
>>  1 files changed, 10 insertions(+), 0 deletions(-)
>
>> diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
>> index cf4ea16..5ff1c54 100644
>> --- a/drivers/mmc/mmc.c
>> +++ b/drivers/mmc/mmc.c
>> @@ -92,6 +92,11 @@ mmc_bwrite(int dev_num, ulong start, lbaint_t blkcnt,
>> const void*src)
>>
>>        blklen = mmc->write_bl_len;
>>
>> +       if (start > mmc->block_dev.lba || (start + blkcnt) >
>> mmc->block_dev.lba) {
>
>   The second comparison should suffice, no? Also, parens are not necessary.
Em, that is correct.
>
>> +               puts("operation exceed mmc boundary..\n
>
>> +                  This devices only have 0x%x blocks\n",
>> mmc->block_dev.lba);
>
>   Where's the cloging quote? String literals are not broken up like this --
> this adds extra spaces to them. Should be:

I see...
Thanks,
Lei

>
>                puts("operation exceed mmc boundary..\n"
>                     "This devices only have 0x%x blocks\n",
> mmc->block_dev.lba);
>
>> +               return 0;
>> +       }
>>        err = mmc_set_blocklen(mmc, mmc->write_bl_len);
>>
>>        if (err) {
>> @@ -219,6 +224,11 @@ static ulong mmc_bread(int dev_num, ulong start,
>> lbaint_t blkcnt, void *dst)
>>        if (!mmc)
>>                return 0;
>>
>> +       if (start > mmc->block_dev.lba || (start + blkcnt) >
>> mmc->block_dev.lba) {
>> +               puts("operation exceed mmc boundary..\n
>> +                    This devices only have 0x%x blocks\n",
>> mmc->block_dev.lba);
>
>   Same comments here...
>
> WBR, Sergei
>


More information about the U-Boot mailing list