Re: [BUG?] fsconfig restart_syscall failed

From: Alexander Mikhalitsyn
Date: Fri Sep 29 2023 - 11:53:42 EST


On Fri, 22 Sep 2023 10:08:36 +0200
Christian Brauner <brauner@xxxxxxxxxx> wrote:

> On Fri, Sep 22, 2023 at 10:18:24AM +0800, Cai Xinchen wrote:
> > Hello:
> >   I am doing some test for kernel 6.4, util-linux version:2.39.1.
> > Have you encountered similar problems? If there is a fix, please
> > let me know.
> > Thank you very much
> >
> > --------------------------------------------------
> >
> > util-linux version 2.39.1 call mount use fsopen->fsconfig->fsmount->close
> > instead of mount syscall.
> >
> > And use this shell test:
> >
> > #!/bin/bash
> > mkdir -p /tmp/cgroup/cgrouptest
> > while true
> > do
> >         mount -t cgroup -o none,name=foo cgroup /tmp/cgroup/cgrouptest
>
>
> > in mount syscall, no function will check fs->phase, and fc is recreate
> > in monnt syscall. However, in fdconfig syscall, fc->phase is not initial as
> > FS_CONTEXT_CREATE_PARAMS, restart_syscall will return -EBUSY. fc is created
> > in fsopen syscall.
>
> Mount api system calls aren't restartable so that doesn't work. cgroup2
> doesn't have this issue, only cgroup1 has. So cgroup1_get_tree() should
> probably be fixed if anyone cares.
>

Dear colleagues,

I've met the same issue a few years ago and tried to fix it:
https://lore.kernel.org/all/20200923164637.13032-1-alexander.mikhalitsyn@xxxxxxxxxxxxx/

but didn't come into agreement about this.

Kind regards,
Alex