Re: [BUG?] fsconfig restart_syscall failed

From: Christian Brauner
Date: Fri Sep 22 2023 - 04:08:46 EST


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.