* [PATCH kselftest-next] selftests: cgroup: fix cleanup path in test_memcg_subtree_control()
@ 2019-03-28 2:56 Roman Gushchin
2019-04-08 18:53 ` shuah
0 siblings, 1 reply; 4+ messages in thread
From: Roman Gushchin @ 2019-03-28 2:56 UTC (permalink / raw)
To: linux-kselftest
Cc: linux-kernel, Roman Gushchin, Dan Carpenter, Shuah Khan, Mike Rapoport
Dan reported, that cleanup path in test_memcg_subtree_control()
triggers a static checker warning:
./tools/testing/selftests/cgroup/test_memcontrol.c:76 \
test_memcg_subtree_control()
error: uninitialized symbol 'child2'.
Fix this by initializing child2 and parent2 variables and
split the cleanup path into few stages.
Signed-off-by: Roman Gushchin <guro@fb.com>
Fixes: 84092dbcf901 ("selftests: cgroup: add memory controller self-tests")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Shuah Khan (Samsung OSG) <shuah@kernel.org>
Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
---
.../selftests/cgroup/test_memcontrol.c | 38 ++++++++++---------
1 file changed, 21 insertions(+), 17 deletions(-)
diff --git a/tools/testing/selftests/cgroup/test_memcontrol.c b/tools/testing/selftests/cgroup/test_memcontrol.c
index 28d321ba311b..6f339882a6ca 100644
--- a/tools/testing/selftests/cgroup/test_memcontrol.c
+++ b/tools/testing/selftests/cgroup/test_memcontrol.c
@@ -26,7 +26,7 @@
*/
static int test_memcg_subtree_control(const char *root)
{
- char *parent, *child, *parent2, *child2;
+ char *parent, *child, *parent2 = NULL, *child2 = NULL;
int ret = KSFT_FAIL;
char buf[PAGE_SIZE];
@@ -34,50 +34,54 @@ static int test_memcg_subtree_control(const char *root)
parent = cg_name(root, "memcg_test_0");
child = cg_name(root, "memcg_test_0/memcg_test_1");
if (!parent || !child)
- goto cleanup;
+ goto cleanup_free;
if (cg_create(parent))
- goto cleanup;
+ goto cleanup_free;
if (cg_write(parent, "cgroup.subtree_control", "+memory"))
- goto cleanup;
+ goto cleanup_parent;
if (cg_create(child))
- goto cleanup;
+ goto cleanup_parent;
if (cg_read_strstr(child, "cgroup.controllers", "memory"))
- goto cleanup;
+ goto cleanup_child;
/* Create two nested cgroups without enabling memory controller */
parent2 = cg_name(root, "memcg_test_1");
child2 = cg_name(root, "memcg_test_1/memcg_test_1");
if (!parent2 || !child2)
- goto cleanup;
+ goto cleanup_free2;
if (cg_create(parent2))
- goto cleanup;
+ goto cleanup_free2;
if (cg_create(child2))
- goto cleanup;
+ goto cleanup_parent2;
if (cg_read(child2, "cgroup.controllers", buf, sizeof(buf)))
- goto cleanup;
+ goto cleanup_all;
if (!cg_read_strstr(child2, "cgroup.controllers", "memory"))
- goto cleanup;
+ goto cleanup_all;
ret = KSFT_PASS;
-cleanup:
- cg_destroy(child);
- cg_destroy(parent);
- free(parent);
- free(child);
-
+cleanup_all:
cg_destroy(child2);
+cleanup_parent2:
cg_destroy(parent2);
+cleanup_free2:
free(parent2);
free(child2);
+cleanup_child:
+ cg_destroy(child);
+cleanup_parent:
+ cg_destroy(parent);
+cleanup_free:
+ free(parent);
+ free(child);
return ret;
}
--
2.17.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH kselftest-next] selftests: cgroup: fix cleanup path in test_memcg_subtree_control()
2019-03-28 2:56 [PATCH kselftest-next] selftests: cgroup: fix cleanup path in test_memcg_subtree_control() Roman Gushchin
@ 2019-04-08 18:53 ` shuah
2019-04-08 21:46 ` Roman Gushchin
0 siblings, 1 reply; 4+ messages in thread
From: shuah @ 2019-04-08 18:53 UTC (permalink / raw)
To: Roman Gushchin, linux-kselftest
Cc: linux-kernel, Roman Gushchin, Dan Carpenter, Mike Rapoport, shuah
On 3/27/19 8:56 PM, Roman Gushchin wrote:
> Dan reported, that cleanup path in test_memcg_subtree_control()
> triggers a static checker warning:
> ./tools/testing/selftests/cgroup/test_memcontrol.c:76 \
> test_memcg_subtree_control()
> error: uninitialized symbol 'child2'.
>
> Fix this by initializing child2 and parent2 variables and
> split the cleanup path into few stages.
>
> Signed-off-by: Roman Gushchin <guro@fb.com>
> Fixes: 84092dbcf901 ("selftests: cgroup: add memory controller self-tests")
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
> Cc: Dan Carpenter <dan.carpenter@oracle.com>
> Cc: Shuah Khan (Samsung OSG) <shuah@kernel.org>
> Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
From and Signed-off don't match. Please fix it and resend the patch.
thanks,
-- Shuah
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH kselftest-next] selftests: cgroup: fix cleanup path in test_memcg_subtree_control()
2019-04-08 18:53 ` shuah
@ 2019-04-08 21:46 ` Roman Gushchin
0 siblings, 0 replies; 4+ messages in thread
From: Roman Gushchin @ 2019-04-08 21:46 UTC (permalink / raw)
To: shuah
Cc: Roman Gushchin, linux-kselftest, linux-kernel, Dan Carpenter,
Mike Rapoport
On Mon, Apr 08, 2019 at 12:53:39PM -0600, shuah wrote:
> On 3/27/19 8:56 PM, Roman Gushchin wrote:
> > Dan reported, that cleanup path in test_memcg_subtree_control()
> > triggers a static checker warning:
> > ./tools/testing/selftests/cgroup/test_memcontrol.c:76 \
> > test_memcg_subtree_control()
> > error: uninitialized symbol 'child2'.
> >
> > Fix this by initializing child2 and parent2 variables and
> > split the cleanup path into few stages.
> >
> > Signed-off-by: Roman Gushchin <guro@fb.com>
> > Fixes: 84092dbcf901 ("selftests: cgroup: add memory controller self-tests")
> > Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
> > Cc: Dan Carpenter <dan.carpenter@oracle.com>
> > Cc: Shuah Khan (Samsung OSG) <shuah@kernel.org>
> > Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
>
>
> From and Signed-off don't match. Please fix it and resend the patch.
Done.
Thank you!
Roman
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH kselftest-next] selftests: cgroup: fix cleanup path in test_memcg_subtree_control()
@ 2019-04-08 22:12 Roman Gushchin
0 siblings, 0 replies; 4+ messages in thread
From: Roman Gushchin @ 2019-04-08 22:12 UTC (permalink / raw)
To: linux-kselftest
Cc: linux-kernel, Roman Gushchin, Dan Carpenter, Shuah Khan, Mike Rapoport
Dan reported, that cleanup path in test_memcg_subtree_control()
triggers a static checker warning:
./tools/testing/selftests/cgroup/test_memcontrol.c:76 \
test_memcg_subtree_control()
error: uninitialized symbol 'child2'.
Fix this by initializing child2 and parent2 variables and
split the cleanup path into few stages.
Signed-off-by: Roman Gushchin <guro@fb.com>
Fixes: 84092dbcf901 ("selftests: cgroup: add memory controller self-tests")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Shuah Khan (Samsung OSG) <shuah@kernel.org>
Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
---
.../selftests/cgroup/test_memcontrol.c | 38 ++++++++++---------
1 file changed, 21 insertions(+), 17 deletions(-)
diff --git a/tools/testing/selftests/cgroup/test_memcontrol.c b/tools/testing/selftests/cgroup/test_memcontrol.c
index 28d321ba311b..6f339882a6ca 100644
--- a/tools/testing/selftests/cgroup/test_memcontrol.c
+++ b/tools/testing/selftests/cgroup/test_memcontrol.c
@@ -26,7 +26,7 @@
*/
static int test_memcg_subtree_control(const char *root)
{
- char *parent, *child, *parent2, *child2;
+ char *parent, *child, *parent2 = NULL, *child2 = NULL;
int ret = KSFT_FAIL;
char buf[PAGE_SIZE];
@@ -34,50 +34,54 @@ static int test_memcg_subtree_control(const char *root)
parent = cg_name(root, "memcg_test_0");
child = cg_name(root, "memcg_test_0/memcg_test_1");
if (!parent || !child)
- goto cleanup;
+ goto cleanup_free;
if (cg_create(parent))
- goto cleanup;
+ goto cleanup_free;
if (cg_write(parent, "cgroup.subtree_control", "+memory"))
- goto cleanup;
+ goto cleanup_parent;
if (cg_create(child))
- goto cleanup;
+ goto cleanup_parent;
if (cg_read_strstr(child, "cgroup.controllers", "memory"))
- goto cleanup;
+ goto cleanup_child;
/* Create two nested cgroups without enabling memory controller */
parent2 = cg_name(root, "memcg_test_1");
child2 = cg_name(root, "memcg_test_1/memcg_test_1");
if (!parent2 || !child2)
- goto cleanup;
+ goto cleanup_free2;
if (cg_create(parent2))
- goto cleanup;
+ goto cleanup_free2;
if (cg_create(child2))
- goto cleanup;
+ goto cleanup_parent2;
if (cg_read(child2, "cgroup.controllers", buf, sizeof(buf)))
- goto cleanup;
+ goto cleanup_all;
if (!cg_read_strstr(child2, "cgroup.controllers", "memory"))
- goto cleanup;
+ goto cleanup_all;
ret = KSFT_PASS;
-cleanup:
- cg_destroy(child);
- cg_destroy(parent);
- free(parent);
- free(child);
-
+cleanup_all:
cg_destroy(child2);
+cleanup_parent2:
cg_destroy(parent2);
+cleanup_free2:
free(parent2);
free(child2);
+cleanup_child:
+ cg_destroy(child);
+cleanup_parent:
+ cg_destroy(parent);
+cleanup_free:
+ free(parent);
+ free(child);
return ret;
}
--
2.17.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-04-08 22:12 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-28 2:56 [PATCH kselftest-next] selftests: cgroup: fix cleanup path in test_memcg_subtree_control() Roman Gushchin
2019-04-08 18:53 ` shuah
2019-04-08 21:46 ` Roman Gushchin
2019-04-08 22:12 Roman Gushchin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).