Re: [PATCH] init/do_mounts.c: replace sys_mount() to do_mount()

From: Arnd Bergmann
Date: Tue Aug 17 2010 - 09:42:51 EST


On Tuesday 17 August 2010, Namhyung Kim wrote:
> 2010-08-17 (í), 15:15 +0200, Arnd Bergmann:
> > AFAICT there is no need for the copy at all here. The reason that sys_mount
> > copies to a separate page is that it gets passed an arbitrary-length user
> > input.
>
> Right. But make sure to user options never exceed a page, do_mount() has
> following code:
>
> if (data_page)
> ((char *)data_page)[PAGE_SIZE - 1] = 0;

Hmm, how very unexpected...

Maybe you can fix that as well in the same patch and move this safeguard
into the copy_mount_options() function? I guess ideally we'd even mark
the arguments to do_mount() as pointers to const, but that might create
an excessive amount of churn.

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