> > +static void notify_process(pid_t pid, u64 fault_addr)> +{> + int rc;> + struct kernel_siginfo info;> +> + memset(&info, 0, sizeof(info));> +> + info.si_signo = SIGSEGV;> + info.si_errno = EFAULT;> + info.si_code = SEGV_MAPERR;> +> + info.si_addr = (void *)fault_addr;> + rcu_read_lock();> + rc
"Linuxppc-dev"
wrote on 11/27/2019 12:46:09 AM:
> >
> > +static void notify_process(pid_t pid, u64 fault_addr)
> > +{
> > + int rc;
> > + struct kernel_siginfo info;
> > +
> > + memset(&info, 0, sizeof(info));
> > +
> > + info.si_signo = SIGSEGV;
> > + info.si_errno = EFAULT;
> > +
>
> +static void notify_process(pid_t pid, u64 fault_addr)
> +{
> + int rc;
> + struct kernel_siginfo info;
> +
> + memset(&info, 0, sizeof(info));
> +
> + info.si_signo = SIGSEGV;
> + info.si_errno = EFAULT;
> + info.si_code = SEGV_MAPERR;
> +
> + info.si_addr = (void
For each fault CRB, update fault address in CRB (fault_storage_addr)
and translation error status in CSB so that user space touch the
fault address and resend the request. If the user space passed invalid
CSB address send signal to process with SIGSEGV.
Signed-off-by: Sukadev Bhattiprolu
Signed