On Tue, 2015-24-11 at 10:56:18 UTC, Vaibhav Jain wrote: > Presently when a user-space process issues CXL_IOCTL_START_WORK ioctl we > store the pid of the current task_struct and use it to get pointer to > the mm_struct of the process, while processing page or segment faults > from the capi card. However this causes issues when the thread that had > originally issued the start-work ioctl exits in which case the stored > pid is no more valid and the cxl driver is unable to handle faults as > the mm_struct corresponding to process is no more accessible. > > This patch fixes this issue by using the mm_struct of the next alive > task in the thread group. This is done by iterating over all the tasks > in the thread group starting from thread group leader and calling > get_task_mm on each one of them. When a valid mm_struct is obtained the > pid of the associated task is stored in the context replacing the > exiting one for handling future faults. > > The patch introduces a new function named get_mem_context that checks if > the current task pointed to by ctx->pid is dead? If yes it performs the > steps described above. Also a new variable cxl_context.glpid is > introduced which stores the pid of the thread group leader associated > with the context owning task. > > Reported-by: Matthew R. Ochs <mro...@linux.vnet.ibm.com> > Reported-by: Frank Haverkamp <haver...@de.ibm.com> > Suggested-by: Ian Munsie <imun...@au1.ibm.com> > Signed-off-by: Vaibhav Jain <vaib...@linux.vnet.ibm.com> > Acked-by: Ian Munsie <imun...@au1.ibm.com> > Reviewed-by: Frederic Barrat <fbar...@linux.vnet.ibm.com> > Reviewed-by: Matthew R. Ochs <mro...@linux.vnet.ibm.com>
Applied to powerpc next, thanks. https://git.kernel.org/powerpc/c/7b8ad495d59280b634a7b546f4 cheers _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev