Page MenuHomeFreeBSD

rpc_generic.c: Add CURVNET_SET/CURVNET_RESTORE around clnt_call_mbuf
AbandonedPublic

Authored by rmacklem on May 17 2025, 9:02 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Oct 3, 4:56 PM
Unknown Object (File)
Sun, Sep 28, 12:19 AM
Unknown Object (File)
Mon, Sep 22, 12:39 PM
Unknown Object (File)
Mon, Sep 22, 9:44 AM
Unknown Object (File)
Sat, Sep 20, 5:41 AM
Unknown Object (File)
Sat, Sep 20, 3:42 AM
Unknown Object (File)
Jul 13 2025, 7:48 PM
Unknown Object (File)
Jun 20 2025, 4:13 AM
Subscribers

Details

Reviewers
glebius
bz
Summary

During recent testing at a NFSv4 Bakeathon, I had a panic
that a vnet was not set in clnt_nl_call(). The call was done
from clnt_call_private() in rpc_generic.c.

Adding CURVNET_SET(TD_TO_VNET())/CURVNET_RESTORE
avoided further panics.

Test Plan

Tested while using NFSv4 mounts over TLS during a
recent NFSv4 Bakeathon testing event.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

I realized that this is a NFS client side call,
so it needs to set vnet0.
I'll do that in the specific RPC-over-TLS code.