Re: [cel:topic-rpc-with-tls-upcall 12/16] net/sunrpc/xprtsock.c:2544: undefined reference to `tls_client_hello_x509'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> 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







[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux