> On Nov 5, 2022, at 2:05 AM, kernel test robot <lkp@xxxxxxxxx> wrote: > > tree: git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux topic-rpc-with-tls-upcall > head: 92abd0e9e73597857455026e8312192264aaabf9 > commit: b39cc345e2d6ed4f37bea31528ccbfaa3dec4f69 [12/16] SUNRPC: Add RPC-with-TLS support to xprtsock.c > config: x86_64-rhel-8.3-kvm > compiler: gcc-11 (Debian 11.3.0-8) 11.3.0 > reproduce (this is a W=1 build): > # https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git/commit/?id=b39cc345e2d6ed4f37bea31528ccbfaa3dec4f69 > git remote add cel git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux > git fetch --no-tags cel topic-rpc-with-tls-upcall > git checkout b39cc345e2d6ed4f37bea31528ccbfaa3dec4f69 > # save the config file > mkdir build_dir && cp config build_dir/.config > make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash > > If you fix the issue, kindly add following tag where applicable > | Reported-by: kernel test robot <lkp@xxxxxxxxx> > > All errors (new ones prefixed by >>): > > ld: net/sunrpc/xprtsock.o: in function `xs_tls_handshake_sync': >>> net/sunrpc/xprtsock.c:2544: undefined reference to `tls_client_hello_x509' >>> ld: net/sunrpc/xprtsock.c:2539: undefined reference to `tls_client_hello_anon' > pahole: .tmp_vmlinux.btf: No such file or directory > .btf.vmlinux.bin.o: file not recognized: file format not recognized I am not able to reproduce this build failure. I'm on Fedora 36 with gcc-12.2.1-2 CONFIG_TLS=m CONFIG_TLS_DEVICE=y CONFIG_SUNRPC=y Any help appreciated! > vim +2544 net/sunrpc/xprtsock.c > > 2526 > 2527 static int xs_tls_handshake_sync(struct rpc_xprt *lower_xprt, struct xprtsec_parms *xprtsec) > 2528 { > 2529 struct sock_xprt *lower_transport = > 2530 container_of(lower_xprt, struct sock_xprt, xprt); > 2531 int rc; > 2532 > 2533 init_completion(&lower_transport->handshake_done); > 2534 set_bit(XPRT_SOCK_IGNORE_RECV, &lower_transport->sock_state); > 2535 > 2536 lower_transport->xprt_err = -ETIMEDOUT; > 2537 switch (xprtsec->policy) { > 2538 case RPC_XPRTSEC_TLS_ANON: >> 2539 rc = tls_client_hello_anon(lower_transport->sock, > 2540 xs_tls_handshake_done, xprt_get(lower_xprt), > 2541 TLSH_DEFAULT_PRIORITIES); > 2542 break; > 2543 case RPC_XPRTSEC_TLS_X509: >> 2544 rc = tls_client_hello_x509(lower_transport->sock, > 2545 xs_tls_handshake_done, xprt_get(lower_xprt), > 2546 TLSH_DEFAULT_PRIORITIES, > 2547 xprtsec->cert_serial, > 2548 xprtsec->privkey_serial); > 2549 break; > 2550 default: > 2551 rc = -EACCES; > 2552 } > 2553 if (rc) > 2554 goto out; > 2555 > 2556 rc = wait_for_completion_interruptible_timeout(&lower_transport->handshake_done, > 2557 XS_TLS_HANDSHAKE_TO); > 2558 if (rc < 0) > 2559 goto out; > 2560 > 2561 rc = lower_transport->xprt_err; > 2562 > 2563 out: > 2564 xs_stream_reset_connect(lower_transport); > 2565 clear_bit(XPRT_SOCK_IGNORE_RECV, &lower_transport->sock_state); > 2566 return rc; > 2567 } > 2568 > > -- > 0-DAY CI Kernel Test Service > https://01.org/lkp > <config.txt> -- Chuck Lever