diff options
author | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2017-09-11 21:12:13 +0200 |
---|---|---|
committer | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2017-09-11 21:12:13 +0200 |
commit | 54185b4302638bda745b7459ed618bb072b41c71 (patch) | |
tree | 954f375827861e076a825c8d40c7ae9a02d871e7 | |
parent | d88c5b79db7f84c6bce15b0d7cf461d725cb8824 (diff) |
Backport patch: sctp: remove the typedef sctp_sctphdr_t
-rw-r--r-- | configure.ac | 10 | ||||
-rw-r--r-- | kernel/include/linux/netfilter/ipset/ip_set_compat.h.in | 1 | ||||
-rw-r--r-- | kernel/net/netfilter/ipset/ip_set_getport.c | 5 |
3 files changed, 16 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 26883d7..d88d5b9 100644 --- a/configure.ac +++ b/configure.ac @@ -579,6 +579,16 @@ else AC_SUBST(HAVE_PASSING_EXTENDED_ACK_TO_CALLBACKS, undef) fi +AC_MSG_CHECKING([kernel source for no typedef sctp_sctphdr_t]) +if test -f $ksourcedir/include/linux/sctp.h && \ + $GREP -q '^typedef struct sctphdr' $ksourcedir/include/linux/sctp.h; then + AC_MSG_RESULT(yes) + AC_SUBST(HAVE_TYPEDEF_SCTP_SCTPHDR_T, define) +else + AC_MSG_RESULT(no) + AC_SUBST(HAVE_TYPEDEF_SCTP_SCTPHDR_T, undef) +fi + AC_MSG_CHECKING([kernel source for struct net_generic]) if test -f $ksourcedir/include/net/netns/generic.h && \ $GREP -q 'struct net_generic' $ksourcedir/include/net/netns/generic.h; then diff --git a/kernel/include/linux/netfilter/ipset/ip_set_compat.h.in b/kernel/include/linux/netfilter/ipset/ip_set_compat.h.in index 667a6b0..2630600 100644 --- a/kernel/include/linux/netfilter/ipset/ip_set_compat.h.in +++ b/kernel/include/linux/netfilter/ipset/ip_set_compat.h.in @@ -42,6 +42,7 @@ #@HAVE_NETLINK_EXTENDED_ACK@ HAVE_NETLINK_EXTENDED_ACK #@HAVE_PASSING_EXTENDED_ACK_TO_PARSERS@ HAVE_PASSING_EXTENDED_ACK_TO_PARSERS #@HAVE_PASSING_EXTENDED_ACK_TO_CALLBACKS@ HAVE_PASSING_EXTENDED_ACK_TO_CALLBACKS +#@HAVE_TYPEDEF_SCTP_SCTPHDR_T@ HAVE_TYPEDEF_SCTP_SCTPHDR_T #ifdef HAVE_EXPORT_SYMBOL_GPL_IN_MODULE_H #include <linux/module.h> diff --git a/kernel/net/netfilter/ipset/ip_set_getport.c b/kernel/net/netfilter/ipset/ip_set_getport.c index 528e94c..8614bcd 100644 --- a/kernel/net/netfilter/ipset/ip_set_getport.c +++ b/kernel/net/netfilter/ipset/ip_set_getport.c @@ -39,8 +39,13 @@ get_port(const struct sk_buff *skb, int protocol, unsigned int protooff, break; } case IPPROTO_SCTP: { +#ifdef HAVE_TYPEDEF_SCTP_SCTPHDR_T sctp_sctphdr_t _sh; const sctp_sctphdr_t *sh; +#else + struct sctphdr _sh; + const struct sctphdr *sh; +#endif sh = skb_header_pointer(skb, protooff, sizeof(_sh), &_sh); if (!sh) |