[LTP] [PATCH] tirpc_clnt_destroy: Determine the return value of clnt_create()
Hanxiao Chen (Fujitsu)
chenhx.fnst@fujitsu.com
Fri Sep 27 04:12:05 CEST 2024
> -----邮件原件-----
> 发件人: Ma Xinjian <maxj.fnst@fujitsu.com>
> 发送时间: 2024年9月26日 12:14
> 收件人: ltp@lists.linux.it; chuck.lever@oracle.com; Chen, Hanxiao
> <chenhx.fnst@fujitsu.com>
> 抄送: Ma, Xinjian <maxj.fnst@fujitsu.com>
> 主题: [PATCH] tirpc_clnt_destroy: Determine the return value of clnt_create()
>
> Determine the return value of clnt_create() to avoid segmentation fault
> when executing clnt_destroy() when the return value of create is NULL.
>
> Signed-off-by: Ma Xinjian <maxj.fnst@fujitsu.com>
> ---
> .../tirpc/tirpc_toplevel_clnt_destroy/tirpc_clnt_destroy.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git
> a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/tirpc/tirpc_toplevel_cl
> nt_destroy/tirpc_clnt_destroy.c
> b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/tirpc/tirpc_toplevel_cl
> nt_destroy/tirpc_clnt_destroy.c
> index 939ff3e4a..bb9a47503 100644
> ---
> a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/tirpc/tirpc_toplevel_cl
> nt_destroy/tirpc_clnt_destroy.c
> +++
> b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/tirpc/tirpc_toplevel_cl
> nt_destroy/tirpc_clnt_destroy.c
> @@ -58,6 +58,13 @@ int main(int argn, char *argc[])
> //first create client
> clnt = clnt_create(argc[1], progNum, VERSNUM, nettype);
>
> + if (clnt == NULL) {
> + clnt_pcreateerror("err");
> + printf("%d\n", rpc_createerr.cf_stat);
> +
> + return 1;
> + }
> +
> //then call destroy macro
> clnt_destroy(clnt);
>
With the patch above, no segfault found
And logs look better:
rpc_test 1 TINFO: 192.168.122.147/24 -- 192.168.122.148/24
rpc_test 1 TINFO: fd00::1/64 -- fd00::2/64
rpc_test 1 TINFO: timeout per run is 0h 10m 0s
rpc_test 1 TINFO: check registered RPC with rpcinfo
rpc_test 1 TINFO: registered RPC:
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
rpc_test 1 TINFO: using libtirpc: yes
rpc_test 1 TFAIL: tirpc_clnt_destroy 192.168.122.147 536875000 failed unexpectedly
12
err: RPC: Remote system error - No route to host
Tested-by: Chen Hanxiao <chenhx.fnst@fujitsu.com>
Regards,
- Chen
More information about the ltp
mailing list