2022-05-03 00:25:07

by Christian Göttsche

[permalink] [raw]
Subject: [PATCH] selinux: avoid extra semicolon

Wrap macro into `do { } while (0)` to avoid Clang emitting warnings
about extra semicolons.
Similar to userspace commit
https://github.com/SELinuxProject/selinux/commit/9d85aa60d12e468e7fd510c2b5475b5299b71622

Signed-off-by: Christian Göttsche <[email protected]>
---
security/selinux/ss/avtab.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/security/selinux/ss/avtab.c b/security/selinux/ss/avtab.c
index cfdae20792e1..6178af5fedbe 100644
--- a/security/selinux/ss/avtab.c
+++ b/security/selinux/ss/avtab.c
@@ -40,7 +40,7 @@ static inline int avtab_hash(const struct avtab_key *keyp, u32 mask)

u32 hash = 0;

-#define mix(input) { \
+#define mix(input) do { \
u32 v = input; \
v *= c1; \
v = (v << r1) | (v >> (32 - r1)); \
@@ -48,7 +48,7 @@ static inline int avtab_hash(const struct avtab_key *keyp, u32 mask)
hash ^= v; \
hash = (hash << r2) | (hash >> (32 - r2)); \
hash = hash * m + n; \
-}
+} while (0)

mix(keyp->target_class);
mix(keyp->target_type);
--
2.36.0


2022-05-04 01:58:28

by Paul Moore

[permalink] [raw]
Subject: Re: [PATCH] selinux: avoid extra semicolon

On Mon, May 2, 2022 at 10:10 AM Christian Göttsche
<[email protected]> wrote:
>
> Wrap macro into `do { } while (0)` to avoid Clang emitting warnings
> about extra semicolons.
> Similar to userspace commit
> https://github.com/SELinuxProject/selinux/commit/9d85aa60d12e468e7fd510c2b5475b5299b71622
>
> Signed-off-by: Christian Göttsche <[email protected]>
> ---
> security/selinux/ss/avtab.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)

Merged into selinux/next with some whitespace tweaks.

--
paul-moore.com