On Tue, 2016-01-12 at 13:29 +0000, David Laight wrote: > From: Michael Ellerman > > Sent: 11 January 2016 09:14 > > 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. > > I don't even claim to understand the linux model for handling process > address maps, nor what the cxl driver is doing, but the above looks > more than dodgy.
Thanks for reviewing it! cheers _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev