Solomon Boulos has uploaded this change for review. (
https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/502353 )
Change subject: PROXY_V3: work around bindresvport threadsafety.
......................................................................
PROXY_V3: work around bindresvport threadsafety.
To get a privileged port, the V3 proxy's rpc code
asks bindresvport_sa to hand us one. Modern versions
of glibc (since 2.17) are thread-safe, but many existing
implementations (including libntirpc) just use a local
static variable for the "choose a port". The V4 proxy
calls the related rresvport_af but is holding a lock,
so it's at least single threaded amongst itself.
The race here was causing the client port to sometimes be an
unprivileged port, so knfsd was correctly returning a
permission error.
Change-Id: I5a9f60451cf9154130a6f3fc21979cbe6e6d2049
Fixes: #580
Signed-off-by: Solomon Boulos <boulos(a)google.com>
---
M src/FSAL/FSAL_PROXY_V3/rpc.c
1 file changed, 30 insertions(+), 1 deletion(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/53/502353/1
--
To view, visit
https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/502353
To unsubscribe, or for help writing mail filters, visit
https://review.gerrithub.io/settings
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I5a9f60451cf9154130a6f3fc21979cbe6e6d2049
Gerrit-Change-Number: 502353
Gerrit-PatchSet: 1
Gerrit-Owner: Solomon Boulos <boulos(a)google.com>
Gerrit-MessageType: newchange