From: f...@ikuai8.com
> Sent: 25 October 2016 13:56
> The current codes use _IOC_TYPE(cmd) == 0x89 to check if the cmd is one
> socket ioctl command like SIOCGIFHWADDR. But the literal number 0x89 may
> confuse readers. So create one macro SOCK_IOC_MAGIC like SPI_IOC_MAGIC to
> enhance the readability.
> 
> Signed-off-by: Gao Feng <f...@ikuai8.com>
> ---
>  drivers/net/tun.c            | 2 +-
>  include/uapi/linux/sockios.h | 2 ++
>  2 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/tun.c b/drivers/net/tun.c
> index 9328568..9efd185 100644
> --- a/drivers/net/tun.c
> +++ b/drivers/net/tun.c
> @@ -1985,7 +1985,7 @@ static long __tun_chr_ioctl(struct file *file, unsigned 
> int cmd,
>       int le;
>       int ret;
> 
> -     if (cmd == TUNSETIFF || cmd == TUNSETQUEUE || _IOC_TYPE(cmd) == 0x89) {
> +     if (cmd == TUNSETIFF || cmd == TUNSETQUEUE || _IOC_TYPE(cmd) == 
> SOCK_IOC_MAGIC) {
>               if (copy_from_user(&ifr, argp, ifreq_len))
>                       return -EFAULT;
>       } else {
> diff --git a/include/uapi/linux/sockios.h b/include/uapi/linux/sockios.h
> index 8e7890b..b8f42f2 100644
> --- a/include/uapi/linux/sockios.h
> +++ b/include/uapi/linux/sockios.h
> @@ -24,6 +24,8 @@
>  #define SIOCINQ              FIONREAD
>  #define SIOCOUTQ     TIOCOUTQ        /* output queue size (not sent + not 
> acked) */
> 
> +#define SOCK_IOC_MAGIC       0x89
> +
>  /* Routing table calls. */
>  #define SIOCADDRT    0x890B          /* add routing table entry      */
>  #define SIOCDELRT    0x890C          /* delete routing table entry   */

Shouldn't these constants be defined in terms of SOCK_IOC_MAGIC?
And there must be a better name!

        David

Reply via email to