Я прохожу по всем структурам vm_area_struct текущей задачи. При этом получаю странные флаги, например, для секции данных такие:
VM_READ VM_WRITE VM_MAYREAD VM_MAYWRITE VM_MAYEXEC VM_DENYWRITE VM_ACCOUNT
PROT_READ PROT_EXEC
static void fill_prot_buf(struct vm_area_struct *vma, char *buf)
{
if (vma->vm_page_prot.pgprot & PROT_READ) {sprintf(buf, "%s", " PROT_READ"); buf += strlen(" PROT_READ");}
if (vma->vm_page_prot.pgprot & PROT_WRITE) {sprintf(buf, "%s", " PROT_WRITE"); buf += strlen(" PROT_WRITE");}
.........................