[PATCH 2/4] pid: Export find_task_by_vpid for use in external modules

Eric W. Biederman ebiederm at xmission.com
Tue May 8 18:23:19 PDT 2018


Kim Phillips <kim.phillips at arm.com> writes:

> This patch is in the context of allowing the Coresight h/w
> trace driver suite to be loaded as modules.  Coresight uses
> find_task_by_vpid when running in direct capture mode (via sysfs)
> when getting/setting the context ID comparator to trigger on
> (/sys/bus/coresight/devices/<x>.etm/ctxid_pid).

Nacked-by: "Eric W. Biederman" <ebiederm at xmission.com>

There is no way to implement a sysfs file that takes a pid correctly.
Don't do it.

Pids are tied to pid namespaces and sysfs deliberately does not do
anything remotely resembly a pid namespace.

Eric


> Cc: Mathieu Poirier <mathieu.poirier at linaro.org>
> Cc: Andrew Morton <akpm at linux-foundation.org>
> Cc: Oleg Nesterov <oleg at redhat.com>
> Cc: Gargi Sharma <gs051095 at gmail.com>
> Cc: Rik van Riel <riel at redhat.com>
> Cc: Pavel Tatashin <pasha.tatashin at oracle.com>
> Cc: Kefeng Wang <wangkefeng.wang at huawei.com>
> Cc: Kirill Tkhai <ktkhai at virtuozzo.com>
> Cc: Mike Rapoport <rppt at linux.vnet.ibm.com>
> Cc: David Howells <dhowells at redhat.com>
> Cc: "Eric W. Biederman" <ebiederm at xmission.com>
> Signed-off-by: Kim Phillips <kim.phillips at arm.com>
> ---
> Current CoreSight callsite:
>
> https://lxr.missinglinkelectronics.com/linux/include/linux/coresight.h#L285
>
> A quick look didn't find anything, but if Coresight needs to do
> something differently, please comment.
>
>  kernel/pid.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/kernel/pid.c b/kernel/pid.c
> index 157fe4b19971..92b1b623f3e0 100644
> --- a/kernel/pid.c
> +++ b/kernel/pid.c
> @@ -342,6 +342,7 @@ struct task_struct *find_task_by_vpid(pid_t vnr)
>  {
>  	return find_task_by_pid_ns(vnr, task_active_pid_ns(current));
>  }
> +EXPORT_SYMBOL_GPL(find_task_by_vpid);
>  
>  struct task_struct *find_get_task_by_vpid(pid_t nr)
>  {



More information about the linux-arm-kernel mailing list