Messages in this thread | | | Date | Tue, 28 Jul 2009 14:01:45 -0700 (PDT) | From | David Rientjes <> | Subject | Re: [PATCH 1/1] pagemap clear_refs: modify to specify anon or mapped vma clearing |
| |
On Tue, 28 Jul 2009, Moussa A. Ba wrote:
> --- a/fs/proc/task_mmu.c 2009-07-21 14:30:01.000000000 -0700 > +++ b/fs/proc/task_mmu.c 2009-07-27 17:05:25.000000000 -0700 > @@ -462,6 +462,10 @@ static int clear_refs_pte_range(pmd_t * > return 0; > } > > +#define CLEAR_REFS_ALL 1 > +#define CLEAR_REFS_ANON 2 > +#define CLEAR_REFS_MAPPED 3 > + > static ssize_t clear_refs_write(struct file *file, const char __user * buf, > size_t count, loff_t * ppos) > { > @@ -469,13 +473,15 @@ static ssize_t clear_refs_write(struct f > char buffer[PROC_NUMBUF], *end; > struct mm_struct *mm; > struct vm_area_struct *vma; > + int type; > > memset(buffer, 0, sizeof(buffer)); > if (count > sizeof(buffer) - 1) > count = sizeof(buffer) - 1; > if (copy_from_user(buffer, buf, count)) > return -EFAULT; > - if (!simple_strtol(buffer, &end, 0)) > + type = simple_strtol(buffer, &end, 0); > + if (!type || type < CLEAR_REFS_ALL || type > CLEAR_REFS_MAPPED) > return -EINVAL; > if (*end == '\n') > end++;
The test for type < CLEAR_REFS_ALL covers !type.
| |