struct compat_ucontext * is a 64-bit pointer, so we need to use a
compat_uptr_t instead to avoid declaring a structure incompatible with
what AArch32 userspace expects.
Cc: <stable@vger.kernel.org>
Reported-by: Edmund Grimley-Evans <Edmund.Grimley-Evans@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
 
 struct compat_ucontext {
        compat_ulong_t                  uc_flags;
-       struct compat_ucontext          *uc_link;
+       compat_uptr_t                   uc_link;
        compat_stack_t                  uc_stack;
        struct compat_sigcontext        uc_mcontext;
        compat_sigset_t                 uc_sigmask;
        err |= copy_siginfo_to_user32(&frame->info, info);
 
        __put_user_error(0, &frame->sig.uc.uc_flags, err);
-       __put_user_error(NULL, &frame->sig.uc.uc_link, err);
+       __put_user_error(0, &frame->sig.uc.uc_link, err);
 
        memset(&stack, 0, sizeof(stack));
        stack.ss_sp = (compat_uptr_t)current->sas_ss_sp;