Message ID | 20190320023434.2804-3-acelan.kao@canonical.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | backports: to make iwlwifi compile under v5.1-rc1 | expand |
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
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) \
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(+)