Re: [PATCH 2/6] i915/gvt/kvm: a NULL ->mm does not mean a thread is a kthread

From: Christoph Hellwig
Date: Tue Apr 14 2020 - 03:00:23 EST


On Mon, Apr 13, 2020 at 08:04:10PM -0400, Yan Zhao wrote:
> > I can't think of another way for a kernel thread to have a mm indeed.
> for example, before calling to vfio_dma_rw(), a kernel thread has already
> called use_mm(), then its current->mm is not null, and it has flag
> PF_KTHREAD.
> in this case, we just want to allow the copy_to_user() directly if
> current->mm == mm, rather than call another use_mm() again.
>
> do you think it makes sense?

I mean no other way than using use_mm. That being said nesting
potentional use_mm callers sounds like a rather bad idea, and we
should avoid that.