[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <9c4cac95-adbf-4236-a872-5213a2a797da@kernel.org>
Date: Wed, 12 Nov 2025 12:44:46 +0100
From: "David Hildenbrand (Red Hat)" <david@...nel.org>
To: Mike Yuan <me@...dnzj.com>, linux-mm@...ck.org,
linux-fsdevel@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, Luis Chamberlain <mcgrof@...nel.org>,
Christian Brauner <brauner@...nel.org>, Hugh Dickins <hughd@...gle.com>,
stable@...r.kernel.org
Subject: Re: [PATCH] shmem: fix tmpfs reconfiguration (remount) when noswap is
set
On 08.11.25 20:09, Mike Yuan wrote:
> In systemd we're trying to switch the internal credentials setup logic
> to new mount API [1], and I noticed fsconfig(FSCONFIG_CMD_RECONFIGURE)
> consistently fails on tmpfs with noswap option. This can be trivially
> reproduced with the following:
>
> ```
> int fs_fd = fsopen("tmpfs", 0);
> fsconfig(fs_fd, FSCONFIG_SET_FLAG, "noswap", NULL, 0);
> fsconfig(fs_fd, FSCONFIG_CMD_CREATE, NULL, NULL, 0);
> fsmount(fs_fd, 0, 0);
> fsconfig(fs_fd, FSCONFIG_CMD_RECONFIGURE, NULL, NULL, 0); <------ EINVAL
> ```
>
> After some digging the culprit is shmem_reconfigure() rejecting
> !(ctx->seen & SHMEM_SEEN_NOSWAP) && sbinfo->noswap, which is bogus
> as ctx->seen serves as a mask for whether certain options are touched
> at all. On top of that, noswap option doesn't use fsparam_flag_no,
> hence it's not really possible to "reenable" swap to begin with.
> Drop the check and redundant SHMEM_SEEN_NOSWAP flag.
>
> [1] https://github.com/systemd/systemd/pull/39637
>
> Fixes: 2c6efe9cf2d7 ("shmem: add support to ignore swap")
> Signed-off-by: Mike Yuan <me@...dnzj.com>
> Cc: Luis Chamberlain <mcgrof@...nel.org>
> Cc: Christian Brauner <brauner@...nel.org>
> Cc: Hugh Dickins <hughd@...gle.com>
> Cc: <stable@...r.kernel.org>
> ---
Makes sense to me
Reviewed-by: David Hildenbrand (Red Hat) <david@...nel.org>
--
Cheers
David
Powered by blists - more mailing lists