On 08/06/2018 09:30 AM, Rolf Anders wrote:
Hi,
I'm using nfs-ganesha 2.6.2 on Ubuntu 16.04. When a client mounts with "-t nfs4 -o sec=krb5,vers=4.0" ganesha.nfsd crashes in nfs_rpc_create_chan_v40():
Thread 11 "ganesha.nfsd" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffff269c700 (LWP 1118)] nfs_rpc_create_chan_v40 (clientid=0x7fffec0097b0, flags=<optimized out>) at /root/src/nfs-ganesha-2.6.2/src/MainNFSD/nfs_rpc_callback.c:591 591 if (AUTH_FAILURE(chan->auth)) { (gdb) (gdb) print chan->auth $1 = (AUTH *) 0x0
The cause seems to be the following: nfs_rpc_create_chan_v40() calls nfs_rpc_callback_setup_gss(), which calls gssd_refresh_krb5_machine_credential(). For some reason which I don't yet understand gssd_refresh_krb5_machine_credential() fails in my setup, and that makes nfs_rpc_callback_setup_gss() to return without setting chan->auth.
What would be a proper fix for this problem?
Rolf
Hi, Rolf. Looks like a bug. I have a potential fix, can you try it? You will need to apply auth-dummy-ganesha.patch to Ganesha, and auth-dummy-ntirpc.patch to ntirpc. You will likely have to re-run cmake to get ntirpc to regenerate it's exports. Thanks, Daniel