Just to be clear, I'm no expert in kernel level modifications... in fact, I am quite a noob in this area. But I did manage to workaround this in a super hacky way.
In vmnet, the compat_sk_alloc call in bridge.c essentially eventually calls include/net/sock.h sk_alloc as defined in vmnetInt.h
Now, in vmnetInt.h, this is how sk_alloc is called
extern struct proto vmnet_proto;
#ifdef VMW_NETDEV_HAS_NET
# define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \
PF_NETLINK, _pri, &vmnet_proto)
#else
# define compat_sk_alloc(_bri, _pri) sk_alloc(PF_NETLINK, _pri, &vmnet_proto, 1)
#endif
And for kernel 4.2rc1+, I made this change according to the method signature for sk_alloc in include/net/sock.h [struct sock *sk_alloc(struct net *net, int family, gfp_t priority, struct proto *prot, int kern]
extern struct proto vmnet_proto;
#ifdef VMW_NETDEV_HAS_NET
# define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \
PF_NETLINK, _pri, &vmnet_proto, 1)
#else
# define compat_sk_alloc(_bri, _pri) sk_alloc(PF_NETLINK, _pri, &vmnet_proto, 1)
#endif
And then ran sudo vmware-modconfig --console --install-all and everything compiled successfully.
Obviously, this is not an elegant solution and definitely not backward compatible. So hopefully, someone with more experience than me will be able to come up with a proper patch. This change works on 4.2rc1+ and I've had no issue yet!