Subject: Re: [PATCH net-next v10 03/11] ipv6: export a stub for IPv6 symbols used by vxlan

From: Cong Wang <[email-masked]>
Date: Fri, 30 Aug 2013 15:47:47 +0800

On Wed, 2013-08-28 at 09:12 -0700, Stephen Hemminger wrote:
> On Wed, 28 Aug 2013 13:22:51 +0800
> Cong Wang <[email-masked]> wrote:
> 
> > +struct ipv6_stub {
> > +	int (*ipv6_sock_mc_join)(struct sock *sk, int ifindex,
> > +				 const struct in6_addr *addr);
> > +	int (*ipv6_sock_mc_drop)(struct sock *sk, int ifindex,
> > +				 const struct in6_addr *addr);
> > +	int (*ipv6_dst_lookup)(struct sock *sk, struct dst_entry **dst,
> > +				struct flowi6 *fl6);
> > +	void (*udpv6_encap_enable)(void);
> > +};
> > +extern const struct ipv6_stub *ipv6_stub __read_mostly;
> > +
> 
> Since IPv6 really can't ever be safely unloaded. why not:
>  * admit that, and get rid of ipv6_module exit.
>  * then this stub can be a static const table.
> 
> You see virtual function tables that are writeable are potential malware
> targets, although eliminating all of them is impossible, I hate to
> see adding new ones.

I think getting rid of ipv6 exit deserves another thread for discussion,
not in this thread. Actually I raised same question before, but no one
replied me. If you want, I can send another patch for it after this
patchset gets merged.

Thanks!