Re: [RFC V1 01/31] mm/debug_vm_pgtable: Directly use vm_get_page_prot()

From: Christoph Hellwig
Date: Wed Jan 26 2022 - 02:16:03 EST


> + *
> + * Protection based vm_flags combinatins are always linear
> + * and increasing i.e VM_NONE ..[VM_SHARED|READ|WRITE|EXEC].
> */
> - for (idx = 0; idx < ARRAY_SIZE(protection_map); idx++) {
> + for (i = VM_NONE; i <= (VM_SHARED | VM_READ | VM_WRITE | VM_EXEC); ix++) {
> pte_basic_tests(&args, idx);
> pmd_basic_tests(&args, idx);
> pud_basic_tests(&args, idx);

This looks rather convoluted. I'd prefer to add a helper for the body
of this loop, and then explicitly call it for all the valid
combinations. Right now all are valid, so this dosn't change a thing
except for generating larger code due to the explicit loop unrolling,
but I think it is much easier to follow and maintain.