bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 2/2] pfinet: fix receiver lookups in iioctl-ops.c


From: Samuel Thibault
Subject: Re: [PATCH 2/2] pfinet: fix receiver lookups in iioctl-ops.c
Date: Fri, 28 Feb 2014 11:12:33 -0500
User-agent: Mutt/1.5.21+34 (58baf7c9f32f) (2010-12-30)

Justus Winter, le Thu 27 Feb 2014 23:20:41 +0100, a écrit :
> * pfinet/iioctl-ops.c: Fix receiver lookups.
> * pfinet/mig-mutate.h: Add IIOCTL_IMPORTS.
> * pfinet/Makefile: Set iioctl-MIGSFLAGS.

Ack.

> ---
>  pfinet/Makefile     |  1 +
>  pfinet/iioctl-ops.c | 44 +++++++++++++++++---------------------------
>  pfinet/mig-mutate.h |  1 +
>  3 files changed, 19 insertions(+), 27 deletions(-)
> 
> diff --git a/pfinet/Makefile b/pfinet/Makefile
> index 9bda137..10b90eb 100644
> --- a/pfinet/Makefile
> +++ b/pfinet/Makefile
> @@ -141,6 +141,7 @@ asm/checksum.h: ../config.status
>  
>  io-MIGSFLAGS = -imacros $(srcdir)/mig-mutate.h
>  socket-MIGSFLAGS = -imacros $(srcdir)/mig-mutate.h
> +iioctl-MIGSFLAGS = -imacros $(srcdir)/mig-mutate.h
>  
>  # cpp doesn't automatically make dependencies for -imacros dependencies. 
> argh.
>  io_S.h ioServer.c socket_S.h socketServer.c: mig-mutate.h
> diff --git a/pfinet/iioctl-ops.c b/pfinet/iioctl-ops.c
> index bd876ee..f1c503d 100644
> --- a/pfinet/iioctl-ops.c
> +++ b/pfinet/iioctl-ops.c
> @@ -36,8 +36,6 @@
>  #include <net/if.h>
>  #include <net/sock.h>
>  
> -#include "mig-decls.h"
> -
>  extern struct notifier_block *netdev_chain;
>  
>  /* devinet.c */
> @@ -76,21 +74,20 @@ enum siocgif_type
>  
>  #define SIOCGIF(name, type)                                          \
>    kern_return_t                                                              
> \
> -  S_iioctl_siocgif##name (io_t port,                                 \
> +  S_iioctl_siocgif##name (struct sock_user *user,                       \
>                         ifname_t ifnam,                               \
>                         sockaddr_t *addr)                             \
>    {                                                                  \
> -    return siocgifXaddr (port, ifnam, addr, type);                   \
> +    return siocgifXaddr (user, ifnam, addr, type);                   \
>    }
>  
>  /* Get some sockaddr type of info.  */
>  static kern_return_t
> -siocgifXaddr (io_t port,
> +siocgifXaddr (struct sock_user *user,
>             ifname_t ifnam,
>             sockaddr_t *addr,
>             enum siocgif_type type)
>  {
> -  struct sock_user *user = begin_using_socket_port (port);
>    error_t err = 0;
>    struct device *dev;
>    struct sockaddr_in *sin = (struct sockaddr_in *) addr;
> @@ -113,27 +110,25 @@ siocgifXaddr (io_t port,
>      }
>  
>    pthread_mutex_unlock (&global_lock);
> -  end_using_socket_port (user);
>    return err;
>  }
>  
>  #define SIOCSIF(name, type)                                          \
>    kern_return_t                                                              
> \
> -  S_iioctl_siocsif##name (io_t port,                                 \
> +  S_iioctl_siocsif##name (struct sock_user *user,                       \
>                         ifname_t ifnam,                               \
>                         sockaddr_t addr)                              \
>    {                                                                  \
> -    return siocsifXaddr (port, ifnam, &addr, type);                  \
> +    return siocsifXaddr (user, ifnam, &addr, type);                  \
>    }
>  
>  /* Set some sockaddr type of info.  */
>  static kern_return_t
> -siocsifXaddr (io_t port,
> +siocsifXaddr (struct sock_user *user,
>             ifname_t ifnam,
>             sockaddr_t *addr,
>             enum siocgif_type type)
>  {
> -  struct sock_user *user = begin_using_socket_port(port);
>    error_t err = 0;
>    struct device *dev;
>    struct sockaddr_in *sin = (struct sockaddr_in *) addr;
> @@ -160,7 +155,6 @@ siocsifXaddr (io_t port,
>      }
>  
>    pthread_mutex_unlock (&global_lock);
> -  end_using_socket_port (user);
>    return err;
>  }
>  
> @@ -172,11 +166,10 @@ SIOCSIF (dstaddr, DSTADDR);
>  
>  /* 16 SIOCSIFFLAGS -- Set flags of a network interface.  */
>  kern_return_t
> -S_iioctl_siocsifflags (io_t port,
> +S_iioctl_siocsifflags (struct sock_user *user,
>                      ifname_t ifnam,
>                      short flags)
>  {
> -  struct sock_user *user = begin_using_socket_port (port);
>    error_t err = 0;
>    struct device *dev;
>  
> @@ -193,13 +186,12 @@ S_iioctl_siocsifflags (io_t port,
>      err = dev_change_flags (dev, flags);
>  
>    pthread_mutex_unlock (&global_lock);
> -  end_using_socket_port (user);
>    return err;
>  }
>  
>  /* 17 SIOCGIFFLAGS -- Get flags of a network interface.  */
>  kern_return_t
> -S_iioctl_siocgifflags (io_t port,
> +S_iioctl_siocgifflags (struct sock_user *user,
>                      char *name,
>                      short *flags)
>  {
> @@ -225,7 +217,7 @@ SIOCSIF (netmask, NETMASK);
>  
>  /* 23 SIOCGIFMETRIC -- Get metric of a network interface.  */
>  kern_return_t
> -S_iioctl_siocgifmetric (io_t port,
> +S_iioctl_siocgifmetric (struct sock_user *user,
>                       ifname_t ifnam,
>                       int *metric)
>  {
> @@ -245,7 +237,7 @@ S_iioctl_siocgifmetric (io_t port,
>  
>  /* 24 SIOCSIFMETRIC -- Set metric of a network interface.  */
>  kern_return_t
> -S_iioctl_siocsifmetric (io_t port,
> +S_iioctl_siocsifmetric (struct sock_user *user,
>                       ifname_t ifnam,
>                       int metric)
>  {
> @@ -254,7 +246,7 @@ S_iioctl_siocsifmetric (io_t port,
>  
>  /* 25 SIOCDIFADDR -- Delete interface address.  */
>  kern_return_t
> -S_iioctl_siocdifaddr (io_t port,
> +S_iioctl_siocdifaddr (struct sock_user *user,
>                     ifname_t ifnam,
>                     sockaddr_t addr)
>  {
> @@ -275,14 +267,14 @@ SIOCGIF (netmask, NETMASK);
>  
>  /* 39 SIOCGIFHWADDR -- Get the hardware address of a network interface.  */
>  error_t
> -S_iioctl_siocgifhwaddr (io_t port,
> +S_iioctl_siocgifhwaddr (struct sock_user *user,
>                       ifname_t ifname,
>                       sockaddr_t *addr)
>  {
>    error_t err = 0;
>    struct device *dev;
>  
> -  if (!port)
> +  if (!user)
>      return EOPNOTSUPP;
>  
>    dev = get_dev (ifname);
> @@ -300,7 +292,7 @@ S_iioctl_siocgifhwaddr (io_t port,
>  
>  /* 51 SIOCGIFMTU -- Get mtu of a network interface.  */
>  error_t
> -S_iioctl_siocgifmtu (io_t port,
> +S_iioctl_siocgifmtu (struct sock_user *user,
>                    ifname_t ifnam,
>                    int *mtu)
>  {
> @@ -320,11 +312,10 @@ S_iioctl_siocgifmtu (io_t port,
>  
>  /* 51 SIOCSIFMTU -- Set mtu of a network interface.  */
>  error_t
> -S_iioctl_siocsifmtu (io_t port,
> +S_iioctl_siocsifmtu (struct sock_user *user,
>                    ifname_t ifnam,
>                    int mtu)
>  {
> -  struct sock_user *user = begin_using_socket_port (port);
>    error_t err = 0;
>    struct device *dev;
>  
> @@ -350,13 +341,12 @@ S_iioctl_siocsifmtu (io_t port,
>      }
>  
>    pthread_mutex_unlock (&global_lock);
> -  end_using_socket_port (user);
>    return err;
>  }
>  
>  /* 100 SIOCGIFINDEX -- Get index number of a network interface.  */
>  error_t
> -S_iioctl_siocgifindex (io_t port,
> +S_iioctl_siocgifindex (struct sock_user *user,
>                      ifname_t ifnam,
>                      int *index)
>  {
> @@ -376,7 +366,7 @@ S_iioctl_siocgifindex (io_t port,
>  
>  /* 101 SIOCGIFNAME -- Get name of a network interface from index number.  */
>  error_t
> -S_iioctl_siocgifname (io_t port,
> +S_iioctl_siocgifname (struct sock_user *user,
>                     ifname_t ifnam,
>                     int *index)
>  {
> diff --git a/pfinet/mig-mutate.h b/pfinet/mig-mutate.h
> index b778077..0a1eeb8 100644
> --- a/pfinet/mig-mutate.h
> +++ b/pfinet/mig-mutate.h
> @@ -25,6 +25,7 @@
>  #define IO_INTRAN sock_user_t begin_using_socket_port (io_t)
>  #define IO_DESTRUCTOR end_using_socket_port (sock_user_t)
>  #define IO_IMPORTS import "mig-decls.h";
> +#define IIOCTL_IMPORTS import "mig-decls.h";
>  
>  #define SOCKET_INTRAN sock_user_t begin_using_socket_port (socket_t)
>  #define SOCKET_DESTRUCTOR end_using_socket_port (sock_user_t)
> -- 
> 1.8.5.3
> 

-- 
Samuel
"...Deep Hack Mode--that mysterious and frightening state of
consciousness where Mortal Users fear to tread."
(By Matt Welsh)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]