[PATCH] selftests: netfilter: Fix the bug of missing return values

2024-11-08 Thread guanjing
Fixed the bug of some functions were missing return values.

Fixes: eff3c558bb7e ("netfilter: ctnetlink: support filtering by zone")
Signed-off-by: Guan Jing 
---
 .../testing/selftests/net/netfilter/conntrack_dump_flush.c  | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/tools/testing/selftests/net/netfilter/conntrack_dump_flush.c 
b/tools/testing/selftests/net/netfilter/conntrack_dump_flush.c
index 254ff03297f0..5f827e10717d 100644
--- a/tools/testing/selftests/net/netfilter/conntrack_dump_flush.c
+++ b/tools/testing/selftests/net/netfilter/conntrack_dump_flush.c
@@ -43,6 +43,8 @@ static int build_cta_tuple_v4(struct nlmsghdr *nlh, int type,
mnl_attr_nest_end(nlh, nest_proto);
 
mnl_attr_nest_end(nlh, nest);
+
+   return 0;
 }
 
 static int build_cta_tuple_v6(struct nlmsghdr *nlh, int type,
@@ -71,6 +73,8 @@ static int build_cta_tuple_v6(struct nlmsghdr *nlh, int type,
mnl_attr_nest_end(nlh, nest_proto);
 
mnl_attr_nest_end(nlh, nest);
+
+   return 0;
 }
 
 static int build_cta_proto(struct nlmsghdr *nlh)
@@ -90,6 +94,8 @@ static int build_cta_proto(struct nlmsghdr *nlh)
mnl_attr_nest_end(nlh, nest_proto);
 
mnl_attr_nest_end(nlh, nest);
+
+   return 0;
 }
 
 static int conntrack_data_insert(struct mnl_socket *sock, struct nlmsghdr *nlh,
-- 
2.33.0






[PATCH v1] selftests: mm: Fix conversion specifiers in transact_test()

2024-11-18 Thread guanjing
Lots of incorrect conversion specifiers. Fix them.

Fixes: 46fd75d4a3c9 ("selftests: mm: add pagemap ioctl tests")
Signed-off-by: guanjing 
---
 tools/testing/selftests/mm/pagemap_ioctl.c | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/testing/selftests/mm/pagemap_ioctl.c 
b/tools/testing/selftests/mm/pagemap_ioctl.c
index bcc73b4e805c..fdafce0654e9 100644
--- a/tools/testing/selftests/mm/pagemap_ioctl.c
+++ b/tools/testing/selftests/mm/pagemap_ioctl.c
@@ -1405,9 +1405,9 @@ static void transact_test(int page_size)
memset(mem, 0, 0x1000 * nthreads * pages_per_thread);
 
count = get_dirty_pages_reset(mem, nthreads * pages_per_thread, 1, 
page_size);
-   ksft_test_result(count > 0, "%s count %d\n", __func__, count);
+   ksft_test_result(count > 0, "%s count %u\n", __func__, count);
count = get_dirty_pages_reset(mem, nthreads * pages_per_thread, 1, 
page_size);
-   ksft_test_result(count == 0, "%s count %d\n", __func__, count);
+   ksft_test_result(count == 0, "%s count %u\n", __func__, count);
 
finish = 0;
for (i = 0; i < nthreads; ++i)
@@ -1429,7 +1429,7 @@ static void transact_test(int page_size)
ksft_exit_fail_msg("pthread_barrier_wait\n");
 
if (count > nthreads * access_per_thread)
-   ksft_exit_fail_msg("Too big count %d expected %d, iter 
%d\n",
+   ksft_exit_fail_msg("Too big count %u expected %u, iter 
%u\n",
   count, nthreads * access_per_thread, 
i);
 
c = get_dirty_pages_reset(mem, nthreads * pages_per_thread, 1, 
page_size);
@@ -1454,7 +1454,7 @@ static void transact_test(int page_size)
 * access and application gets page fault again for the 
same write.
 */
if (count < nthreads * access_per_thread) {
-   ksft_test_result_fail("Lost update, iter %d, %d 
vs %d.\n", i, count,
+   ksft_test_result_fail("Lost update, iter %u, %u 
vs %u.\n", i, count,
  nthreads * 
access_per_thread);
return;
}
@@ -1467,7 +1467,7 @@ static void transact_test(int page_size)
finish = 1;
pthread_barrier_wait(&end_barrier);
 
-   ksft_test_result_pass("%s Extra pages %u (%.1lf%%), extra thread faults 
%d.\n", __func__,
+   ksft_test_result_pass("%s Extra pages %u (%.1lf%%), extra thread faults 
%u.\n", __func__,
  extra_pages,
  100.0 * extra_pages / (iter_count * nthreads * 
access_per_thread),
  extra_thread_faults);
-- 
2.33.0






[PATCH v1] selftests/bpf: Fix unnecessary conversion to bool in 'run_subtest'

2024-11-19 Thread guanjing
Fixes the following coccicheck:

tools/testing/selftests/bpf/test_loader.c:1033:64-69: WARNING: conversion to 
bool not needed here

Fixes: 80a4129fcf20 ("selftests/bpf: Add unit tests for 
bpf_arena_alloc/free_pages")
Signed-off-by: guanjing 
---
 tools/testing/selftests/bpf/test_loader.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/bpf/test_loader.c 
b/tools/testing/selftests/bpf/test_loader.c
index 3e9b009580d4..400f56f81272 100644
--- a/tools/testing/selftests/bpf/test_loader.c
+++ b/tools/testing/selftests/bpf/test_loader.c
@@ -1030,7 +1030,7 @@ void run_subtest(struct test_loader *tester,
}
 
do_prog_test_run(bpf_program__fd(tprog), &retval,
-bpf_program__type(tprog) == 
BPF_PROG_TYPE_SYSCALL ? true : false);
+bpf_program__type(tprog) == 
BPF_PROG_TYPE_SYSCALL);
if (retval != subspec->retval && subspec->retval != 
POINTER_VALUE) {
PRINT_FAIL("Unexpected retval: %d != %d\n", retval, 
subspec->retval);
goto tobj_cleanup;
-- 
2.33.0






[PATCH v1] selftests/bpf: fix application of sizeof to pointer

2024-11-18 Thread guanjing
sizeof when applied to a pointer typed expression gives the size of
the pointer.

tools/testing/selftests/bpf/progs/test_tunnel_kern.c:678:41-47: ERROR: 
application of sizeof to pointer

The proper fix in this particular case is to code sizeof(*gopt)
instead of sizeof(gopt).

This issue was detected with the help of Coccinelle.

Fixes: 5ddafcc377f9 ("selftests/bpf: Fix a few tests for GCC related warnings.")
Signed-off-by: guanjing 
---
 tools/testing/selftests/bpf/progs/test_tunnel_kern.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/bpf/progs/test_tunnel_kern.c 
b/tools/testing/selftests/bpf/progs/test_tunnel_kern.c
index 32127f1cd687..3a437cdc5c15 100644
--- a/tools/testing/selftests/bpf/progs/test_tunnel_kern.c
+++ b/tools/testing/selftests/bpf/progs/test_tunnel_kern.c
@@ -675,7 +675,7 @@ int ip6geneve_set_tunnel(struct __sk_buff *skb)
gopt->length = 2; /* 4-byte multiple */
*(int *) &gopt->opt_data = bpf_htonl(0xfeedbeef);
 
-   ret = bpf_skb_set_tunnel_opt(skb, gopt, sizeof(gopt));
+   ret = bpf_skb_set_tunnel_opt(skb, gopt, sizeof(*gopt));
if (ret < 0) {
log_err(ret);
return TC_ACT_SHOT;
-- 
2.33.0






Re: [PATCH v1] selftests: mm: Fix conversion specifiers intransact_test()

2024-11-21 Thread guanjing
I found it when reading the code. So far, I haven't found any tools that 
can be used for scanning yet. :)


Thank you for your review.


On 2024/11/19 15:33, Muhammad Usama Anjum wrote:

Thanks for the patch.


On 11/17/24 12:12 PM, guanjing wrote:

Lots of incorrect conversion specifiers. Fix them.

Not sure why I'd not got warnings. Just curious, how were you able
to notice these warnings?


Fixes: 46fd75d4a3c9 ("selftests: mm: add pagemap ioctl tests")
Signed-off-by: guanjing 

Reviewed-by: Muhammad Usama Anjum 


---
  tools/testing/selftests/mm/pagemap_ioctl.c | 10 +-
  1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/testing/selftests/mm/pagemap_ioctl.c 
b/tools/testing/selftests/mm/pagemap_ioctl.c
index bcc73b4e805c..fdafce0654e9 100644
--- a/tools/testing/selftests/mm/pagemap_ioctl.c
+++ b/tools/testing/selftests/mm/pagemap_ioctl.c
@@ -1405,9 +1405,9 @@ static void transact_test(int page_size)
memset(mem, 0, 0x1000 * nthreads * pages_per_thread);
  
  	count = get_dirty_pages_reset(mem, nthreads * pages_per_thread, 1, page_size);

-   ksft_test_result(count > 0, "%s count %d\n", __func__, count);
+   ksft_test_result(count > 0, "%s count %u\n", __func__, count);
count = get_dirty_pages_reset(mem, nthreads * pages_per_thread, 1, 
page_size);
-   ksft_test_result(count == 0, "%s count %d\n", __func__, count);
+   ksft_test_result(count == 0, "%s count %u\n", __func__, count);
  
  	finish = 0;

for (i = 0; i < nthreads; ++i)
@@ -1429,7 +1429,7 @@ static void transact_test(int page_size)
ksft_exit_fail_msg("pthread_barrier_wait\n");
  
  		if (count > nthreads * access_per_thread)

-   ksft_exit_fail_msg("Too big count %d expected %d, iter 
%d\n",
+   ksft_exit_fail_msg("Too big count %u expected %u, iter 
%u\n",
   count, nthreads * access_per_thread, 
i);
  
  		c = get_dirty_pages_reset(mem, nthreads * pages_per_thread, 1, page_size);

@@ -1454,7 +1454,7 @@ static void transact_test(int page_size)
 * access and application gets page fault again for the 
same write.
 */
if (count < nthreads * access_per_thread) {
-   ksft_test_result_fail("Lost update, iter %d, %d vs 
%d.\n", i, count,
+   ksft_test_result_fail("Lost update, iter %u, %u vs 
%u.\n", i, count,
  nthreads * 
access_per_thread);
return;
}
@@ -1467,7 +1467,7 @@ static void transact_test(int page_size)
finish = 1;
pthread_barrier_wait(&end_barrier);
  
-	ksft_test_result_pass("%s Extra pages %u (%.1lf%%), extra thread faults %d.\n", __func__,

+   ksft_test_result_pass("%s Extra pages %u (%.1lf%%), extra thread faults 
%u.\n", __func__,
  extra_pages,
  100.0 * extra_pages / (iter_count * nthreads * 
access_per_thread),
  extra_thread_faults);