From: Leo Yan <leo.yan@linux.dev>
To: Julien Meunier <julien.meunier@nokia.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>,
Mike Leach <mike.leach@linaro.org>,
James Clark <james.clark@linaro.org>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
stable@vger.kernel.org, coresight@lists.linaro.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, leo.yan@arm.com
Subject: Re: [PATCH] coresight: etm4x: Fix PID tracing when perf is run in an init PID namespace
Date: Tue, 8 Oct 2024 04:05:28 +0800 [thread overview]
Message-ID: <20241007200528.GB30834@debian-dev> (raw)
In-Reply-To: <20240925131357.9468-1-julien.meunier@nokia.com>
Hi Julien,
On Wed, Sep 25, 2024 at 03:13:56PM +0200, Julien Meunier wrote:
> The previous implementation limited the tracing capabilities when perf
> was run in the init PID namespace, making it impossible to trace
> applications in non-init PID namespaces.
>
> This update improves the tracing process by verifying the event owner.
> This allows us to determine whether the user has the necessary
> permissions to trace the application.
The original commit aab473867fed is not for constraint permission. It is
about PID namespace mismatching issue.
E.g. Perf runs in non-root namespace, thus it records process info in the
non-root PID namespace. On the other hand, Arm CoreSight traces PID for
root namespace, as a result, it will lead mess when decoding.
With this change, I am not convinced that Arm CoreSight can trace PID for
non-root PID namespace. Seems to me, the concerned issue is still existed
- it might cause PID mismatching issue between hardware trace data and
Perf's process info.
I think we need to check using the software context switch event. With
more clear idea, I will get back at here.
Thanks,
Leo
> Cc: stable@vger.kernel.org
> Fixes: aab473867fed ("coresight: etm4x: Don't trace PID for non-root PID namespace")
> Signed-off-by: Julien Meunier <julien.meunier@nokia.com>
> ---
> drivers/hwtracing/coresight/coresight-etm4x-core.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c b/drivers/hwtracing/coresight/coresight-etm4x-core.c
> index bf01f01964cf..8365307b1aec 100644
> --- a/drivers/hwtracing/coresight/coresight-etm4x-core.c
> +++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c
> @@ -695,7 +695,7 @@ static int etm4_parse_event_config(struct coresight_device *csdev,
>
> /* Only trace contextID when runs in root PID namespace */
> if ((attr->config & BIT(ETM_OPT_CTXTID)) &&
> - task_is_in_init_pid_ns(current))
> + task_is_in_init_pid_ns(event->owner))
> /* bit[6], Context ID tracing bit */
> config->cfg |= TRCCONFIGR_CID;
>
> @@ -710,7 +710,7 @@ static int etm4_parse_event_config(struct coresight_device *csdev,
> goto out;
> }
> /* Only trace virtual contextID when runs in root PID namespace */
> - if (task_is_in_init_pid_ns(current))
> + if (task_is_in_init_pid_ns(event->owner))
> config->cfg |= TRCCONFIGR_VMID | TRCCONFIGR_VMIDOPT;
> }
>
> --
> 2.34.1
>
>
next prev parent reply other threads:[~2024-10-07 20:05 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-25 13:13 [PATCH] coresight: etm4x: Fix PID tracing when perf is run in an init PID namespace Julien Meunier
2024-10-07 12:38 ` Suzuki K Poulose
2024-10-07 20:05 ` Leo Yan [this message]
2024-10-08 6:52 ` Leo Yan
2024-10-08 9:59 ` Suzuki K Poulose
2024-10-08 13:18 ` Julien Meunier
2024-10-08 20:02 ` [PATCH v2] " Julien Meunier
2024-10-13 14:55 ` Leo Yan
2024-10-21 12:31 ` Suzuki K Poulose
2024-10-25 17:56 ` Julien Meunier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241007200528.GB30834@debian-dev \
--to=leo.yan@linux.dev \
--cc=alexander.shishkin@linux.intel.com \
--cc=coresight@lists.linaro.org \
--cc=james.clark@linaro.org \
--cc=julien.meunier@nokia.com \
--cc=leo.yan@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mike.leach@linaro.org \
--cc=stable@vger.kernel.org \
--cc=suzuki.poulose@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.