Re: [PATCH] openat2: use ARRAY_SIZE instead of ARRAY_LEN

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/18/21 7:30 PM, cgel.zte@xxxxxxxxx wrote:
From: chiminghao <chi.minghao@xxxxxxxxxx>

Missing commit log. Please add one and include information on
how you found this problem and tool output.

ARRAY_SIZE defined in <linux/kernel.h> is safer than self-defined
macros to get size of an array such as ARRAY_LEN used here.

Reported-by: Zeal Robot <zealci@xxxxxxxxxx>
Signed-off-by: chiminghao <chi.minghao@xxxxxxxxxx>
---
  tools/testing/selftests/openat2/openat2_test.c | 13 +++++++------
  1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/tools/testing/selftests/openat2/openat2_test.c b/tools/testing/selftests/openat2/openat2_test.c
index 1bddbe934204..c467f85e854e 100644
--- a/tools/testing/selftests/openat2/openat2_test.c
+++ b/tools/testing/selftests/openat2/openat2_test.c
@@ -5,6 +5,7 @@
   */
#define _GNU_SOURCE
+#include <linux/kernel.h>
  #include <fcntl.h>
  #include <sched.h>
  #include <sys/stat.h>
@@ -82,14 +83,14 @@ void test_openat2_struct(void)
  		  .size = sizeof(struct open_how_ext), .err = -E2BIG },
  	};
- BUILD_BUG_ON(ARRAY_LEN(misalignments) != NUM_OPENAT2_STRUCT_VARIATIONS);
-	BUILD_BUG_ON(ARRAY_LEN(tests) != NUM_OPENAT2_STRUCT_TESTS);
+	BUILD_BUG_ON(ARRAY_SIZE(misalignments) != NUM_OPENAT2_STRUCT_VARIATIONS);
+	BUILD_BUG_ON(ARRAY_SIZE(tests) != NUM_OPENAT2_STRUCT_TESTS);
- for (int i = 0; i < ARRAY_LEN(tests); i++) {
+	for (int i = 0; i < ARRAY_SIZE(tests); i++) {
  		struct struct_test *test = &tests[i];
  		struct open_how_ext how_ext = test->arg;
- for (int j = 0; j < ARRAY_LEN(misalignments); j++) {
+		for (int j = 0; j < ARRAY_SIZE(misalignments); j++) {
  			int fd, misalign = misalignments[j];
  			char *fdpath = NULL;
  			bool failed;
@@ -240,9 +241,9 @@ void test_openat2_flags(void)
  		  .how.resolve = 0, .err = -EINVAL },
  	};
- BUILD_BUG_ON(ARRAY_LEN(tests) != NUM_OPENAT2_FLAG_TESTS);
+	BUILD_BUG_ON(ARRAY_SIZE(tests) != NUM_OPENAT2_FLAG_TESTS);
- for (int i = 0; i < ARRAY_LEN(tests); i++) {
+	for (int i = 0; i < ARRAY_SIZE(tests); i++) {
  		int fd, fdflags = -1;
  		char *path, *fdpath = NULL;
  		bool failed = false;


thanks,
-- Shuah



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux