From: Pavel Emelyanov The function is question gets the pid from sysctl table, so this one is a virtual pid, i.e. the pid of a task as it is seen from inside a namespace. So the find_task_by_vpid() must be used here. Signed-off-by: Pavel Emelyanov Cc: "Eric W. Biederman" Cc: David Howells Signed-off-by: Andrew Morton --- arch/frv/mm/mmu-context.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN arch/frv/mm/mmu-context.c~frv-use-find_task_by_vpid-in-cxn_pin_by_pid arch/frv/mm/mmu-context.c --- a/arch/frv/mm/mmu-context.c~frv-use-find_task_by_vpid-in-cxn_pin_by_pid +++ a/arch/frv/mm/mmu-context.c @@ -181,7 +181,7 @@ int cxn_pin_by_pid(pid_t pid) /* get a handle on the mm_struct */ read_lock(&tasklist_lock); - tsk = find_task_by_pid(pid); + tsk = find_task_by_vpid(pid); if (tsk) { ret = -EINVAL; _