Skip to contentSkip to conversation

selftests: Remove ARRAY_SIZE duplicate defines

PATCH In review Shuah Khan 5 participants 18 messages Dec 10, 2021 – Dec 13, 2021

Subsystems (12)
lore
Share & tools
lore

Shuah Khan

author maintainer
#0 lore raw

cover selftests: Remove ARRAY_SIZE duplicate defines

ARRAY_SIZE is defined in several selftests. There are about 25+ duplicate defines in various selftests source and header files. This patch series removes the duplicated defines.

Several tests that define ARRAY_SIZE also include kselftest.h or kselftest_harness.h. Remove ARRAY_SIZE defines from them.

Some tests that define ARRAY_SIZE don't include headers that define it. Remove ARRAY_SIZE define and include kselftest.h

The first patch in this series:

- Adds ARRAY_SIZE define to kselftest.h
- Adds ifndef guard around ARRAY_SIZE define in tools/include/linux/kernel.h and kselftest_harness.h
- Patches 2-12 do the cleanup and depend on patch 1, hence will have to go through kselftest tree.

Shuah Khan (12):
tools: fix ARRAY_SIZE defines in tools and selftests hdrs selftests/arm64: remove ARRAY_SIZE define from vec-syscfg.c selftests/cgroup: remove ARRAY_SIZE define from cgroup_util.h selftests/core: remove ARRAY_SIZE define from close_range_test.c selftests/ir: remove ARRAY_SIZE define from ir_loopback.c selftests/landlock: remove ARRAY_SIZE define from common.h selftests/net: remove ARRAY_SIZE define from individual tests selftests/rseq: remove ARRAY_SIZE define from individual tests selftests/seccomp: remove ARRAY_SIZE define from seccomp_benchmark selftests/sparc64: remove ARRAY_SIZE define from adi-test selftests/timens: remove ARRAY_SIZE define from individual tests selftests/vm: remove ARRAY_SIZE define from individual tests

 tools/include/linux/kernel.h                          | 2 ++
 tools/testing/selftests/arm64/fp/vec-syscfg.c         | 2 --
 tools/testing/selftests/cgroup/cgroup_util.h          | 4 ++--
 tools/testing/selftests/core/close_range_test.c       | 4 ----
 tools/testing/selftests/ir/ir_loopback.c              | 1 -
 tools/testing/selftests/kselftest.h                   | 4 ++++
 tools/testing/selftests/kselftest_harness.h           | 2 ++
 tools/testing/selftests/landlock/common.h             | 4 ----
 tools/testing/selftests/net/gro.c                     | 3 ++-
 tools/testing/selftests/net/ipsec.c                   | 1 -
 tools/testing/selftests/net/reuseport_bpf.c           | 4 +---
 tools/testing/selftests/net/rxtimestamp.c             | 2 +-
 tools/testing/selftests/net/socket.c                  | 3 ++-
 tools/testing/selftests/net/tcp_fastopen_backup_key.c | 6 ++----
 tools/testing/selftests/rseq/basic_percpu_ops_test.c  | 3 +--
 tools/testing/selftests/rseq/rseq.c                   | 3 +--
 tools/testing/selftests/seccomp/seccomp_benchmark.c   | 2 +-
 tools/testing/selftests/sparc64/drivers/adi-test.c    | 4 ----
 tools/testing/selftests/timens/procfs.c               | 2 --
 tools/testing/selftests/timens/timens.c               | 2 --
 tools/testing/selftests/vm/mremap_test.c              | 1 -
 tools/testing/selftests/vm/pkey-helpers.h             | 3 ++-
 tools/testing/selftests/vm/va_128TBswitch.c           | 2 +-
 23 files changed, 24 insertions(+), 40 deletions(-)
Signature · 1 line
2.32.0
author maintainer
#1 lore raw

PATCH 1/12 tools: fix ARRAY_SIZE defines in tools and selftests hdrs

tools/include/linux/kernel.h and kselftest_harness.h are missing ifndef guard around ARRAY_SIZE define. Fix them to avoid duplicate define errors during compile when another file defines it. This problem was found when compiling selftests that include a header with ARRAY_SIZE define.

ARRAY_SIZE is defined in several selftests. There are about 25+ duplicate defines in various selftests source and header files. Add ARRAY_SIZE to kselftest.h in preparation for removing duplicate ARRAY_SIZE defines from individual test files.

---
 tools/include/linux/kernel.h                | 2 ++
 tools/testing/selftests/kselftest.h         | 4 ++++
 tools/testing/selftests/kselftest_harness.h | 2 ++
 3 files changed, 8 insertions(+)
tools/include/linux/kernel.h +2 -0
index 3e8df500cfbd..9701e8307db0 100644
@@ -92,7 +92,9 @@ int vscnprintf(char *buf, size_t size, const char *fmt, va_list args);
 int scnprintf(char * buf, size_t size, const char * fmt, ...);
 int scnprintf_pad(char * buf, size_t size, const char * fmt, ...);
 
+#ifndef ARRAY_SIZE
 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
+#endif
 
 #define current_gfp_context(k) 0
 #define synchronize_rcu()
tools/testing/selftests/kselftest.h +4 -0
index 8d50483fe204..f1180987492c 100644
@@ -48,6 +48,10 @@
 #include <stdarg.h>
 #include <stdio.h>
 
+#ifndef ARRAY_SIZE
+#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
+#endif
+
 /* define kselftest exit codes */
 #define KSFT_PASS  0
 #define KSFT_FAIL  1
tools/testing/selftests/kselftest_harness.h +2 -0
index ae0f0f33b2a6..75164e23f036 100644
@@ -671,7 +671,9 @@
 #define EXPECT_STRNE(expected, seen) \
 	__EXPECT_STR(expected, seen, !=, 0)
 
+#ifndef ARRAY_SIZE
 #define ARRAY_SIZE(a)	(sizeof(a) / sizeof(a[0]))
+#endif
 
 /* Support an optional handler after and ASSERT_* or EXPECT_*.  The approach is
  * not thread-safe, but it should be fine in most sane test scenarios.
Signature · 1 line
2.32.0
Reviewed-by on v1 1/12
#2 lore raw

Re: [PATCH 01/12] tools: fix ARRAY_SIZE defines in tools and selftests hdrs

Quoted 6 lines · Shuah Khan

tools/include/linux/kernel.h and kselftest_harness.h are missing ifndef guard around ARRAY_SIZE define. Fix them to avoid duplicate define errors during compile when another file defines it. This problem was found when compiling selftests that include a header with ARRAY_SIZE define.

Quoted 6 lines

ARRAY_SIZE is defined in several selftests. There are about 25+ duplicate defines in various selftests source and header files. Add ARRAY_SIZE to kselftest.h in preparation for removing duplicate ARRAY_SIZE defines from individual test files.

Signature · 1 line
Kees Cook
author maintainer
#3 lore raw

PATCH 2/12 selftests/arm64: remove ARRAY_SIZE define from vec-syscfg.c

In reply to Shuah Khan

ARRAY_SIZE is defined in several selftests. Remove definitions from individual test files and include header file for the define instead. ARRAY_SIZE define is added in a separate patch to prepare for this change.

Remove ARRAY_SIZE from vec-syscfg.c and pickup the one defined in kselftest.h.

---
 tools/testing/selftests/arm64/fp/vec-syscfg.c | 2 --
 1 file changed, 2 deletions(-)
tools/testing/selftests/arm64/fp/vec-syscfg.c +0 -2
index 272b888e018e..c90658811a83 100644
@@ -21,8 +21,6 @@
 #include "../../kselftest.h"
 #include "rdvl.h"
 
-#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-
 #define ARCH_MIN_VL SVE_VL_MIN
 
 struct vec_data {
Signature · 1 line
2.32.0
maintainer Acked-by on v1 2/12
#4 lore raw

Re: [PATCH 02/12] selftests/arm64: remove ARRAY_SIZE define from vec-syscfg.c

Quoted 18 lines · Shuah Khan

ARRAY_SIZE is defined in several selftests. Remove definitions from individual test files and include header file for the define instead. ARRAY_SIZE define is added in a separate patch to prepare for this change.

Remove ARRAY_SIZE from vec-syscfg.c and pickup the one defined in kselftest.h.

---
 tools/testing/selftests/arm64/fp/vec-syscfg.c | 2 --
 1 file changed, 2 deletions(-)
tools/testing/selftests/arm64/fp/vec-syscfg.c +0 -0
index 272b888e018e..c90658811a83 100644

tools/testing/selftests/arm64/fp/vec-syscfg.c line 26

Quoted 8 lines
tools/testing/selftests/arm64/fp/vec-syscfg.c +0 -2
@@ -21,8 +21,6 @@
 #include "../../kselftest.h"
 #include "rdvl.h"
 
-#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-
 #define ARCH_MIN_VL SVE_VL_MIN
 
 struct vec_data {

Will

author maintainer
#5 lore raw

PATCH 3/12 selftests/cgroup: remove ARRAY_SIZE define from cgroup_util.h

In reply to Shuah Khan

ARRAY_SIZE is defined in several selftests. Remove definitions from individual test files and include header file for the define instead. ARRAY_SIZE define is added in a separate patch to prepare for this change.

Remove ARRAY_SIZE from cgroup_util.h and pickup the one defined in kselftest.h.

---
 tools/testing/selftests/cgroup/cgroup_util.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
tools/testing/selftests/cgroup/cgroup_util.h +2 -2
index 82e59cdf16e7..4f66d10626d2 100644
@@ -2,9 +2,9 @@
 #include <stdbool.h>
 #include <stdlib.h>
 
-#define PAGE_SIZE 4096
+#include "../kselftest.h"
 
-#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
+#define PAGE_SIZE 4096
 
 #define MB(x) (x << 20)
 
Signature · 1 line
2.32.0
author maintainer
#6 lore raw

PATCH 4/12 selftests/core: remove ARRAY_SIZE define from close_range_test.c

In reply to Shuah Khan

ARRAY_SIZE is defined in several selftests. Remove definitions from individual test files and include header file for the define instead. ARRAY_SIZE define is added in a separate patch to prepare for this change.

Remove ARRAY_SIZE from close_range_test.c and pickup the one defined in kselftest.h.

---
 tools/testing/selftests/core/close_range_test.c | 4 ----
 1 file changed, 4 deletions(-)
tools/testing/selftests/core/close_range_test.c +0 -4
index aa7d13d91963..749239930ca8 100644
@@ -50,10 +50,6 @@ static inline int sys_close_range(unsigned int fd, unsigned int max_fd,
 	return syscall(__NR_close_range, fd, max_fd, flags);
 }
 
-#ifndef ARRAY_SIZE
-#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
-#endif
-
 TEST(core_close_range)
 {
 	int i, ret;
Signature · 1 line
2.32.0
author maintainer
#7 lore raw

PATCH 5/12 selftests/ir: remove ARRAY_SIZE define from ir_loopback.c

In reply to Shuah Khan

ARRAY_SIZE is defined in several selftests. Remove definitions from individual test files and include header file for the define instead. ARRAY_SIZE define is added in a separate patch to prepare for this change.

Remove ARRAY_SIZE from ir_loopback.c and pickup the one defined in kselftest.h.

---
 tools/testing/selftests/ir/ir_loopback.c | 1 -
 1 file changed, 1 deletion(-)
tools/testing/selftests/ir/ir_loopback.c +0 -1
index af7f9c7d59bc..06256c96df12 100644
@@ -26,7 +26,6 @@
 #include "../kselftest.h"
 
 #define TEST_SCANCODES	10
-#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
 #define SYSFS_PATH_MAX 256
 #define DNAME_PATH_MAX 256
 
Signature · 1 line
2.32.0
author maintainer
#8 lore raw

PATCH 6/12 selftests/landlock: remove ARRAY_SIZE define from common.h

In reply to Shuah Khan

ARRAY_SIZE is defined in several selftests. Remove definitions from individual test files and include header file for the define instead. ARRAY_SIZE define is added in a separate patch to prepare for this change.

Remove ARRAY_SIZE from common.h and pickup the one defined in kselftest.h.

---
 tools/testing/selftests/landlock/common.h | 4 ----
 1 file changed, 4 deletions(-)
tools/testing/selftests/landlock/common.h +0 -4
index 20e2a9286d71..183b7e8e1b95 100644
@@ -17,10 +17,6 @@
 
 #include "../kselftest_harness.h"
 
-#ifndef ARRAY_SIZE
-#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
-#endif
-
 /*
  * TEST_F_FORK() is useful when a test drop privileges but the corresponding
  * FIXTURE_TEARDOWN() requires them (e.g. to remove files from a directory
Signature · 1 line
2.32.0
maintainer Acked-by on v1 6/12
#9 lore raw

Re: [PATCH 06/12] selftests/landlock: remove ARRAY_SIZE define from common.h

Quoted 9 lines · Shuah Khan

ARRAY_SIZE is defined in several selftests. Remove definitions from individual test files and include header file for the define instead. ARRAY_SIZE define is added in a separate patch to prepare for this change.

Remove ARRAY_SIZE from common.h and pickup the one defined in kselftest.h.

Quoted 20 lines
---
  tools/testing/selftests/landlock/common.h | 4 ----
  1 file changed, 4 deletions(-)
tools/testing/selftests/landlock/common.h +0 -4
index 20e2a9286d71..183b7e8e1b95 100644
@@ -17,10 +17,6 @@
 
  #include "../kselftest_harness.h"
 
-#ifndef ARRAY_SIZE
-#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
-#endif
-
  /*
   * TEST_F_FORK() is useful when a test drop privileges but the corresponding
   * FIXTURE_TEARDOWN() requires them (e.g. to remove files from a directory
author maintainer
#10 lore raw

PATCH 7/12 selftests/net: remove ARRAY_SIZE define from individual tests

In reply to Shuah Khan

ARRAY_SIZE is defined in several selftests. Remove definitions from individual test files and include header file for the define instead. ARRAY_SIZE define is added in a separate patch to prepare for this change.

Remove ARRAY_SIZE from net tests and pickup the one defined in kselftest.h.

---
 tools/testing/selftests/net/gro.c                     | 3 ++-
 tools/testing/selftests/net/ipsec.c                   | 1 -
 tools/testing/selftests/net/reuseport_bpf.c           | 4 +---
 tools/testing/selftests/net/rxtimestamp.c             | 2 +-
 tools/testing/selftests/net/socket.c                  | 3 ++-
 tools/testing/selftests/net/tcp_fastopen_backup_key.c | 6 ++----
 6 files changed, 8 insertions(+), 11 deletions(-)
tools/testing/selftests/net/gro.c +2 -1
index cf37ce86b0fd..221525ccbe1d 100644
@@ -57,10 +57,11 @@
 #include <string.h>
 #include <unistd.h>
 
+#include "../kselftest.h"
+
 #define DPORT 8000
 #define SPORT 1500
 #define PAYLOAD_LEN 100
-#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
 #define NUM_PACKETS 4
 #define START_SEQ 100
 #define START_ACK 100
tools/testing/selftests/net/ipsec.c +0 -1
index 3d7dde2c321b..cc10c10c5ed9 100644
@@ -41,7 +41,6 @@
 
 #define pr_err(fmt, ...)	printk(fmt ": %m", ##__VA_ARGS__)
 
-#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
 #define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
 
 #define IPV4_STR_SZ	16	/* xxx.xxx.xxx.xxx is longest + \0 */
tools/testing/selftests/net/reuseport_bpf.c +1 -3
index b5277106df1f..072d709c96b4 100644
@@ -24,9 +24,7 @@
 #include <sys/resource.h>
 #include <unistd.h>
 
-#ifndef ARRAY_SIZE
-#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
-#endif
+#include "../kselftest.h"
 
 struct test_params {
 	int recv_family;
tools/testing/selftests/net/rxtimestamp.c +1 -1
index e4613ce4ed69..9eb42570294d 100644
@@ -18,7 +18,7 @@
 #include <linux/net_tstamp.h>
 #include <linux/errqueue.h>
 
-#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
+#include "../kselftest.h"
 
 struct options {
 	int so_timestamp;
tools/testing/selftests/net/socket.c +2 -1
index afca1ead677f..db1aeb8c5d1e 100644
@@ -7,6 +7,8 @@
 #include <sys/socket.h>
 #include <netinet/in.h>
 
+#include "../kselftest.h"
+
 struct socket_testcase {
 	int	domain;
 	int	type;
@@ -31,7 +33,6 @@ static struct socket_testcase tests[] = {
 	{ AF_INET, SOCK_STREAM, IPPROTO_UDP, -EPROTONOSUPPORT, 1  },
 };
 
-#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
 #define ERR_STRING_SZ	64
 
 static int run_tests(void)
tools/testing/selftests/net/tcp_fastopen_backup_key.c +2 -4
index 9c55ec44fc43..c1cb0c75156a 100644
@@ -26,6 +26,8 @@
 #include <fcntl.h>
 #include <time.h>
 
+#include "../kselftest.h"
+
 #ifndef TCP_FASTOPEN_KEY
 #define TCP_FASTOPEN_KEY 33
 #endif
@@ -34,10 +36,6 @@
 #define PROC_FASTOPEN_KEY "/proc/sys/net/ipv4/tcp_fastopen_key"
 #define KEY_LENGTH 16
 
-#ifndef ARRAY_SIZE
-#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
-#endif
-
 static bool do_ipv6;
 static bool do_sockopt;
 static bool do_rotate;
Signature · 1 line
2.32.0
maintainer Acked-by on v1 7/12
#11 lore raw

Re: [PATCH 07/12] selftests/net: remove ARRAY_SIZE define from individual tests

Quoted 7 lines · On Fri, 10 Dec 2021 10:33:17 -0700 Shuah Khan wrote:

ARRAY_SIZE is defined in several selftests. Remove definitions from individual test files and include header file for the define instead. ARRAY_SIZE define is added in a separate patch to prepare for this change.

Remove ARRAY_SIZE from net tests and pickup the one defined in kselftest.h.

author maintainer
#12 lore raw

PATCH 8/12 selftests/rseq: remove ARRAY_SIZE define from individual tests

In reply to Shuah Khan

ARRAY_SIZE is defined in several selftests. Remove definitions from individual test files and include header file for the define instead. ARRAY_SIZE define is added in a separate patch to prepare for this change.

Remove ARRAY_SIZE from rseq tests and pickup the one defined in kselftest.h.

---
 tools/testing/selftests/rseq/basic_percpu_ops_test.c | 3 +--
 tools/testing/selftests/rseq/rseq.c                  | 3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)
tools/testing/selftests/rseq/basic_percpu_ops_test.c +1 -2
index eb3f6db36d36..b953a52ff706 100644
@@ -9,10 +9,9 @@
 #include <string.h>
 #include <stddef.h>
 
+#include "../kselftest.h"
 #include "rseq.h"
 
-#define ARRAY_SIZE(arr)	(sizeof(arr) / sizeof((arr)[0]))
-
 struct percpu_lock_entry {
 	intptr_t v;
 } __attribute__((aligned(128)));
tools/testing/selftests/rseq/rseq.c +1 -2
index 7159eb777fd3..fb440dfca158 100644
@@ -27,10 +27,9 @@
 #include <signal.h>
 #include <limits.h>
 
+#include "../kselftest.h"
 #include "rseq.h"
 
-#define ARRAY_SIZE(arr)	(sizeof(arr) / sizeof((arr)[0]))
-
 __thread volatile struct rseq __rseq_abi = {
 	.cpu_id = RSEQ_CPU_ID_UNINITIALIZED,
 };
Signature · 1 line
2.32.0
author maintainer
#13 lore raw

PATCH 9/12 selftests/seccomp: remove ARRAY_SIZE define from seccomp_benchmark

In reply to Shuah Khan

ARRAY_SIZE is defined in several selftests. Remove definitions from individual test files and include header file for the define instead. ARRAY_SIZE define is added in a separate patch to prepare for this change.

Remove ARRAY_SIZE from seccomp_benchmark and pickup the one defined in kselftest.h.

---
 tools/testing/selftests/seccomp/seccomp_benchmark.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
tools/testing/selftests/seccomp/seccomp_benchmark.c +1 -1
index 6e5102a7d7c9..5b5c9d558dee 100644
@@ -18,7 +18,7 @@
 #include <sys/syscall.h>
 #include <sys/types.h>
 
-#define ARRAY_SIZE(a)    (sizeof(a) / sizeof(a[0]))
+#include "../kselftest.h"
 
 unsigned long long timing(clockid_t clk_id, unsigned long long samples)
 {
Signature · 1 line
2.32.0
Reviewed-by on v1 9/12
#14 lore raw

Re: [PATCH 09/12] selftests/seccomp: remove ARRAY_SIZE define from seccomp_benchmark

Quoted 9 lines · Shuah Khan

ARRAY_SIZE is defined in several selftests. Remove definitions from individual test files and include header file for the define instead. ARRAY_SIZE define is added in a separate patch to prepare for this change.

Remove ARRAY_SIZE from seccomp_benchmark and pickup the one defined in kselftest.h.

Good idea to clean these up; thanks!

Signature · 1 line
Kees Cook
author maintainer
#15 lore raw

PATCH 10/12 selftests/sparc64: remove ARRAY_SIZE define from adi-test

In reply to Shuah Khan

ARRAY_SIZE is defined in several selftests. Remove definition from individual test files and include header file for the define instead. ARRAY_SIZE define is added in a separate patch to prepare for this change.

Remove ARRAY_SIZE from adi-test and pickup the one defined in kselftest.h.

---
 tools/testing/selftests/sparc64/drivers/adi-test.c | 4 ----
 1 file changed, 4 deletions(-)
tools/testing/selftests/sparc64/drivers/adi-test.c +0 -4
index 95d93c6a88a5..84e5d9fd20b0 100644
@@ -24,10 +24,6 @@
 #define DEBUG_LEVEL_4_BIT	(0x0008)
 #define DEBUG_TIMING_BIT	(0x1000)
 
-#ifndef ARRAY_SIZE
-# define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
-#endif
-
 /* bit mask of enabled bits to print */
 #define DEBUG 0x0001
 
Signature · 1 line
2.32.0
author maintainer
#16 lore raw

PATCH 11/12 selftests/timens: remove ARRAY_SIZE define from individual tests

In reply to Shuah Khan

ARRAY_SIZE is defined in several selftests. Remove definitions from individual test files and include header file for the define instead. ARRAY_SIZE define is added in a separate patch to prepare for this change.

Remove ARRAY_SIZE from timens tests and pickup the one defined in kselftest.h.

---
 tools/testing/selftests/timens/procfs.c | 2 --
 tools/testing/selftests/timens/timens.c | 2 --
 2 files changed, 4 deletions(-)
tools/testing/selftests/timens/procfs.c +0 -2
index f2519154208a..1833ca97eb24 100644
@@ -24,8 +24,6 @@
 #define DAY_IN_SEC			(60*60*24)
 #define TEN_DAYS_IN_SEC			(10*DAY_IN_SEC)
 
-#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
-
 static int child_ns, parent_ns;
 
 static int switch_ns(int fd)
tools/testing/selftests/timens/timens.c +0 -2
index 52b6a1185f52..387220791a05 100644
@@ -22,8 +22,6 @@
 #define DAY_IN_SEC			(60*60*24)
 #define TEN_DAYS_IN_SEC			(10*DAY_IN_SEC)
 
-#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
-
 struct test_clock {
 	clockid_t id;
 	char *name;
Signature · 1 line
2.32.0
author maintainer
#17 lore raw

PATCH 12/12 selftests/vm: remove ARRAY_SIZE define from individual tests

In reply to Shuah Khan

ARRAY_SIZE is defined in several selftests. Remove definitions from individual test files and include header file for the define instead. ARRAY_SIZE define is added in a separate patch to prepare for this change.

Remove ARRAY_SIZE from vm tests and pickup the one defined in kselftest.h.

---
 tools/testing/selftests/vm/mremap_test.c    | 1 -
 tools/testing/selftests/vm/pkey-helpers.h   | 3 ++-
 tools/testing/selftests/vm/va_128TBswitch.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
tools/testing/selftests/vm/mremap_test.c +0 -1
index 0624d1bd71b5..7c0b0617b9f8 100644
@@ -20,7 +20,6 @@
 #define VALIDATION_DEFAULT_THRESHOLD 4	/* 4MB */
 #define VALIDATION_NO_THRESHOLD 0	/* Verify the entire region */
 
-#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
 #define MIN(X, Y) ((X) < (Y) ? (X) : (Y))
 
 struct config {
tools/testing/selftests/vm/pkey-helpers.h +2 -1
index 622a85848f61..92f3be3dd8e5 100644
@@ -13,6 +13,8 @@
 #include <ucontext.h>
 #include <sys/mman.h>
 
+#include "../kselftest.h"
+
 /* Define some kernel-like types */
 #define  u8 __u8
 #define u16 __u16
@@ -175,7 +177,6 @@ static inline void __pkey_write_allow(int pkey, int do_allow_write)
 	dprintf4("pkey_reg now: %016llx\n", read_pkey_reg());
 }
 
-#define ARRAY_SIZE(x) (sizeof(x) / sizeof(*(x)))
 #define ALIGN_UP(x, align_to)	(((x) + ((align_to)-1)) & ~((align_to)-1))
 #define ALIGN_DOWN(x, align_to) ((x) & ~((align_to)-1))
 #define ALIGN_PTR_UP(p, ptr_align_to)	\
tools/testing/selftests/vm/va_128TBswitch.c +1 -1
index 83acdff26a13..da6ec3b53ea8 100644
@@ -9,7 +9,7 @@
 #include <sys/mman.h>
 #include <string.h>
 
-#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
+#include "../kselftest.h"
 
 #ifdef __powerpc64__
 #define PAGE_SIZE	(64 << 10)
Signature · 1 line
2.32.0