> On 09/02/22 at 06:45pm, Uladzislau Rezki wrote: > > > > Even without this patch, the debug path would work correctly. The > > > > difference is just only in > > > > whether roots are hardcoded or passed over function paramter. > > > > > > Calling find_vmap_lowest_match() inside find_vmap_lowest_match_check() > > > will fail compilation because the function interface has been changed. > > > > > Ah. That makes sense, though the commit message has to reflect it. > > So it is only about compilation error if debug is ON. > > Indeed, the current patch log sounds like an improvement or normal change. > In fact it's a code fix. > Then i think it is worth to mention about this in the commit message. At least i have missed the main point of this change looking at the commit message. Song Liu, Could you please upload a v2 of it stating exactly what it fixes? <snip> urezki@pc638:~/data/raid0/coding/linux-next.git$ git diff diff --git a/mm/vmalloc.c b/mm/vmalloc.c index e68c0081e861..7552f1f8350e 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -713,7 +713,7 @@ EXPORT_SYMBOL(vmalloc_to_pfn); /*** Global kva allocator ***/ #define DEBUG_AUGMENT_PROPAGATE_CHECK 0 -#define DEBUG_AUGMENT_LOWEST_MATCH_CHECK 0 +#define DEBUG_AUGMENT_LOWEST_MATCH_CHECK 1 static DEFINE_SPINLOCK(vmap_area_lock); urezki@pc638:~/data/raid0/coding/linux-next.git$ make -j64 bzImage DESCEND objtool CALL scripts/checksyscalls.sh CHK include/generated/compile.h CC mm/vmalloc.o mm/vmalloc.c: In function ‘find_vmap_lowest_match_check’: mm/vmalloc.c:1328:32: warning: passing argument 1 of ‘find_vmap_lowest_match’ makes pointer from integer without a cast [-Wint-conversion] 1328 | va_1 = find_vmap_lowest_match(size, align, vstart, false); | ^~~~ | | | long unsigned int mm/vmalloc.c:1236:40: note: expected ‘struct rb_root *’ but argument is of type ‘long unsigned int’ 1236 | find_vmap_lowest_match(struct rb_root *root, unsigned long size, | ~~~~~~~~~~~~~~~~^~~~ mm/vmalloc.c:1328:9: error: too few arguments to function ‘find_vmap_lowest_match’ 1328 | va_1 = find_vmap_lowest_match(size, align, vstart, false); | ^~~~~~~~~~~~~~~~~~~~~~ mm/vmalloc.c:1236:1: note: declared here 1236 | find_vmap_lowest_match(struct rb_root *root, unsigned long size, | ^~~~~~~~~~~~~~~~~~~~~~ make[1]: *** [scripts/Makefile.build:250: mm/vmalloc.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:2003: mm] Error 2 make: *** Waiting for unfinished jobs.... urezki@pc638:~/data/raid0/coding/linux-next.git$ <snip> Thank you in advance! -- Uladzislau Rezki