[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