[U-Boot] [PATCH] cmd_sf: Fix problem with "sf update" and unaligned length

Stefan Roese sr at denx.de
Mon Jan 12 08:27:21 CET 2015


Hi Wolfgang,

On 12.01.2015 08:17, Wolfgang Denk wrote:
>> The new code is even simpler and copies the source data into the temp
>> buffer and now uses the temp buffer to write the complete sector. So
>> only one SPI sector write is used now instead of 2 in the old version.
> ...
>
>>   	if (len != flash->sector_size) {
>> -		/* Rewrite the original data to the end of the sector */
>> -		if (spi_flash_write(flash, offset + len,
>> -				    flash->sector_size - len, &cmp_buf[len]))
>> -			return "write";
>> +		memcpy(cmp_buf, buf, len);
>> +		ptr = cmp_buf;
>>   	}
>
> Should we add a  memset(buf, 0, sizeof(buf))  before the memcpy() to
> prevent information from earlier activities to leak?

"buf" points to the new data to be written into the flash. We're 
overwriting the first "len" bytes of "cmp_buf" with this data.

I don't see why we should erase anything there. Perhaps I'm missing 
something though.

Thanks,
Stefan



More information about the U-Boot mailing list