]> git.ipfire.org Git - thirdparty/libcgroup.git/log
thirdparty/libcgroup.git
3 years agowrapper.c: return on failure in cgroup_add_all_controllers()
Kamalesh Babulal [Fri, 8 Jul 2022 16:37:09 +0000 (10:37 -0600)] 
wrapper.c: return on failure in cgroup_add_all_controllers()

Add missing goto statement, to return on failure, reported by Coverity
tool:

CID 258281 (#1 of 1): Unused value (UNUSED_VALUE)assigned_value:
Assigning value ECGINVAL to ret here, but that stored value is
overwritten before it can be used.

the tool reported about unused ret value, but it turned out that the
NULL ret value is for failed attempt to add a controller to the desired
cgroup and needs bailing out after losing the handle. Fix it by
introducing the goto statement in cgroup_add_all_controllers()

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
TJH: Also fix unrelated grammar error near this change.

3 years agoconfig: remove dead code in config_validate_namespaces()
Kamalesh Babulal [Fri, 8 Jul 2022 16:28:49 +0000 (10:28 -0600)] 
config: remove dead code in config_validate_namespaces()

Remove the logically dead code, reported by the Coverity tool:

CID 258280 (#1 of 1): Logically dead code (DEADCODE)dead_error_begin:
Execution cannot reach this statement: last_errno = *__errno_locat....

cg_mount_table[i].mount.path can never be NULL, so remove that check in
the config_validate_namespaces().

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoconfig: fix string termination issues
Kamalesh Babulal [Wed, 6 Jul 2022 20:18:03 +0000 (14:18 -0600)] 
config: fix string termination issues

Fix non-terminated string warnings, reported by the Coverity tool:

CID 258293 (#2 of 2): Copy into fixed size buffer (STRING_OVERFLOW).
fixed_size_dest: You might overrun the 32-character fixed-size string
config_namespace_table[namespace_table_index].name by copying name
without checking the length.

fix one another similar string
config_namespace_table[namespace_table_index].mount.path in the same
function cgroup_config_insert_into_namespace_table() by explicitly
terminating by appending '\0';

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agowrapper.c: fix string non-termination warning
Kamalesh Babulal [Wed, 6 Jul 2022 20:12:28 +0000 (14:12 -0600)] 
wrapper.c: fix string non-termination warning

Fix non-terminated string warning, reported by Coverity tool:

CID 258266 (#1 of 1): String not null-terminated (STRING_NULL).
string_null: Passing unterminated string con to strtok, which expects a
null-terminated string.

Fix the warning in create_cgroup_from_name_value_pairs(), by adding
'\0'.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoconfig: cgroup_config_insert_into_mount_table() use strncpy()
Kamalesh Babulal [Wed, 6 Jul 2022 20:08:14 +0000 (14:08 -0600)] 
config: cgroup_config_insert_into_mount_table() use strncpy()

Fix copy into fixed size buffer warning, reported by Coverity tool:

CID 258282 (#2 of 2): Copy into fixed size buffer (STRING_OVERFLOW)9.
fixed_size_dest: You might overrun the 4096-character fixed-size string
config_mount_table[config_table_index].mount.path by copying mount_point
without checking the length.
parameter_as_source: Note: This defect has an elevated risk because the
source argument is a parameter of the current function

Also, convert config_mount_table[config_table_index].name strcpy to
strncpy.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoapi.c: avoid ambiguous controller name matches
liupan [Wed, 6 Jul 2022 19:53:35 +0000 (13:53 -0600)] 
api.c: avoid ambiguous controller name matches

calling "hasmntopt" to determine if the controller name exists in
"mntopt", may cause errors because of "hasmntopt" only match substring.

cpu controller may incorrectly match to cpuset when cpuset mount info
appeared before cpu,cpuacct in "/proc/mounts", so we need to validate
the last character to make sure the controller name matches exactly.

Signed-off-by: liupan <490021209@qq.com>
Reviewed-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agogithub: Run apt-get update first
Tom Hromatka [Thu, 9 Jun 2022 18:59:27 +0000 (12:59 -0600)] 
github: Run apt-get update first

Run apt-get update prior to running apt-get install

Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoapi.c: Fix handling of full cg_mount_table[]
Tom Hromatka [Thu, 9 Jun 2022 18:45:29 +0000 (12:45 -0600)] 
api.c: Fix handling of full cg_mount_table[]

Commit 9ce90c7edd28 ("api.c: fix segfault in cgroup_populate_mount_points()")
added logic to handle the case when there are 100+ cgroup mounts and
not overflow the cg_mount_table[].  But elsewhere in the libcgroup
code, it's expected that the last entry in the cg_mount_table[] has
a null name entry.

When the cg_mount_table[] is full, make the name of the last entry
null so that loops know to exit.  Also, add a couple bail out points
in cgroup_populate_mount_points() to ensure that we don't write
beyond the end of the table.

Depending upon the order in which the tests are run, this failure can
manifest itself as follows:
$ cat tests/ftests/ftests-nocontainer.sh.log
free(): invalid pointer
./ftests-nocontainer.sh: line 18: 199390 Aborted
(core dumped) ./ftests.py -l 10 -L "$START_DIR/ftests-nocontainer.py.log" --no-container -n Libcg"$RANDOM"
FAIL ftests-nocontainer.sh (exit status: 134)

Fixes: 9ce90c7edd28 ("api.c: fix segfault in cgroup_populate_mount_points()")
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Reviewed-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
3 years agoapi.c: search_and_append_mnt_path() use strncpy()
Kamalesh Babulal [Thu, 2 Jun 2022 16:04:32 +0000 (10:04 -0600)] 
api.c: search_and_append_mnt_path() use strncpy()

Fix copy into fixed size buffer warning, reported by Coverity tool:

CID 258279 (#1 of 1): Copy into fixed size buffer (STRING_OVERFLOW).
fixed_size_dest: You might overrun the 4096-character fixed-size string
mnt_point->path by copying path without checking the length.
10. parameter_as_source: Note: This defect has an elevated risk
because the source argument is a parameter of the current function.

fix this issue by using strnpy(), in place of strcpy().

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agowrapper: null terminated string in cgroup_add_controller()
Kamalesh Babulal [Thu, 2 Jun 2022 15:51:17 +0000 (09:51 -0600)] 
wrapper: null terminated string in cgroup_add_controller()

Fix non-terminated string warning, reported by Coverity tool:

CID 258271 (#1 of 1): String not null terminated (STRING_NULL).
string_null: Passing unterminated string cgc->name to strcmp, which
expects a null-terminated string.

This issue was reported following the path src/abstraction-common.c:
- cgroup_convert_cgroup()
  - cgroup_add_controller()

Also, use CONTROL_NAMELEN_MAX macro, in place of calculating the size of
controller->name twice.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoapi: null terminated string in cgroup_get_controller_next()
Kamalesh Babulal [Tue, 31 May 2022 22:54:28 +0000 (16:54 -0600)] 
api: null terminated string in cgroup_get_controller_next()

Fix non-terminated string warnings, reported by Coverity tool:

CID 258299 (#1-2 of 2): String not null terminated (STRING_NULL).
string_null: Passing unterminated string controller.path to strcmp,
which expects a null-terminated string

This issue was reported following the path src/tools/cgsnapshot.c:
- parse_controllers()
  - cgroup_get_controller_begin()
    - cgroup_get_controller_next()

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoconfig: add missing ret value check from getgrnam_r()
Kamalesh Babulal [Tue, 31 May 2022 22:51:21 +0000 (16:51 -0600)] 
config: add missing ret value check from getgrnam_r()

Fix Unchecked return values from library, reported by Coverity tool:

CID 258287 (#1 of 1): Unchecked return value from library
(CHECKED_RETURN).
check_return: Calling getgrnam_r(value, group, buffer, 20480UL,
&group_buffer) without checking return value. This library function may
fail and return an error code.

CID 258303 (#1 of 1): Unchecked return value from library
(CHECKED_RETURN).
check_return: Calling getgrnam_r(value, group, buffer, 20480UL,
&group_buffer) without checking return value. This library function may
fail and return an error code.

Coverity expects us to check for return value from getgrnam_r(), instead
of the current for group_buffer != NULL.  Which is right, let's make
Coverity happy by moving the check to return value.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoapi: fix coverity warning about uninitialized variable
Kamalesh Babulal [Fri, 27 May 2022 20:56:42 +0000 (14:56 -0600)] 
api: fix coverity warning about uninitialized variable

Fix Uninitialized scalar variable, reported by Coverity tool:

CID 258269 (#1 of 1): Uninitialized scalar variable (UNINIT).
uninit_use: Using uninitialized value version.

In _cgroup_create_cgroup(), the (cg_version_t)version is uninitialized
and might be read the version in false path. It worked until now
because the version is assigned in the true path and given that its enum
the checks are not bounded by range, but rather specific.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoapi.c: add cgroup error string for ECGNOVERSIONCONVERT
Kamalesh Babulal [Thu, 26 May 2022 14:12:30 +0000 (08:12 -0600)] 
api.c: add cgroup error string for ECGNOVERSIONCONVERT

Add the missing error string for the error code ECGNOVERSIONCONVERT to
cgroup_strerror_codes[], that is looked upon to print string version of
the error encountered.

Reproducer:
-----------
$ cat cgrp-strerr.c

int main(void)
{
        int err = ECGNOVERSIONCONVERT;

        fprintf(stderr, "%s\n", cgroup_strerror(err));

        return 0;
}

without the patch:
-----------------
$ ./cgrp-stderr
(null)

with the patch:
---------------
$ ./cgrp-stderr
Failed to convert from cgroup v1 to/from cgroup v2

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agotools/cgxget: fix coverity warning about resource leak
Kamalesh Babulal [Wed, 25 May 2022 17:11:43 +0000 (11:11 -0600)] 
tools/cgxget: fix coverity warning about resource leak

Fix a resource leaks reported by Coverity tool:

CID 258302 (#1 of 1): Resource leak (RESOURCE_LEAK). leaked_storage:
Variable dir going out of scope leaks the storage it points to

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agotools/cgget: fix coverity warning about double free
Kamalesh Babulal [Wed, 25 May 2022 13:47:48 +0000 (07:47 -0600)] 
tools/cgget: fix coverity warning about double free

Fix double free warning, reported by Coverity tool:

CID 258297 (#1 of 1): Double free (USE_AFTER_FREE). double_free:
Calling closedir frees pointer dir which has already been freed.

As per the man page, the closedir(), closes the directory stream
associated with the dirp, but is ambiguous about if dirp is set to NULL
or not. Coverity answers that with the above report, that dirp is not
NULL and hence the double free.

Fixes: fea1ab8b45d7 ("tools/cgget: fix coverity warning about resource leak")
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoapi.c: fix coverity out of bounds read warning
Kamalesh Babulal [Wed, 25 May 2022 13:40:10 +0000 (07:40 -0600)] 
api.c: fix coverity out of bounds read warning

Fix out of bounds read, reported by Coverity tool:

CID 1412156 (#1 of 1): Out-of-bounds read (OVERRUN).
overrun-local: Overrunning array cgroup_strerror_codes of 30 8-byte
elements at element index 49999 (byte offset 399999) using index
code % ECGROUPNOTCOMPILED (which evaluates to 49999).

Reproducer:
-----------
$ cat cgrp-strerr.c

int main(void)
{
        int err = ECGNONEMPTY;

        fprintf(stderr, "%s\n", cgroup_strerror(err));

        return 0;
}

without the patch:
-----------------
$ ./cgrp-stderr
(null)

with the patch:
---------------
$ ./cgrp-stderr
Failed to remove a non-empty group

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoconfigure: introduce --enable-tests/--disable-tests
Kamalesh Babulal [Mon, 23 May 2022 19:49:50 +0000 (13:49 -0600)] 
configure: introduce --enable-tests/--disable-tests

There are scenarios where running tests as part of the make check is
not desirable, like rpmbuild.  The build systems might not have the
environment to run the tests and might fail to build the packages.

This patch introduces, --enable-tests as a configure option, which
is set by default and can be disabled using the --disable-tests flag.
When disabled, the configure will skip creating the Makefiles for the
tests/* directories and in the top-level Makefile the SUBDIRS omits
tests. For example, consider the rpmbuild case to build rpm with
--disable-tests passed:
1. ./bootstrap.sh
2. ./configure ./configure --enable-opaque-hierarchy="name=systemd"
   --disable-tests
3. make check
4. make dist
5. cp libcgroup-3.0.0.tar.gz ~/rpmbuild/SOURCES
6. append --disable-tests to configure in libcgroup.spec
7. rpmbuild -ba libcgroup.spec

this will skip running the test/*, during the build, avoiding unexpected
failures

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agotools/cgxset: fix Coverity uninitialized variable warning
Kamalesh Babulal [Fri, 20 May 2022 14:45:16 +0000 (08:45 -0600)] 
tools/cgxset: fix Coverity uninitialized variable warning

Originally this issue got reported on tools/cgset and since tools/cgxset
borrows most of the code from cgset, fix the issue here too.  The
original warning (cgset):

CID 1488715 (#1 of 1): Uninitialized scalar variable (UNINIT).
uninit_use_in_call: Using uninitialized value *src_cg_path as
argument to %s when calling fprintf.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agotools/cgsnapshot: fix coverity uninitialized variable warning
Kamalesh Babulal [Fri, 20 May 2022 14:44:58 +0000 (08:44 -0600)] 
tools/cgsnapshot: fix coverity uninitialized variable warning

Fix uninitialized scalar variable, reported by Coverity tool:

CID 1412125 (#1 of 1): Uninitialized scalar variable (UNINIT).
uninit_use_in_call: Using uninitialized element of array *controllers
when calling is_ctlr_on_list.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agotools/cgset: fix coverity uninitialized variable warning
Kamalesh Babulal [Fri, 20 May 2022 14:44:27 +0000 (08:44 -0600)] 
tools/cgset: fix coverity uninitialized variable warning

Fix uninitialized scalar variable, reported by Coverity tool:

CID 1488715 (#1 of 1): Uninitialized scalar variable (UNINIT).
uninit_use_in_call: Using uninitialized value *src_cg_path as argument
to %s when calling fprintf.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agotools/lssubsys: fix coverity uninitialized variable warning
Kamalesh Babulal [Fri, 20 May 2022 14:40:47 +0000 (08:40 -0600)] 
tools/lssubsys: fix coverity uninitialized variable warning

Fix uninitialized scalar variable, reported by Coverity tool:

CID 1488707 (#1 of 1): Uninitialized scalar variable (UNINIT).
uninit_use_in_call: Using uninitialized value *cont_names when calling
print_controller_mount.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agosrc/config: fix coverity warning about add missing unlock()
Kamalesh Babulal [Fri, 20 May 2022 14:25:35 +0000 (08:25 -0600)] 
src/config: fix coverity warning about add missing unlock()

Add missing unlock() of cg_mount_table_lock, reported by Coverity tool:

CID 1412126 (#1 of 1): Missing unlock (LOCK). missing_unlock:
Returning without unlocking cg_mount_table_lock.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agotools/cgdelete: fix coverity wrong argument size warning
Kamalesh Babulal [Wed, 18 May 2022 17:09:51 +0000 (11:09 -0600)] 
tools/cgdelete: fix coverity wrong argument size warning

Fix a wrong argument size, reported by Coverity tool:

CID 1412122 (#1 of 1): Wrong sizeof argument (SIZEOF_MISMATCH)
suspicious_sizeof: Passing argument 8UL
/* sizeof (struct ext_cgroup_record *) */ to function calloc and then
casting the return value to struct ext_cgroup_record * is suspicious.

Also, fix the typo in the variable name, that's being allocated memory.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoworkflows/CI: upgrade CodeQL actions used to v2
Kamalesh Babulal [Mon, 16 May 2022 22:05:39 +0000 (16:05 -0600)] 
workflows/CI: upgrade CodeQL actions used to v2

CodeQL warns about deprecating v1 by Dec 2022.  Upgrade the CodeQL
actions, as per the recommendation made in the upgrade guide at:
https://github.blog/changelog/2022-04-27-code-scanning-deprecation-of-codeql-action-v1/

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agotools/cgget: fix coverity warning about resource leak
Kamalesh Babulal [Mon, 16 May 2022 21:57:45 +0000 (15:57 -0600)] 
tools/cgget: fix coverity warning about resource leak

Fix two resource leaks reported by Coverity tool:

CID 1488718 (#1 of 1): Resource leak (RESOURCE_LEAK) leaked_storage:
Variable handle going out of scope leaks the storage it points to.

CID 1488723 (#1 of 1): Resource leak (RESOURCE_LEAK) leaked_storage:
Variable dir going out of scope leaks the storage it points to.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoapi.c: resize controller name to 32 from 4096 bytes
Kamalesh Babulal [Fri, 6 May 2022 15:36:33 +0000 (21:06 +0530)] 
api.c: resize controller name to 32 from 4096 bytes

Linux kernel warns on the cgroup controller name length greater than
32 bytes during the cgroup initialization in cgroup_init_early().  Adopt
the same size of 32 bytes (including the null byte) for controller name
in the struct cg_controller and struct cg_mount_table_s.  This resize
from FILENAME_MAX (4096 bytes) to a mere 32 bytes, reduces the
libcgroup.so library:

Without the patch:
------------------
$ size -d src/.libs/libcgroup.so
   text    data     bss     dec     hex filename
 123841    3600 2476532 2603973  27bbc5 src/.libs/libcgroup.so

With the patch:
---------------
$ size -d src/.libs/libcgroup.so
   text    data     bss     dec     hex filename
 123569    3600 1257332 1384501  152035 src/.libs/libcgroup.so

also replace the index FILENAME_MAX with CONTROL_NAMELEN_MAX at the
struct cg_controller::name and struct cg_mount_table_s::name references.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoman/lscgroup: add tool support status
Kamalesh Babulal [Fri, 13 May 2022 15:17:48 +0000 (20:47 +0530)] 
man/lscgroup: add tool support status

lscgroup is currently supported on cgroups v1 only, add the note about
the support status in the man page.

Suggested-by: Tom Hromatka <tom.hromatka@oracle.com>
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoman/lssubsys: add tool support status
Kamalesh Babulal [Fri, 13 May 2022 15:17:43 +0000 (20:47 +0530)] 
man/lssubsys: add tool support status

lssubsys is currently supported on cgroups v1 only, add the note about
the support status in the man page.

Suggested-by: Tom Hromatka <tom.hromatka@oracle.com>
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agotools/lscgroup: add support status for the tool
Kamalesh Babulal [Fri, 13 May 2022 15:17:39 +0000 (20:47 +0530)] 
tools/lscgroup: add support status for the tool

lscgroup currently doesn't support the cgroupv2 filesystem.  Add the
warning about the support status in the help.

Fixes: https://github.com/libcgroup/libcgroup/issues/50
Suggested-by: Tom Hromatka <tom.hromatka@oracle.com>
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agotools/lssubsys: add support status for the tool
Kamalesh Babulal [Fri, 13 May 2022 15:17:33 +0000 (20:47 +0530)] 
tools/lssubsys: add support status for the tool

lssubsys currently doesn't support the cgroups v2 filesystem.  Add the
warning about the support status in the help.

Fixes: https://github.com/libcgroup/libcgroup/issues/50
Suggested-by: Tom Hromatka <tom.hromatka@oracle.com>
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoapi.c: fix segfault in cgroup_populate_mount_points()
Kamalesh Babulal [Mon, 2 May 2022 21:40:36 +0000 (15:40 -0600)] 
api.c: fix segfault in cgroup_populate_mount_points()

In cgroup_populate_mount_points(),  cgroup v1/v2 mount points get read
from /proc/mounts and populated into cg_mount_table[].  The size of
cg_mount_table[] is set to CG_CONTROLLER_MAX, that's defined as 100 and
if the system has more than CG_CONTROLLER_MAX, unique mount points, it
will segfault while processing them.  Fix this by checking, the mount
point count after processing every mount entry and bailout in case it
reaches CG_CONTROLLER_MAX.

The issue can be reproduced using, following simple bash commands on
cgroup v1:
1. sudo for i in $(seq 0 100); do sudo mkdir /name$i; done
2. sudo for i in $(seq 0 86); do sudo mount -t cgroup -o none,name=named$i
none /name$i; done
3. sudo cgget -g <controller>:<existing cgroup name>

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agopython: Make Cgroup.mount_points() more pythonic
Tom Hromatka [Fri, 29 Apr 2022 16:52:25 +0000 (10:52 -0600)] 
python: Make Cgroup.mount_points() more pythonic

Rename cgroup_list_mount_points() to mount_points() and
convert it to an @staticmethod.

Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Reviewed-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
3 years agoapi.c: fix deleting cgroup created on shared mnt point
Kamalesh Babulal [Fri, 22 Apr 2022 20:55:12 +0000 (14:55 -0600)] 
api.c: fix deleting cgroup created on shared mnt point

cgroup v1 allows mounting of two or more controllers on a single
mount point.  This fails currently when trying to delete the cgroup
recursively for all the mounted controllers because the cgroup is
already deleted by the first controller of the share mount point and
the next controllers sharing the mount point complain about
missing cgroup path.

Fix this issue by introducing shared_mnt flag to cg_mount_table_s
struct and setting it during cgroup_init() on finding a mount point
shared by controllers and repeats the check in cgroup_find_parent()
on the error to check its share mount point and ignore the error if the
file doesn't exist, similar to ignoring if the file exists during
creation.

Fixes: https://github.com/libcgroup/libcgroup/issues/127
Reported-by: Vijayendra Lakkundi <vijayendra.lakkundi@oracle.com>
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoapi.c: add support to attach tid to an empty cgroup v2
Kamalesh Babulal [Mon, 4 Apr 2022 06:48:46 +0000 (12:18 +0530)] 
api.c: add support to attach tid to an empty cgroup v2

Currently, cgroup_attach_task_pid() checks for enabled
controllers before attaching the given tid to it, but in the case of
empty cgroup, it simply ignores the attaching due to no controllers
available, a.k.a. cgroup->index is 0.  Add support to recognize empty
controller cgroups.

Fixes: https://github.com/libcgroup/libcgroup/issues/129
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoapi.c: add check for empty cgroup v2 controller
Kamalesh Babulal [Mon, 4 Apr 2022 06:48:44 +0000 (12:18 +0530)] 
api.c: add check for empty cgroup v2 controller

There can be cgroup v2 cgroup with no controllers attached to it and
while checking for enabled controllers always return true in
cgroupv2_controller_enabled() for such cgroups.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoapi.c: fix build warnings
Kamalesh Babulal [Wed, 20 Apr 2022 15:09:33 +0000 (09:09 -0600)] 
api.c: fix build warnings

Fix the use before initialization build warnings:

api.c: In function â€˜cgroup_populate_controllers.constprop’:
api.c:1386:5: warning: â€˜buf’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 1386 |  if (buf)
      |     ^
api.c: In function â€˜cgroup_populate_mount_points.constprop’:
api.c:1461:5: warning: â€˜temp_ent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 1461 |  if (temp_ent)
      |     ^

this patch, initializes them to NULL.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoapi.c: add support for empty cgroup v2 deletion
Kamalesh Babulal [Thu, 31 Mar 2022 12:21:55 +0000 (17:51 +0530)] 
api.c: add support for empty cgroup v2 deletion

Add support to recognize empty cgroup v2 with no controllers attached to
it in cgroup_delete_cgroup_ext(), that gets called to remove a cgroup.

In the deletion path, cgroup_build_tasks_procs_path() builds the path
of the cgroup for re-assignment/movement of tasks from the cgroup that's
getting deleted, teach it to recognize the empty controller as cgroup
V2.

Fixes: https://github.com/libcgroup/libcgroup/issues/125
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
TJH: Fix a couple small typos in commit message

3 years agopython: add support to list cgroup mount points
Kamalesh Babulal [Wed, 30 Mar 2022 06:19:14 +0000 (11:49 +0530)] 
python: add support to list cgroup mount points

Add support to the python bindings to list cgroup mount points.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoapi.c: API to list mount points of a cgroup type
Kamalesh Babulal [Wed, 30 Mar 2022 06:19:03 +0000 (11:49 +0530)] 
api.c: API to list mount points of a cgroup type

Currently, there is no easy way for a user to list cgroup mount points,
one way to acquire required information is by manually reading the
/proc/mounts and parsing the information they are interested in.

Add a new API:
cgroup_list_mount_points(cg_version_t version, char ***mnts),

where the first argument is either CGROUP_V1 or CGROUP_V2, that
specifies the mount point types and the second argument is a char**,
that will hold the mount point paths of the cgroup version specified in
the first agrument. Note that the mnts pointers are supposed to free'd.
mnts pointers.

$ cat get_mount.c

int main(void)
{
        enum cg_version_t t = CGROUP_V2;
        char **mount_paths = NULL;
        int i = 0;
        int ret;

        cgroup_init();

         ret = cgroup_list_mount_points(t, &mount_paths);
         if (ret != 0) {
                 fprintf(stderr, "Failed to get mount points\n");
                 return ret;
        }

        while (mount_paths[i]) {
                fprintf(stderr, "%s\n", mount_paths[i]);
                free(mount_paths[i]);
                i++;
        }
        free(mount_paths);

        return 0;
}

$ gcc -o get_mount get_mount.c -lcgroup

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoapi.c: refactor cgroup_process_*_mnt()
Kamalesh Babulal [Sat, 26 Mar 2022 13:40:50 +0000 (19:10 +0530)] 
api.c: refactor cgroup_process_*_mnt()

Abstract appending new mount point to the cg_mount_table[] into new
function, reducing the duplication in both cgroup_process_v1_mnt()
and cgroup_process_v2_mnt().

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
TJH: Remove erroneous whitespace addition

3 years agoapi.c: refactor cgroup_init()
Kamalesh Babulal [Sat, 26 Mar 2022 13:40:43 +0000 (19:10 +0530)] 
api.c: refactor cgroup_init()

Refactor cgroup_init() by abstracting freeing of previous cg_mount_table,
populating controller by reading /proc/cgroups file and populating
mount points into its own function.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
TJH: Fix minor typo in commit message

3 years agosamples/c: add empty_cgroup_v2 to the makefile
Kamalesh Babulal [Mon, 28 Mar 2022 06:11:57 +0000 (11:41 +0530)] 
samples/c: add empty_cgroup_v2 to the makefile

Add the empty_cgroup_v2.c to the makefile, to maintain it like other
sample programs in the directory.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agosamples/c: add empty cgroup v2 creation program
Kamalesh Babulal [Mon, 28 Mar 2022 06:11:50 +0000 (11:41 +0530)] 
samples/c: add empty cgroup v2 creation program

Add a simple program, that demonstrates the creation of an empty cgroup
on cgroup v2.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agobootstrap.sh: make it shellcheck complaint
Kamalesh Babulal [Fri, 25 Mar 2022 06:06:21 +0000 (11:36 +0530)] 
bootstrap.sh: make it shellcheck complaint

Make bootstrap.in shellcheck complaint.  It fixes all the issues
reported by the shellcheck version version 0.7.0.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoscripts/init.d/cgred.in: add fallback logging on non-lsb systems
Kamalesh Babulal [Fri, 25 Mar 2022 06:06:19 +0000 (11:36 +0530)] 
scripts/init.d/cgred.in: add fallback logging on non-lsb systems

Add support for fallback logging on non-lsb system, this logic is
borrowed from the commit 63a8972bac45 ("Modernise cgconfig initscript").

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoscripts/init.d/cgconfig.in: make it shellcheck complaint
Kamalesh Babulal [Fri, 25 Mar 2022 06:06:17 +0000 (11:36 +0530)] 
scripts/init.d/cgconfig.in: make it shellcheck complaint

Make cgconfig.in shellcheck complaint.  It fixes all the issues reported
by the shellcheck version version 0.7.0.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoscripts/init.d/cgred.in: make it shellcheck complaint
Kamalesh Babulal [Fri, 25 Mar 2022 06:06:14 +0000 (11:36 +0530)] 
scripts/init.d/cgred.in: make it shellcheck complaint

Make cgred.in shellcheck complaint.  It fixes all the issues reported by
the shellcheck version version 0.7.0.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agolssubsys.c: adopt err()/info() for printing messages
Kamalesh Babulal [Tue, 22 Mar 2022 10:04:38 +0000 (15:34 +0530)] 
lssubsys.c: adopt err()/info() for printing messages

Replace usage of fprintf(stderr, ...) with err() and printf(...) with
info().

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agolscgroup.c: adopt err()/info() for printing messages
Kamalesh Babulal [Tue, 22 Mar 2022 10:04:35 +0000 (15:34 +0530)] 
lscgroup.c: adopt err()/info() for printing messages

Replace usage of fprintf(stderr, ...) with err() and printf(...) with
info().

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agocgxset.c: adopt err()/info() for printing messages
Kamalesh Babulal [Tue, 22 Mar 2022 10:04:32 +0000 (15:34 +0530)] 
cgxset.c: adopt err()/info() for printing messages

Replace usage of fprintf(stderr, ...) with err() and printf(...) with
info().

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agocgxget.c: adopt err()/info() for printing messages
Kamalesh Babulal [Tue, 22 Mar 2022 10:04:29 +0000 (15:34 +0530)] 
cgxget.c: adopt err()/info() for printing messages

Replace usage of fprintf(stderr, ...) with err() and printf(...) with
info().

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agocgsnapshot.c: adopt err()/info() for printing messages
Kamalesh Babulal [Tue, 22 Mar 2022 10:04:27 +0000 (15:34 +0530)] 
cgsnapshot.c: adopt err()/info() for printing messages

Replace usage of fprintf(stderr, ...) with err() and printf(...) with
info().

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agocgset.c: adopt err()/info() for printing messages
Kamalesh Babulal [Tue, 22 Mar 2022 10:04:25 +0000 (15:34 +0530)] 
cgset.c: adopt err()/info() for printing messages

Replace usage of fprintf(stderr, ...) with err() and printf(...) with
info().

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agocgget.c: adopt err()/info() for printing messages
Kamalesh Babulal [Tue, 22 Mar 2022 10:04:23 +0000 (15:34 +0530)] 
cgget.c: adopt err()/info() for printing messages

Replace usage of fprintf(stderr, ...) with err() and printf(...) with
info().

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agocgexec: adopt err()/info() for printing messages
Kamalesh Babulal [Tue, 22 Mar 2022 10:04:20 +0000 (15:34 +0530)] 
cgexec: adopt err()/info() for printing messages

Replace usage of fprintf(stderr, ...) with err() and printf(...) with
info().

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agocgdelete.c: adopt err()/info() for printing messages
Kamalesh Babulal [Tue, 22 Mar 2022 10:04:18 +0000 (15:34 +0530)] 
cgdelete.c: adopt err()/info() for printing messages

Replace usage of fprintf(stderr, ...) with err() and printf(...) with
info().

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agocgcreate: adopt err()/info() for printing messages
Kamalesh Babulal [Tue, 22 Mar 2022 10:04:15 +0000 (15:34 +0530)] 
cgcreate: adopt err()/info() for printing messages

Replace usage of fprintf(stderr, ...) with err() and printf(...)
with info().

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agocgconfig.c: adopt err()/info() for printing messages
Kamalesh Babulal [Tue, 22 Mar 2022 10:04:13 +0000 (15:34 +0530)] 
cgconfig.c: adopt err()/info() for printing messages

Replace usage of fprintf(stderr, ...) with err() and printf(...) with
info().

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agocgclassify: adopt err()/info() for printing messages
Kamalesh Babulal [Tue, 22 Mar 2022 10:04:10 +0000 (15:34 +0530)] 
cgclassify: adopt err()/info() for printing messages

Replace usage of fprintf(stderr, ...) with err() and printf(...) with
info().

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agotools-common.h: add logging helpers
Kamalesh Babulal [Tue, 22 Mar 2022 10:03:41 +0000 (15:33 +0530)] 
tools-common.h: add logging helpers

fprintf(stderr, ...); is used across the tools to notify the user about
something that went wrong and needs to abort. Similarly, printf() is
used to print information, may continue with the code execution.

This patch adds helper macro err(), info(), that can replace messaging
printing to stderr/stdout, making code readable and compact.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agospecfile: fix the samples/config path
Kamalesh Babulal [Thu, 24 Mar 2022 13:55:40 +0000 (07:55 -0600)] 
specfile: fix the samples/config path

Change the location of sample configuration files from sample/ to
samples/config/, this movement got introduced by Commit b546e328e00c
"samples: Move the config examples to samples/config/").

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agodoc: Update the github release process
Tom Hromatka [Fri, 18 Mar 2022 16:34:23 +0000 (10:34 -0600)] 
doc: Update the github release process

Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Reviewed-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
3 years agogithub: Add make distcheck Github Action
Tom Hromatka [Fri, 18 Mar 2022 14:49:30 +0000 (08:49 -0600)] 
github: Add make distcheck Github Action

Add a step to run `make distcheck` in the continuous integration
GitHub Action.

Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Reviewed-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
3 years agoMakefile.am: Add support for make distcheck
Tom Hromatka [Fri, 18 Mar 2022 13:53:58 +0000 (07:53 -0600)] 
Makefile.am: Add support for make distcheck

Add support for `make distcheck`.  Provide the requisite
./configure options during the build and clean up Python
build artifacts afterwards.

Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Reviewed-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
3 years agocgrulesend: fix typo in help options
Kamalesh Babulal [Wed, 23 Mar 2022 13:49:18 +0000 (07:49 -0600)] 
cgrulesend: fix typo in help options

Fix a typo 'nodaemom' -> 'nodaemon' in the help options.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agosrc/config.c: remove log level prefix
Kamalesh Babulal [Thu, 17 Mar 2022 12:47:27 +0000 (18:17 +0530)] 
src/config.c: remove log level prefix

With commit 97a0e195ddd7 ("log: add log level string prefix to
logging functions"), log level prefixes gets added to message
printed by cgroup_{err,warn,info} functions, remove them from
message passed to these functions.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agosrc/api.c: remove log level prefix
Kamalesh Babulal [Sat, 19 Mar 2022 14:14:40 +0000 (19:44 +0530)] 
src/api.c: remove log level prefix

With commit 97a0e195ddd7 ("log: add log level string prefix to
logging functions"), log level prefixes gets added to message
printed by cgroup_{err,warn,info} functions, remove them from
message passed to these functions.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agosrc/abstraction-common.c: remove log level prefix
Kamalesh Babulal [Sat, 19 Mar 2022 14:14:29 +0000 (19:44 +0530)] 
src/abstraction-common.c: remove log level prefix

With commit 97a0e195ddd7 ("log: add log level string prefix to
logging functions"), log level prefixes gets added to message
printed by cgroup_{err,warn,info} functions, remove them from
message passed to these functions.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoapi.c: fix a memory leak in cgroup_init()
Kamalesh Babulal [Sat, 19 Mar 2022 06:41:50 +0000 (12:11 +0530)] 
api.c: fix a memory leak in cgroup_init()

temp_ent is not free'ed in the error path if cgroup_process_v1_mnt() or
cgroup_process_v2_mnt() fails.  Move the free'ing of temp_ent to error
path.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoMakefile: fix samples/c build dependency
Kamalesh Babulal [Sat, 19 Mar 2022 06:55:25 +0000 (12:25 +0530)] 
Makefile: fix samples/c build dependency

If the user chooses to build the samples/c programs, it will fail to
build, with the error:

config.status: creating samples/c/Makefile
  CC       setuid.o
make: *** No rule to make target '../../src/.libs/libcgroup.la', needed by 'setuid'.  Stop.

it is due to the dependency on libcgroup.la, which is currently built
after samples. Fix it by moving the samples directory to be built after
src directory.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoModernise cgconfig initscript.
Vladimir Nikishkin [Thu, 17 Mar 2022 16:15:05 +0000 (10:15 -0600)] 
Modernise cgconfig initscript.

1. Remove obsolete constructions from scripts/init/cgconfig.in
2. Add fallback logging functions for non-lsb systems.

Signed-off-by: Vladimir Nikishkin <libcgroup@lockywolf.net>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
TJH: Merged the original patch and review comments patch into one commit

3 years agoCOPYING: fix trailing white spaces
Kamalesh Babulal [Wed, 16 Mar 2022 16:23:02 +0000 (21:53 +0530)] 
COPYING: fix trailing white spaces

checkpatch.pl reported trailing white spaces, fix them.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoscripts/init.d/cgred.in: fix trailing white spaces
Kamalesh Babulal [Wed, 16 Mar 2022 16:22:32 +0000 (21:52 +0530)] 
scripts/init.d/cgred.in: fix trailing white spaces

checkpatch.pl reported trailing white spaces, fix them.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoman/cgexec.1: fix trailing white spaces
Kamalesh Babulal [Wed, 16 Mar 2022 16:20:06 +0000 (21:50 +0530)] 
man/cgexec.1: fix trailing white spaces

checkpatch.pl reported trailing white spaces, fix them.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoman/cgexec.1: fix trailing white spaces
Kamalesh Babulal [Wed, 16 Mar 2022 16:19:45 +0000 (21:49 +0530)] 
man/cgexec.1: fix trailing white spaces

checkpatch.pl reported trailing white spaces, fix them.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoman/cgconfig.conf.5: fix trailing white spaces
Kamalesh Babulal [Wed, 16 Mar 2022 16:19:26 +0000 (21:49 +0530)] 
man/cgconfig.conf.5: fix trailing white spaces

checkpatch.pl reported trailing white spaces, fix them.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoman/cgrules.conf.5: fix trailing white spaces
Kamalesh Babulal [Wed, 16 Mar 2022 16:18:56 +0000 (21:48 +0530)] 
man/cgrules.conf.5: fix trailing white spaces

checkpatch.pl reported trailing white spaces, fix them.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agodist/libcgroup.spec.in: fix trailing white spaces
Kamalesh Babulal [Wed, 16 Mar 2022 16:18:29 +0000 (21:48 +0530)] 
dist/libcgroup.spec.in: fix trailing white spaces

checkpatch.pl reported trailing white spaces, fix them.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agolibcgroup.doxyfile: fix checkpatch.pl warnings
Kamalesh Babulal [Wed, 16 Mar 2022 16:18:08 +0000 (21:48 +0530)] 
libcgroup.doxyfile: fix checkpatch.pl warnings

Fix all of the warnings/errors reported by Linux Kernel's checkpatch.pl,
except SPDX_LICENSE_TAG, USE_NEGATIVE_ERRNO types.  It also introduces
reverse xmas tree local variable declarations and header file
reordering.

In summary, this patch fixes the following checkpatch.pl
recommendations:
total: 0 errors, 1 warnings, 1519 lines checked

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoinclude/tools.h: fix checkpatch.pl warnings
Kamalesh Babulal [Wed, 16 Mar 2022 16:17:38 +0000 (21:47 +0530)] 
include/tools.h: fix checkpatch.pl warnings

Fix all of the warnings/errors reported by Linux Kernel's checkpatch.pl,
except SPDX_LICENSE_TAG.  It also introduces reverse xmas tree local
variable declarations and header file reordering.

In summary, this patch fixes the following checkpatch.pl
recommendations:
total: 1 errors, 3 warnings, 73 lines checked

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoinclude/tasks.h: introduce coding style changes
Kamalesh Babulal [Wed, 16 Mar 2022 16:17:11 +0000 (21:47 +0530)] 
include/tasks.h: introduce coding style changes

This patch introduces coding style changes such as reverse xmas tree
local variable declarations, header file reordering, and many other
minor tweaks such as line spacing, removing trailing white spaces.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoinclude/log.h: introduce coding style changes
Kamalesh Babulal [Wed, 16 Mar 2022 16:16:41 +0000 (21:46 +0530)] 
include/log.h: introduce coding style changes

This patch introduces coding style changes such as reverse xmas tree
local variable declarations, header file reordering, and many other
minor tweaks such as line spacing, removing trailing white spaces.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoinclude/iterators.h: fix checkpatch.pl warnings
Kamalesh Babulal [Wed, 16 Mar 2022 16:16:22 +0000 (21:46 +0530)] 
include/iterators.h: fix checkpatch.pl warnings

This patch introduces coding style changes such as reverse xmas tree
local variable declarations, header file reordering, and many other
minor tweaks such as line spacing, removing trailing white spaces.

In summary, this patch fixes the following checkpatch.pl
recommendations:
total: 0 errors, 25 warnings, 432 lines checked

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoinclude/init.h: fix checkpatch.pl warnings
Kamalesh Babulal [Wed, 16 Mar 2022 16:16:04 +0000 (21:46 +0530)] 
include/init.h: fix checkpatch.pl warnings

This patch introduces coding style changes such as reverse xmas tree
local variable declarations, header file reordering, and many other
minor tweaks such as line spacing, removing trailing white spaces.

In summary, this patch fixes the following checkpatch.pl
recommendations:
total: 0 errors, 1 warnings, 86 lines checked

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agoinclude/groups.h: fix checkpatch.pl warnings
Kamalesh Babulal [Wed, 16 Mar 2022 16:15:44 +0000 (21:45 +0530)] 
include/groups.h: fix checkpatch.pl warnings

Fix all of the warnings/errors reported by Linux Kernel's checkpatch.pl,
except SPDX_LICENSE_TAG.  It also introduces reverse xmas tree local
variable declarations and header file reordering.

In summary, this patch fixes the following checkpatch.pl
recommendations:
total: 0 errors, 27 warnings, 630 lines checked

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agosamples/config/cgred.conf: fix trailing white spaces
Kamalesh Babulal [Wed, 16 Mar 2022 16:15:06 +0000 (21:45 +0530)] 
samples/config/cgred.conf: fix trailing white spaces

checkpatch.pl reported trailing white space, fix it.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agosamples/test_functions.c: fix checkpatch.pl warnings
Kamalesh Babulal [Wed, 16 Mar 2022 16:14:46 +0000 (21:44 +0530)] 
samples/test_functions.c: fix checkpatch.pl warnings

Fix all of the warnings/errors reported by Linux Kernel's checkpatch.pl,
except SPDX_LICENSE_TAG.  It also introduces reverse xmas tree local
variable declarations and header file reordering.

In summary, this patch fixes the following checkpatch.pl
recommendations:
total: 2 errors, 19 warnings, 927 lines checked

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agosamples/wrapper_test.c: fix checkpatch.pl warnings
Kamalesh Babulal [Wed, 16 Mar 2022 16:14:20 +0000 (21:44 +0530)] 
samples/wrapper_test.c: fix checkpatch.pl warnings

Fix all of the warnings/errors reported by Linux Kernel's checkpatch.pl,
except SPDX_LICENSE_TAG.  It also introduces reverse xmas tree local
variable declarations and header file reordering.

In summary, this patch fixes the following checkpatch.pl
recommendations:
total: 1 errors, 0 warnings, 44 lines checked

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agosamples/walk_test.c: fix checkpatch.pl warnings
Kamalesh Babulal [Wed, 16 Mar 2022 16:13:15 +0000 (21:43 +0530)] 
samples/walk_test.c: fix checkpatch.pl warnings

Fix all of the warnings/errors reported by Linux Kernel's checkpatch.pl,
except SPDX_LICENSE_TAG.  It also introduces reverse xmas tree local
variable declarations and header file reordering.

In summary, this patch fixes the following checkpatch.pl
recommendations:
total: 0 errors, 0 warnings, 121 lines checked

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agosamples/walk_task.c: fix checkpatch.pl warnings
Kamalesh Babulal [Wed, 16 Mar 2022 16:12:57 +0000 (21:42 +0530)] 
samples/walk_task.c: fix checkpatch.pl warnings

Fix all of the warnings/errors reported by Linux Kernel's checkpatch.pl,
except SPDX_LICENSE_TAG.  It also introduces reverse xmas tree local
variable declarations and header file reordering.

In summary, this patch fixes the following checkpatch.pl
recommendations:
total: 0 errors, 1 warnings, 49 lines checked

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agosamples/test_named_hierarchy.c: fix checkpatch.pl warnings
Kamalesh Babulal [Wed, 16 Mar 2022 16:09:07 +0000 (21:39 +0530)] 
samples/test_named_hierarchy.c: fix checkpatch.pl warnings

Fix all of the warnings/errors reported by Linux Kernel's checkpatch.pl,
except SPDX_LICENSE_TAG.  It also introduces reverse xmas tree local
variable declarations and header file reordering.

In summary, this patch fixes the following checkpatch.pl
recommendations:
total: 1 errors, 0 warnings, 47 lines checked

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agosamples/setuid.c: fix checkpatch.pl warnings
Kamalesh Babulal [Wed, 16 Mar 2022 16:07:47 +0000 (21:37 +0530)] 
samples/setuid.c: fix checkpatch.pl warnings

Fix all of the warnings/errors reported by Linux Kernel's checkpatch.pl,
except SPDX_LICENSE_TAG.  It also introduces reverse xmas tree local
variable declarations and header file reordering.

In summary, this patch fixes the following checkpatch.pl
recommendations:
0 errors, 1 warnings, 82 lines checked

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agosamples/read_stats.c: fix checkpatch.pl warnings
Kamalesh Babulal [Wed, 16 Mar 2022 16:07:14 +0000 (21:37 +0530)] 
samples/read_stats.c: fix checkpatch.pl warnings

Fix all of the warnings/errors reported by Linux Kernel's checkpatch.pl,
except SPDX_LICENSE_TAG.  It also introduces reverse xmas tree local
variable declarations and header file reordering.

In summary, this patch fixes the following checkpatch.pl
recommendations:
total: 0 errors, 0 warnings, 84 lines checked

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agosamples/proctest.c: fix checkpatch.pl warnings
Kamalesh Babulal [Wed, 16 Mar 2022 16:05:16 +0000 (21:35 +0530)] 
samples/proctest.c: fix checkpatch.pl warnings

Fix all of the warnings/errors reported by Linux Kernel's checkpatch.pl,
except SPDX_LICENSE_TAG.  It also introduces reverse xmas tree local
variable declarations and header file reordering.

In summary, this patch fixes the following checkpatch.pl
recommendations:
0 errors, 1 warnings, 55 lines checked

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agosamples/logger.c: fix checkpatch.pl warnings
Kamalesh Babulal [Wed, 16 Mar 2022 16:04:27 +0000 (21:34 +0530)] 
samples/logger.c: fix checkpatch.pl warnings

Fix all of the warnings/errors reported by Linux Kernel's checkpatch.pl,
except SPDX_LICENSE_TAG.  It also introduces reverse xmas tree local
variable declarations and header file reordering.

In summary, this patch fixes the following checkpatch.pl
recommendations:
total: 0 errors, 0 warnings, 53 lines checked

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agosamples/get_variable_names.c:fix checkpatch.pl warnings
Kamalesh Babulal [Wed, 16 Mar 2022 16:04:00 +0000 (21:34 +0530)] 
samples/get_variable_names.c:fix checkpatch.pl warnings

Fix all of the warnings/errors reported by Linux Kernel's checkpatch.pl,
except SPDX_LICENSE_TAG.  It also introduces reverse xmas tree local
variable declarations and header file reordering.

In summary, this patch fixes the following checkpatch.pl
recommendations:
total: 0 errors, 2 warnings, 59 lines checked

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agosamples/get_procs.c: fix checkpatch.pl warnings
Kamalesh Babulal [Wed, 16 Mar 2022 16:00:10 +0000 (21:30 +0530)] 
samples/get_procs.c: fix checkpatch.pl warnings

Fix all of the warnings/errors reported by Linux Kernel's checkpatch.pl,
except SPDX_LICENSE_TAG.  It also introduces reverse xmas tree local
variable declarations and header file reordering.

In summary, this patch fixes the following checkpatch.pl
recommendations:
total: 1 errors, 0 warnings, 36 lines checked

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agosamples/get_mount_point.c: fix checkpatch.pl warnings
Kamalesh Babulal [Wed, 16 Mar 2022 15:57:25 +0000 (21:27 +0530)] 
samples/get_mount_point.c: fix checkpatch.pl warnings

Fix all of the warnings/errors reported by Linux Kernel's checkpatch.pl,
except SPDX_LICENSE_TAG.  It also introduces reverse xmas tree local
variable declarations and header file reordering.

In summary, this patch fixes the following checkpatch.pl
recommendations:
total: 1 errors, 1 warnings, 49 lines checked

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
3 years agosamples/get_controller.c: fix checkpatch.pl warnings
Kamalesh Babulal [Wed, 16 Mar 2022 15:55:22 +0000 (21:25 +0530)] 
samples/get_controller.c: fix checkpatch.pl warnings

Fix all of the warnings/errors reported by Linux Kernel's checkpatch.pl,
except SPDX_LICENSE_TAG.  It also introduces reverse xmas tree local
variable declarations and header file reordering.

In summary, this patch fixes the following checkpatch.pl
recommendations:
total: 1 errors, 0 warnings, 34 lines checked

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>