[LTP] svc_vc_create/clnt_vc_create and RPC_ANYFD

Stanislav Kholmanskikh
2014-03-25T15:35:20Z

Hi!

Sorry, but yet another question regarding rpc-tirpc-full-test-suite.

Some binaries from this suite pass RPC_ANYFD to svc_vc_create() or
clnt_vc_create().

Like this one -
https://github.com/linux-test-project/ltp/blob/master/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/tirpc_svc_5/tirpc_svc_5.c
:

transp = svc_vc_create(RPC_ANYFD, 1024, 1024);

And, of course, the tests using this fail.

I dig into the libtirpc sources and didn't found anything that could
state that we may pass RPC_ANYFD to these functions.

From svc_vc_create() comments:
"The filedescriptor passed in is expected to refer to a bound, but
not yet connected socket."

and from clnt_vc_create():
"fd should be an open socket"

So invoking svc_vc_create(RPC_ANYFD,...) or clnt_vc_create(RPC_ANYFD,
...) is incorrect. Right?

Thank you.