mirror of https://gitee.com/openkylin/linux.git
[POWERPC] spufs: Correctly calculate the size of the local-store to dump
The routine to dump the local store, __spufs_mem_read(), does not take the spu_lslr_RW value into account - so we shouldn't check it when we're calculating the size either. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Jeremy Kerr <jk@ozlabs.org> Acked-by: Arnd Bergmann <arnd.bergmann@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
d464fb4410
commit
59000b53c7
|
@ -66,11 +66,6 @@ static int spufs_dump_seek(struct file *file, loff_t off)
|
|||
return 1;
|
||||
}
|
||||
|
||||
static u64 ctx_ls_size(struct spu_context *ctx)
|
||||
{
|
||||
return ctx->csa.priv2.spu_lslr_RW + 1;
|
||||
}
|
||||
|
||||
static int spufs_ctx_note_size(struct spu_context *ctx, int dfd)
|
||||
{
|
||||
int i, sz, total = 0;
|
||||
|
@ -85,10 +80,7 @@ static int spufs_ctx_note_size(struct spu_context *ctx, int dfd)
|
|||
|
||||
total += sizeof(struct elf_note);
|
||||
total += roundup(strlen(fullname) + 1, 4);
|
||||
if (!strcmp(name, "mem"))
|
||||
total += roundup(ctx_ls_size(ctx), 4);
|
||||
else
|
||||
total += roundup(sz, 4);
|
||||
total += roundup(sz, 4);
|
||||
}
|
||||
|
||||
return total;
|
||||
|
@ -164,11 +156,7 @@ static void spufs_arch_write_note(struct spu_context *ctx, int i,
|
|||
return;
|
||||
|
||||
name = spufs_coredump_read[i].name;
|
||||
|
||||
if (!strcmp(name, "mem"))
|
||||
sz = ctx_ls_size(ctx);
|
||||
else
|
||||
sz = spufs_coredump_read[i].size;
|
||||
sz = spufs_coredump_read[i].size;
|
||||
|
||||
sprintf(fullname, "SPU/%d/%s", dfd, name);
|
||||
en.n_namesz = strlen(fullname) + 1;
|
||||
|
|
Loading…
Reference in New Issue