Re: [PATCH 2/6] autofs4 - remove string terminator check

From: Ian Kent
Date: Mon Oct 27 2008 - 20:27:23 EST


On Mon, 2008-10-27 at 13:31 -0700, Andrew Morton wrote:
> On Thu, 23 Oct 2008 10:35:22 +0800
> Ian Kent <raven@xxxxxxxxxx> wrote:
>
> > Remove unnecessary string terminator check.
>
> Why is it unnecessary?
>
> Does this change alter behaviour in any way?
>
> Does it fix a bug?

Umm .... it was done in response to your comment, quoted below ...

> +/*
> + * Check a string doesn't overrun the chunk of
> + * memory we copied from user land.
> + */
> +static int invalid_str(char *str, void *end)
> +{
> + while ((void *) str <= end)
> + if (!*str++)
> + return 0;
> + return -EINVAL;
> +}

What is this? We copy strings in from userspace in 10000 different
places without needing checks such as this?

>
> Better changelogs, please....
>
> > --- a/fs/autofs4/dev-ioctl.c
> > +++ b/fs/autofs4/dev-ioctl.c
> > @@ -51,18 +51,6 @@ static int check_name(const char *name)
> > }
> >
> > /*
> > - * Check a string doesn't overrun the chunk of
> > - * memory we copied from user land.
> > - */
> > -static int invalid_str(char *str, void *end)
> > -{
> > - while ((void *) str <= end)
> > - if (!*str++)
> > - return 0;
> > - return -EINVAL;
> > -}
> > -
> > -/*
> > * Check that the user compiled against correct version of autofs
> > * misc device code.
> > *
> > @@ -143,14 +131,6 @@ static int validate_dev_ioctl(int cmd, struct autofs_dev_ioctl *param)
> > cmd);
> > goto out;
> > }
> > -
> > - err = invalid_str(param->path,
> > - (void *) ((size_t) param + param->size));
> > - if (err) {
> > - AUTOFS_WARN("invalid path supplied for cmd(0x%08x)",
> > - cmd);
> > - goto out;
> > - }
> > }
> >
> > err = 0;

--
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/