mirror of https://gitee.com/openkylin/linux.git
Blackfin: fix length checking in kgdb_ebin2mem
The kgdb_ebin2mem() was decrementing the count variable to do parsing, but then later still tries to use it based on its original meaning. So leave it untouched and use a different variable to walk the memory. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
11aca0e735
commit
0a99061426
|
@ -587,19 +587,18 @@ int kgdb_ebin2mem(char *buf, char *mem, int count)
|
|||
unsigned short *mmr16;
|
||||
unsigned long *mmr32;
|
||||
int err;
|
||||
int size = 0;
|
||||
int size;
|
||||
int cpu = raw_smp_processor_id();
|
||||
|
||||
tmp_old = tmp_new = buf;
|
||||
|
||||
while (count-- > 0) {
|
||||
for (size = 0; size < count; ++size) {
|
||||
if (*tmp_old == 0x7d)
|
||||
*tmp_new = *(++tmp_old) ^ 0x20;
|
||||
else
|
||||
*tmp_new = *tmp_old;
|
||||
tmp_new++;
|
||||
tmp_old++;
|
||||
size++;
|
||||
}
|
||||
|
||||
err = validate_memory_access_address((unsigned long)mem, size);
|
||||
|
|
Loading…
Reference in New Issue