From: Manjeet Pawar <manjee...@samsung.com> Date: Thu, 24 Nov 2016 16:11:57 +0530
> From: Rohit Thapliyal <r.thapli...@samsung.com> > > np checked for NULL and then dereferenced. It should be modified > for NULL case. > > Signed-off-by: Rohit Thapliyal <r.thapli...@samsung.com> > Signed-off-by: Manjeet Pawar <manjee...@samsung.com> > Signed-off-by: Hannes Frederic Sowa <han...@stressinduktion.org> > Reviewed-by: Akhilesh Kumar <akhiles...@samsung.com> I do not think inet6_sk(sk) can ever be NULL in this function. All callers fall into two categories: 1) Calls where arguments already dereference np in some way to pass arguments to ip6_xmit(): net/dccp/ipv6.c: err = ip6_xmit(sk, skb, &fl6, opt, np->tclass); net/ipv6/inet6_connection_sock.c: res = ip6_xmit(sk, skb, &fl6, rcu_dereference(np->opt), net/ipv6/tcp_ipv6.c: err = ip6_xmit(sk, skb, fl6, opt, np->tclass); net/sctp/ipv6.c: res = ip6_xmit(sk, skb, fl6, rcu_dereference(np->opt), np->tclass); 2) Calls where the socket is a "control" socket which is initialized at procotol registration time and therefore definitely has a proper inet6_sk() pointer set up. net/dccp/ipv6.c: ip6_xmit(ctl_sk, skb, &fl6, NULL, 0); net/ipv6/tcp_ipv6.c: ip6_xmit(ctl_sk, buff, &fl6, NULL, tclass); Therefore, I think we should simply remove the NULL test entirely.