Messages in this thread | | | Date | Mon, 31 Oct 2022 13:48:56 +0000 | Subject | Re: [PATCH v2 1/1] perf arm64: Send pointer auth masks to ring buffer | From | James Clark <> |
| |
On 27/10/2022 18:20, Peter Zijlstra wrote: > On Tue, Oct 25, 2022 at 04:28:12PM +0100, James Clark wrote: > >>> Why do we want the same mask repeated over and over with each sample; >>> should this not be part of the address space (side-band) data? >> >> You are probably right that it could be done that way. The reason that >> we did it this way was to be consistent with ptrace feature [1] where it >> is delivered to userspace on a per-process basis. And there is also a >> prctl for the enabled key types [2] which can be changed dynamically. >> Particularly for the last reason is why it was done per sample. >> >> Having said that, the enabled keys field is not used by perf, only the >> mask is used, so I can drop the per sample data until enabled keys is >> needed, which may be never. >> >> I'm going to assume that perf shouldn't use ptrace because of >> permissions and conflicts with debuggers, so I could put the mask >> somewhere like PERF_RECORD_FORK instead of per sample. > > Yeah, or create an new RECORD type which you can also send around at > prctl() time. > > The only thing that's needed on top of that is exposing the mask > somewhere in /proc for existing tasks; which is what perf also uses to > syntesize RECORD_MMAP events on startup etc.. >
Hmm ok, in that case I can just add the /proc interface for now because the mask won't change and we can add the new record type at the point it's needed in the future.
Thanks for the feedback.
| |