Hi +static const struct vsock_transport * +vsock_connectible_lookup_transport(unsigned int cid, __u8 flags) ^^^ may be just 'u8' ? +{ + const struct vsock_transport *transport; ^^^ do we really need this variable now? May be shorter like: if (A) return transport_local; else if (B) return transport_g2h; else return transport_h2g; + + if (vsock_use_local_transport(cid)) + transport = transport_local; + else if (cid <= VMADDR_CID_HOST || !transport_h2g || + (flags & VMADDR_FLAG_TO_HOST)) + transport = transport_g2h; + else + transport = transport_h2g; + + return transport; +} + Thanks