Re: [PATCH 1/1] pagemap clear_refs: modify to specify anon or mappedvma clearing

From: David Rientjes
Date: Tue Jul 28 2009 - 17:02:02 EST


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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/