From: Jeff Layton Date: Wed, 10 Oct 2012 19:25:26 +0000 (-0400) Subject: vfs: allocate page instead of names_cache buffer in mount_block_root X-Git-Tag: v3.7-rc1~32^2~9 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a608ca21f58ee44df5a71ba140e98498f3ebc2cd;p=pandora-kernel.git vfs: allocate page instead of names_cache buffer in mount_block_root First, it's incorrect to call putname() after __getname_gfp() since the bare __getname_gfp() call skips the auditing code, while putname() doesn't. mount_block_root allocates a PATH_MAX buffer via __getname_gfp, and then calls get_fs_names to fill the buffer. That function can call get_filesystem_list which assumes that that buffer is a full page in size. On arches where PAGE_SIZE != 4k, then this could potentially overrun. In practice, it's hard to imagine the list of filesystem names even approaching 4k, but it's best to be safe. Just allocate a page for this purpose instead. With this, we can also remove the __getname_gfp() definition since there are no more callers. Signed-off-by: Jeff Layton Signed-off-by: Al Viro --- Reading git-diff-tree failed