Subject: [PATCH] arm64: ptrace: fix empty registers set in prstatus of aarch32 process core

From: [email-masked] (Will Deacon)
Date: Tue, 3 Jun 2014 17:33:41 +0100

On Tue, Jun 03, 2014 at 05:27:24PM +0100, Victor Kamensky wrote:
> Hi Will,
> 
> On 3 June 2014 07:46, Will Deacon <[email-masked]> wrote:
> > Hi Victor,
> >
> > Thanks for both the fix and the detailed explanation!
> >
> > On Tue, Jun 03, 2014 at 06:46:09AM +0100, Victor Kamensky wrote:
> >> Currently core file of aarch32 process prstatus note has empty
> >> registers set. As result aarch32 core files create by V8 kernel are
> >> not very useful.
> >>
> >> It happens because compat_gpr_get and compat_gpr_set functions can
> >> copy registers values to/from either kbuf or ubuf. ELF core file
> >> collection function fill_thread_core_info calls compat_gpr_get
> >> with kbuf set and ubuf set to 0. But current compat_gpr_get and
> >> compat_gpr_set function handle copy to/from only ubuf case.
> >>
> >> Fix is to handle kbuf and ubuf as two separate cases in similar
> >> way as other functions like user_regset_copyout, user_regset_copyin do.
> >
> > An alternative is to use set_fs when kbuf is set, then use
> > copy_{to,from}_user for everything. However, given how ugly I find
> > set_fs to start with, your patch looks good to me:
> >
> >   Acked-by: Will Deacon <[email-masked]>
> 
> Thank you for review. Please forgive my naive question, I've tried to
> google it, but does not look I do a good job. Is there any special thing
> I need to do, so you or Catalin would pick this up? I've posted patches
> to Russell's patch system before but never dealt with arm64 patches.
> 
> Or I just need to repost the patch to linux-arm-kernel with your
> 'Acked-by'  and Cc: stable at vger.kernel.org in it?

Yes, please. Just repost the patch with those tags and we'll pick it up
after the merge window. If you notice that we've forgotten, please give us a
prod!

Will