summaryrefslogtreecommitdiffstats
path: root/security
diff options
context:
space:
mode:
authorAlexei Starovoitov <ast@kernel.org>2018-03-28 21:05:36 +0200
committerDaniel Borkmann <daniel@iogearbox.net>2018-03-28 22:55:19 +0200
commitcf14f27f82af78e713f8a57c477cf9233faf8b30 (patch)
tree35b9919d56890c7c3d04ec24e8c1c427b71786e2 /security
parentnet/wireless/iwlwifi: fix iwlwifi_dev_ucode_error tracepoint (diff)
downloadlinux-cf14f27f82af78e713f8a57c477cf9233faf8b30.tar.xz
linux-cf14f27f82af78e713f8a57c477cf9233faf8b30.zip
macro: introduce COUNT_ARGS() macro
move COUNT_ARGS() macro from apparmor to generic header and extend it to count till twelve. COUNT() was an alternative name for this logic, but it's used for different purpose in many other places. Similarly for CONCATENATE() macro. Suggested-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'security')
-rw-r--r--security/apparmor/include/path.h7
1 files changed, 1 insertions, 6 deletions
diff --git a/security/apparmor/include/path.h b/security/apparmor/include/path.h
index 05fb3305671e..e042b994f2b8 100644
--- a/security/apparmor/include/path.h
+++ b/security/apparmor/include/path.h
@@ -43,15 +43,10 @@ struct aa_buffers {
DECLARE_PER_CPU(struct aa_buffers, aa_buffers);
-#define COUNT_ARGS(X...) COUNT_ARGS_HELPER(, ##X, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)
-#define COUNT_ARGS_HELPER(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, n, X...) n
-#define CONCAT(X, Y) X ## Y
-#define CONCAT_AFTER(X, Y) CONCAT(X, Y)
-
#define ASSIGN(FN, X, N) ((X) = FN(N))
#define EVAL1(FN, X) ASSIGN(FN, X, 0) /*X = FN(0)*/
#define EVAL2(FN, X, Y...) do { ASSIGN(FN, X, 1); EVAL1(FN, Y); } while (0)
-#define EVAL(FN, X...) CONCAT_AFTER(EVAL, COUNT_ARGS(X))(FN, X)
+#define EVAL(FN, X...) CONCATENATE(EVAL, COUNT_ARGS(X))(FN, X)
#define for_each_cpu_buffer(I) for ((I) = 0; (I) < MAX_PATH_BUFFERS; (I)++)