Re: [PATCH 1/1] futex: check PF_KTHREAD rather than !p->mm to filter out kthreads

From: Peter Zijlstra
Date: Wed Feb 04 2015 - 05:48:49 EST


On Mon, Feb 02, 2015 at 03:05:36PM +0100, Oleg Nesterov wrote:
> attach_to_pi_owner() checks p->mm to prevent attaching to kthreads and
> this looks doubly wrong:
>
> 1. It should actually check PF_KTHREAD, kthread can do use_mm().
>
> 2. If this task is not kthread and it is actually the lock owner we can
> wrongly return -EPERM instead of -ESRCH or retry-if-EAGAIN.
>
> And note that this wrong EPERM is the likely case unless the exiting
> task is (auto)reaped quickly, we check ->mm before PF_EXITING.
>
> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>

Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/