selftests/cgroup: Fix build on older distros
authorSachin Sant <sachinp@linux.vnet.ibm.com>
Fri, 6 Nov 2020 07:40:06 +0000 (13:10 +0530)
committerShuah Khan <skhan@linuxfoundation.org>
Tue, 10 Nov 2020 22:13:25 +0000 (15:13 -0700)
On older distros struct clone_args does not have a cgroup member,
leading to build errors:

 cgroup_util.c: In function 'clone_into_cgroup':
 cgroup_util.c:343:4: error: 'struct clone_args' has no member named 'cgroup'
 cgroup_util.c:346:33: error: invalid application of 'sizeof' to incomplete
  type 'struct clone_args'

But the selftests already have a locally defined version of the
structure which is up to date, called __clone_args.

So use __clone_args which fixes the error.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Sachin Sant <sachinp@linux.vnet.ibm.com>>
Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/selftests/cgroup/cgroup_util.c

index 05853b0b883181fa4dc784166f2828fb17cbbedf..027014662fb2612171dae23586b8c8038276d70e 100644 (file)
@@ -337,13 +337,13 @@ pid_t clone_into_cgroup(int cgroup_fd)
 #ifdef CLONE_ARGS_SIZE_VER2
        pid_t pid;
 
-       struct clone_args args = {
+       struct __clone_args args = {
                .flags = CLONE_INTO_CGROUP,
                .exit_signal = SIGCHLD,
                .cgroup = cgroup_fd,
        };
 
-       pid = sys_clone3(&args, sizeof(struct clone_args));
+       pid = sys_clone3(&args, sizeof(struct __clone_args));
        /*
         * Verify that this is a genuine test failure:
         * ENOSYS -> clone3() not available