Re: tmpfs: fixups to use of the new mount API
From: Andrew Morton
Date: Mon Aug 19 2019 - 18:13:50 EST
On Mon, 19 Aug 2019 15:09:14 -0700 (PDT) Hugh Dickins <hughd@xxxxxxxxxx> wrote:
> Several fixups to shmem_parse_param() and tmpfs use of new mount API:
> mm/shmem.c manages filesystem named "tmpfs": revert "shmem" to "tmpfs"
> in its mount error messages.
> /sys/kernel/mm/transparent_hugepage/shmem_enabled has valid options
> "deny" and "force", but they are not valid as tmpfs "huge" options.
> The "size" param is an alternative to "nr_blocks", and needs to be
> recognized as changing max_blocks. And where there's ambiguity, it's
> better to mention "size" than "nr_blocks" in messages, since "size" is
> the variant shown in /proc/mounts.
> shmem_apply_options() left ctx->mpol as the new mpol, so then it was
> freed in shmem_free_fc(), and the filesystem went on to use-after-free.
> shmem_parse_param() issue "tmpfs: Bad value for '%s'" messages just
> like fs_parse() would, instead of a different wording. Where config
> disables "mpol" or "huge", say "tmpfs: Unsupported parameter '%s'".
Fixes: 144df3b288c41 ("vfs: Convert ramfs, shmem, tmpfs, devtmpfs, rootfs to use the new mount API")?
and a Cc:stable is appropriate?