[glibc/maskray/relr] hurd if_index: Explicitly use AF_INET for if index discovery

Fangrui Song maskray@sourceware.org
Fri Oct 29 22:17:52 GMT 2021


https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=1d3decee997ba2fc24af81803299b2f4f3c47063

commit 1d3decee997ba2fc24af81803299b2f4f3c47063
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Mon Oct 18 01:39:02 2021 +0200

    hurd if_index: Explicitly use AF_INET for if index discovery
    
    5bf07e1b3a74 ("Linux: Simplify __opensock and fix race condition [BZ #28353]")
    made __opensock try NETLINK then UNIX then INET. On the Hurd, only INET
    knows about network interfaces, so better actually specify that in
    if_index.

Diff:
---
 sysdeps/mach/hurd/if_index.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/sysdeps/mach/hurd/if_index.c b/sysdeps/mach/hurd/if_index.c
index 0eab510453..e785ac15aa 100644
--- a/sysdeps/mach/hurd/if_index.c
+++ b/sysdeps/mach/hurd/if_index.c
@@ -32,7 +32,7 @@ unsigned int
 __if_nametoindex (const char *ifname)
 {
   struct ifreq ifr;
-  int fd = __opensock ();
+  int fd = __socket (AF_INET, SOCK_DGRAM, 0);
 
   if (fd < 0)
     return 0;
@@ -84,7 +84,7 @@ __if_nameindex (void)
   error_t err = 0;
   char data[2048];
   file_t server;
-  int fd = __opensock ();
+  int fd = __socket (AF_INET, SOCK_DGRAM, 0);
   struct ifconf ifc;
   unsigned int nifs, i;
   struct if_nameindex *idx = NULL;
@@ -169,7 +169,7 @@ char *
 __if_indextoname (unsigned int ifindex, char ifname[IF_NAMESIZE])
 {
   struct ifreq ifr;
-  int fd = __opensock ();
+  int fd = __socket (AF_INET, SOCK_DGRAM, 0);
 
   if (fd < 0)
     return NULL;


More information about the Glibc-cvs mailing list