Messages in this thread | | | Date | Fri, 4 Jun 2021 11:06:37 -0700 | From | Kees Cook <> | Subject | Re: [PATCH v3 1/1] pgo: Fix allocate_node() v2 |
| |
On Fri, Jun 04, 2021 at 07:58:20PM +0300, Jarmo Tiitto wrote: > When clang instrumentation eventually calls allocate_node() > the struct llvm_prf_data *p argument tells us from what section > we should reserve the vnode: It either points into vmlinux's > core __llvm_prf_data section or some loaded module's > __llvm_prf_data section. > > But since we don't have access to corresponding > __llvm_prf_vnds section(s) for any module, the function > should return just NULL and ignore any profiling attempts > from modules for now. > > Signed-off-by: Jarmo Tiitto <jarmo.tiitto@gmail.com> > --- > Based on Kees and others feedback here is v3 patch > that clarifies why the current checks in allocate_node() > are flawed. I did fair amount of KGDB time on it. > > The commit is based on kees/for-next/clang/features tree, > hopefully this is ok. Should I have based it on linux-next > instead? > > I grep -R'd where the memory_contains() can be found and it is only > found in #include <asm-generic/sections.h>
That's true, but the way to use "asm-generic" is to include the top-level "asm" file, so that architectures can override things as needed.
> I cross my fingers and await if this is my first accepted patch. :-)
I tweaked it a bit and applied it (see the separate email).
Thank you!
-Kees
-- Kees Cook
| |