Hi Alex, Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> On ti, 2015-10-13 at 13:42 +0200, Alexander Aring wrote: > This patch introduces the LOWPAN_IPHC_MAX_HC_BUF_LEN define which > represent the worst-case supported IPHC buffer length. It's used to > allocate the stack buffer space for creating the IPHC header. > > Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> > --- > include/net/6lowpan.h | 8 ++++++++ > net/6lowpan/iphc.c | 2 +- > 2 files changed, 9 insertions(+), 1 deletion(-) > > diff --git a/include/net/6lowpan.h b/include/net/6lowpan.h > index 07db532..aa5a823 100644 > --- a/include/net/6lowpan.h > +++ b/include/net/6lowpan.h > @@ -64,12 +64,20 @@ > #define EUI64_ADDR_LEN 8 > > #define LOWPAN_NHC_MAX_ID_LEN 1 > +/* Maximum next header compression length which we currently support inclusive > + * possible inline data. > + */ > +#define LOWPAN_NHC_MAX_HDR_LEN (sizeof(struct udphdr)) > /* Max IPHC Header len without IPv6 hdr specific inline data. > * Useful for getting the "extra" bytes we need at worst case compression. > * > * LOWPAN_IPHC + CID + LOWPAN_NHC_MAX_ID_LEN > */ > #define LOWPAN_IPHC_MAX_HEADER_LEN (2 + 1 + LOWPAN_NHC_MAX_ID_LEN) > +/* Maximum worst case IPHC header buffer size */ > +#define LOWPAN_IPHC_MAX_HC_BUF_LEN (sizeof(struct ipv6hdr) + \ > + LOWPAN_IPHC_MAX_HEADER_LEN + \ > + LOWPAN_NHC_MAX_HDR_LEN) > > /* > * ipv6 address based on mac > diff --git a/net/6lowpan/iphc.c b/net/6lowpan/iphc.c > index 78c8a49..dd5f27d 100644 > --- a/net/6lowpan/iphc.c > +++ b/net/6lowpan/iphc.c > @@ -429,7 +429,7 @@ int lowpan_header_compress(struct sk_buff *skb, struct net_device *dev, > { > u8 tmp, iphc0, iphc1, *hc_ptr; > struct ipv6hdr *hdr; > - u8 head[100] = {}; > + u8 head[LOWPAN_IPHC_MAX_HC_BUF_LEN] = {}; > int ret, addr_type; > > if (type != ETH_P_IPV6) Cheers, Jukka -- To unsubscribe from this list: send the line "unsubscribe linux-wpan" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html