diff mbox series

[v2] netlink: replace __NLA_ENSURE implementation

Message ID 20181012105300.25747-1-johannes@sipsolutions.net (mailing list archive)
State Not Applicable
Delegated to: Johannes Berg
Headers show
Series [v2] netlink: replace __NLA_ENSURE implementation | expand

Commit Message

Johannes Berg Oct. 12, 2018, 10:53 a.m. UTC
From: Johannes Berg <johannes.berg@intel.com>

We already have BUILD_BUG_ON_ZERO() which I just hadn't found
before, so we should use it here instead of open-coding another
implementation thereof.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
---
v2: remove all the language about -Wvla, I misunderstood John
    and he was just referring to *other* VLA warnings in the
    wifi stack (which we know about and are being fixed by the
    crypto tree)
---
 include/net/netlink.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

David Miller Oct. 12, 2018, 6 p.m. UTC | #1
From: Johannes Berg <johannes@sipsolutions.net>
Date: Fri, 12 Oct 2018 12:53:00 +0200

> From: Johannes Berg <johannes.berg@intel.com>
> 
> We already have BUILD_BUG_ON_ZERO() which I just hadn't found
> before, so we should use it here instead of open-coding another
> implementation thereof.
> 
> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
> ---
> v2: remove all the language about -Wvla, I misunderstood John
>     and he was just referring to *other* VLA warnings in the
>     wifi stack (which we know about and are being fixed by the
>     crypto tree)

Applied to net-next.
diff mbox series

Patch

diff --git a/include/net/netlink.h b/include/net/netlink.h
index 589683091f16..094012174b6f 100644
--- a/include/net/netlink.h
+++ b/include/net/netlink.h
@@ -311,7 +311,7 @@  struct nla_policy {
 #define NLA_POLICY_NESTED_ARRAY(maxattr, policy) \
 	{ .type = NLA_NESTED_ARRAY, .validation_data = policy, .len = maxattr }
 
-#define __NLA_ENSURE(condition) (sizeof(char[1 - 2*!(condition)]) - 1)
+#define __NLA_ENSURE(condition) BUILD_BUG_ON_ZERO(!(condition))
 #define NLA_ENSURE_INT_TYPE(tp)				\
 	(__NLA_ENSURE(tp == NLA_S8 || tp == NLA_U8 ||	\
 		      tp == NLA_S16 || tp == NLA_U16 ||	\