[v2,2/2] backports: update backport/backport-include/net/netlink.h
diff mbox series

Message ID 20190320023434.2804-3-acelan.kao@canonical.com
State New
Headers show
Series
  • backports: to make iwlwifi compile under v5.1-rc1
Related show

Commit Message

AceLan Kao March 20, 2019, 2:34 a.m. UTC
Add new macros has been introduced since v5.1-rc1
   23323289b154 netlink: reduce NLA_POLICY_NESTED{,_ARRAY} arguments

V2: The new macros are required under v5.1, v1 put the macros only under
v4.20

Signed-off-by: AceLan Kao <acelan.kao@canonical.com>
---
 backport/backport-include/net/netlink.h | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

Comments

Hauke Mehrtens March 21, 2019, 12:35 p.m. UTC | #1
On 3/20/19 3:34 AM, AceLan Kao wrote:
> Add new macros has been introduced since v5.1-rc1
>    23323289b154 netlink: reduce NLA_POLICY_NESTED{,_ARRAY} arguments
> 
> V2: The new macros are required under v5.1, v1 put the macros only under
> v4.20
> 
> Signed-off-by: AceLan Kao <acelan.kao@canonical.com>
> ---
>  backport/backport-include/net/netlink.h | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 
> diff --git a/backport/backport-include/net/netlink.h b/backport/backport-include/net/netlink.h
> index 4af73631..c5db02da 100644
> --- a/backport/backport-include/net/netlink.h
> +++ b/backport/backport-include/net/netlink.h
> @@ -4,6 +4,17 @@
>  #include <linux/version.h>
>  #include <linux/in6.h>
>  
> +#if LINUX_VERSION_IS_LESS(5,1,0)
> +#define _NLA_POLICY_NESTED(maxattr, policy) \
> +	{ .type = NLA_NESTED, .validation_data = policy, .len = maxattr }
> +#define _NLA_POLICY_NESTED_ARRAY(maxattr, policy) \
> +	{ .type = NLA_NESTED_ARRAY, .validation_data = policy, .len = maxattr }
> +#define NLA_POLICY_NESTED(policy) \
> +	_NLA_POLICY_NESTED(ARRAY_SIZE(policy) - 1, policy)
> +#define NLA_POLICY_NESTED_ARRAY(policy) \
> +	_NLA_POLICY_NESTED_ARRAY(ARRAY_SIZE(policy) - 1, policy)
> +#endif /* < 5.1 */
> +
>  #if LINUX_VERSION_IS_LESS(4,20,0)
>  /* can't backport using the enum - need to override */
>  #define NLA_UNSPEC		0
> @@ -59,10 +70,14 @@ struct backport_nla_policy {
>  #define NLA_POLICY_ETH_ADDR		NLA_POLICY_EXACT_LEN(ETH_ALEN)
>  #define NLA_POLICY_ETH_ADDR_COMPAT	NLA_POLICY_EXACT_LEN_WARN(ETH_ALEN)
>  
> +#ifndef NLA_POLICY_NESTED
>  #define NLA_POLICY_NESTED(maxattr, policy) \
>  	{ .type = NLA_NESTED, .validation_data = policy, .len = maxattr }
> +#endif
> +#ifndef NLA_POLICY_NESTED_ARRAY
>  #define NLA_POLICY_NESTED_ARRAY(maxattr, policy) \
>  	{ .type = NLA_NESTED_ARRAY, .validation_data = policy, .len = maxattr }
> +#endif
>  
>  #define __NLA_ENSURE(condition) (sizeof(char[1 - 2*!(condition)]) - 1)
>  #define NLA_ENSURE_INT_TYPE(tp)				\
> 


When I compile against kernel 4.20 I am getting a lot of these warnings:


  GEN
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/net/wireless/shipped-certs.c
  CC [M]
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/net/wireless/lib80211_crypt_wep.o
  CC [M]
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/net/wireless/lib80211_crypt_ccmp.o
  CC [M]
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/net/wireless/lib80211_crypt_tkip.o
  CC [M]
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/net/wireless/shipped-certs.o
  CC [M]
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/net/wireless/lib80211.o
  CC [M]
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/net/wireless/wext-sme.o
In file included from ./include/net/genetlink.h:6:0,
                 from
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/backport-include/net/genetlink.h:3,
                 from
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/net/wireless/core.h:17,
                 from
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/net/wireless/nl80211.h:9,
                 from
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/net/wireless/wext-sme.c:16:
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/backport-include/net/netlink.h:12:0:
warning: "NLA_POLICY_NESTED" redefined
 #define NLA_POLICY_NESTED(policy) \

In file included from
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/backport-include/net/netlink.h:3:0,
                 from ./include/net/genetlink.h:6,
                 from
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/backport-include/net/genetlink.h:3,
                 from
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/net/wireless/core.h:17,
                 from
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/net/wireless/nl80211.h:9,
                 from
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/net/wireless/wext-sme.c:16:
./include/net/netlink.h:309:0: note: this is the location of the
previous definition
 #define NLA_POLICY_NESTED(maxattr, policy) \

In file included from ./include/net/genetlink.h:6:0,
                 from
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/backport-include/net/genetlink.h:3,
                 from
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/net/wireless/core.h:17,
                 from
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/net/wireless/nl80211.h:9,
                 from
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/net/wireless/wext-sme.c:16:
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/backport-include/net/netlink.h:14:0:
warning: "NLA_POLICY_NESTED_ARRAY" redefined
 #define NLA_POLICY_NESTED_ARRAY(policy) \

In file included from
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/backport-include/net/netlink.h:3:0,
                 from ./include/net/genetlink.h:6,
                 from
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/backport-include/net/genetlink.h:3,
                 from
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/net/wireless/core.h:17,
                 from
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/net/wireless/nl80211.h:9,
                 from
/pub/mem/hauke/build/tmp/.tmp.ckmake/4.20.7/net/wireless/wext-sme.c:16:
./include/net/netlink.h:311:0: note: this is the location of the
previous definition
 #define NLA_POLICY_NESTED_ARRAY(maxattr, policy) \

--
To unsubscribe from this list: send the line "unsubscribe backports" in

Patch
diff mbox series

diff --git a/backport/backport-include/net/netlink.h b/backport/backport-include/net/netlink.h
index 4af73631..c5db02da 100644
--- a/backport/backport-include/net/netlink.h
+++ b/backport/backport-include/net/netlink.h
@@ -4,6 +4,17 @@ 
 #include <linux/version.h>
 #include <linux/in6.h>
 
+#if LINUX_VERSION_IS_LESS(5,1,0)
+#define _NLA_POLICY_NESTED(maxattr, policy) \
+	{ .type = NLA_NESTED, .validation_data = policy, .len = maxattr }
+#define _NLA_POLICY_NESTED_ARRAY(maxattr, policy) \
+	{ .type = NLA_NESTED_ARRAY, .validation_data = policy, .len = maxattr }
+#define NLA_POLICY_NESTED(policy) \
+	_NLA_POLICY_NESTED(ARRAY_SIZE(policy) - 1, policy)
+#define NLA_POLICY_NESTED_ARRAY(policy) \
+	_NLA_POLICY_NESTED_ARRAY(ARRAY_SIZE(policy) - 1, policy)
+#endif /* < 5.1 */
+
 #if LINUX_VERSION_IS_LESS(4,20,0)
 /* can't backport using the enum - need to override */
 #define NLA_UNSPEC		0
@@ -59,10 +70,14 @@  struct backport_nla_policy {
 #define NLA_POLICY_ETH_ADDR		NLA_POLICY_EXACT_LEN(ETH_ALEN)
 #define NLA_POLICY_ETH_ADDR_COMPAT	NLA_POLICY_EXACT_LEN_WARN(ETH_ALEN)
 
+#ifndef NLA_POLICY_NESTED
 #define NLA_POLICY_NESTED(maxattr, policy) \
 	{ .type = NLA_NESTED, .validation_data = policy, .len = maxattr }
+#endif
+#ifndef NLA_POLICY_NESTED_ARRAY
 #define NLA_POLICY_NESTED_ARRAY(maxattr, policy) \
 	{ .type = NLA_NESTED_ARRAY, .validation_data = policy, .len = maxattr }
+#endif
 
 #define __NLA_ENSURE(condition) (sizeof(char[1 - 2*!(condition)]) - 1)
 #define NLA_ENSURE_INT_TYPE(tp)				\