Obtain the IPv6 peer in ip6frag_init, to allow for peer memory tracking in the IPv6 fragment reassembly logic. Signed-off-by: Richard Gobert <richardbgobert@xxxxxxxxx> --- include/net/ipv6_frag.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/net/ipv6_frag.h b/include/net/ipv6_frag.h index 5052c66e22d2..62760cd3bdd1 100644 --- a/include/net/ipv6_frag.h +++ b/include/net/ipv6_frag.h @@ -6,6 +6,7 @@ #include <net/addrconf.h> #include <net/ipv6.h> #include <net/inet_frag.h> +#include <net/inetpeer.h> enum ip6_defrag_Richard Goberts { IP6_DEFRAG_LOCAL_DELIVER, @@ -33,9 +34,11 @@ static inline void ip6frag_init(struct inet_frag_queue *q, const void *a) { struct frag_queue *fq = container_of(q, struct frag_queue, q); const struct frag_v6_compare_key *key = a; + const struct net *net = q->fqdir->net; q->key.v6 = *key; fq->ecn = 0; + q->peer = inet_getpeer_v6(net->ipv6.peers, &key->saddr, 1); } static inline u32 ip6frag_key_hashfn(const void *data, u32 len, u32 seed) -- 2.36.1