Messages in this thread | | | Date | Thu, 30 Apr 2020 12:16:27 -0400 | From | Steven Rostedt <> | Subject | Re: [RFC][PATCH] x86/mm: Sync all vmalloc mappings before text_poke() |
| |
On Thu, 30 Apr 2020 11:20:15 -0400 (EDT) Mathieu Desnoyers <mathieu.desnoyers@efficios.com> wrote:
> > The right fix is to call vmalloc_sync_mappings() right after allocating > > tracing or perf buffers via v[zm]alloc(). > > Either right after allocation, or right before making the vmalloc'd data > structure visible to the instrumentation. In the case of the pid filter, > that would be the rcu_assign_pointer() which publishes the new pid filter > table. > > As long as vmalloc_sync_mappings() is performed somewhere *between* allocation > and publishing the pointer for instrumentation, it's fine. > > I'll let Steven decide on which approach works best for him.
As stated in the other email, I don't see it having anything to do with vmalloc, but with the per_cpu() allocation. I'll test this theory out by not even allocating the pid masks and touching the per cpu data at every event to see if it crashes.
-- Steve
| |