Re: tracing/user_events: Tracking broken status and feedback

From: Beau Belgrave
Date: Thu Jul 28 2022 - 20:02:48 EST


On Mon, Jul 25, 2022 at 04:19:00PM -0700, Beau Belgrave wrote:
> To help keep track of what is required to remove the broken status from
> user_events I am starting this thread. I would like to use this thread
> to provide status on the work that has been done so far and to have a
> discussion about when the broken status can be removed.
>
> Feedback threads from 5.18 version of user_events:
> 1. https://lore.kernel.org/all/2059213643.196683.1648499088753.JavaMail.zimbra@xxxxxxxxxxxx/
> 2. https://lore.kernel.org/all/1651771383.54437.1652370439159.JavaMail.zimbra@xxxxxxxxxxxx/
>
> All the feedback has been addressed in the patchsets 1 and 2 (see below).
> Here are the details:
>
> 1. Use bits vs bytes in event enabled memory mappings.
> Fixed in patchset 1.
>
> 2. Pack ABI structures where size is used.
> Fixed in patchset 1.
>
> 3. Don't trust user strings for string formatting.
> Fixed in patchset 1.
>
> 4. Move to refcount APIs vs atomic for tracking references.
> Fixed in patchset 1.
>
> 5. Ensure event_mutex is held during registration.
> Fixed in patchset 2.
>
> With these, I believe I have addressed all issues to remove the
> "broken status".
>
> Here is the list of additional feedback (and status) that I don't believe
> should have a bearing on removing the "broken status":
>
> 1. Kernel vs user tracers in ABI.
> This is not done, the plan is to build a libtracepoint library that allows
> working with both kernel and user tracers in user programs. Steven is
> working on this at the moment. I don't believe this is required to remove
> the broken status, but it will help prove the ABI by having it.
>
> No patchset yet.
>
> 2. Container/namespace isolation of events.
> user_events utilizes tracefs for user facing files in the ABI. I've created
> an RFC patchset showing how if tracefs offered an isolated directory
> structure per-namespace the user_events ABI is unaffected. This is true for
> other ABIs that tracefs hosts, if they would like to integrate. I don't
> believe this is required to remove the broken status, however, it's useful
> to have to see how the ABI is unaffected while we work toward enabling
> isolation within tracing.
>
> See patchset 3.
>
> Patchsets:
> 1. https://lore.kernel.org/all/20220425184631.2068-1-beaub@xxxxxxxxxxxxxxxxxxx/
> 2. https://lore.kernel.org/all/20220328223225.1992-1-beaub@xxxxxxxxxxxxxxxxxxx/
> 3. https://lore.kernel.org/all/20220707215828.2021-1-beaub@xxxxxxxxxxxxxxxxxxx/
>
> Thanks,
> -Beau

Steven had feedback on patchset 1 here:
https://lore.kernel.org/all/20220726180115.69320865@xxxxxxxxxxxxxxxxxx/

I've updated patchset 1 and 3 to address this feedback.

Updated patchsets:
1. https://lore.kernel.org/all/20220728233309.1896-1-beaub@xxxxxxxxxxxxxxxxxxx/
3. https://lore.kernel.org/all/20220728235241.2249-1-beaub@xxxxxxxxxxxxxxxxxxx/

Thanks,
-Beau