Page MenuHomeFreeBSD

D37008.diff
No OneTemporary

D37008.diff

diff --git a/sys/fs/nfsclient/nfs_clport.c b/sys/fs/nfsclient/nfs_clport.c
--- a/sys/fs/nfsclient/nfs_clport.c
+++ b/sys/fs/nfsclient/nfs_clport.c
@@ -1014,18 +1014,18 @@
NET_EPOCH_ENTER(et);
CURVNET_SET(CRED_TO_VNET(nmp->nm_sockreq.nr_cred));
nh = fib4_lookup(fibnum, sin->sin_addr, 0, NHR_NONE, 0);
- CURVNET_RESTORE();
- if (nh != NULL)
+ if (nh != NULL) {
addr = IA_SIN(ifatoia(nh->nh_ifa))->sin_addr;
+ if (IN_LOOPBACK(ntohl(addr.s_addr))) {
+ /* Ignore loopback addresses */
+ nh = NULL;
+ }
+ }
+ CURVNET_RESTORE();
NET_EPOCH_EXIT(et);
- if (nh == NULL)
- return (NULL);
- if (IN_LOOPBACK(ntohl(addr.s_addr))) {
- /* Ignore loopback addresses */
+ if (nh == NULL)
return (NULL);
- }
-
*isinet6p = 0;
*((struct in_addr *)paddr) = addr;

File Metadata

Mime Type
text/plain
Expires
Wed, Sep 25, 10:19 AM (21 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
12753546
Default Alt Text
D37008.diff (796 B)

Event Timeline