lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 12 Jul 2007 16:11:46 -0700
From:	Andrew Morton <akpm@...ux-foundation.org>
To:	"Robert P. J. Day" <rpjday@...dspring.com>
Cc:	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] Make asm-generic/ioctl.h more generic using
 conditionals.

On Tue, 10 Jul 2007 06:33:26 -0400 (EDT)
"Robert P. J. Day" <rpjday@...dspring.com> wrote:

> 
> Allow individual architectures to override a small set of macros
> before including asm-generic/ioctl.h, in order to greatly simplify a
> number of existing ioctl.h files.
> 
> The overrideable macros would be:
> 
> 	_IOC_SIZEBITS
> 	_IOC_DIRBITS
> 	_IOC_NONE
> 	_IOC_WRITE
> 	_IOC_READ
> 
> ---
> 
>   i've submitted this once before, and it didn't seem to garner a lot
> of attention one way or the other.  this patch can be applied
> standalone and shouldn't affect anything, but it would subsequently
> allow at least a few ioctl.h files to be shortened considerably.

It would be good if we could see one of these followon patches.  If such an
example patch (cc'ed to the arch maintainer, please) looks OK then we can
go ahead with this base patch.

 
> diff --git a/include/asm-generic/ioctl.h b/include/asm-generic/ioctl.h
> index cd02729..4fb087a 100644
> --- a/include/asm-generic/ioctl.h
> +++ b/include/asm-generic/ioctl.h
> @@ -21,8 +21,19 @@
>   */
>  #define _IOC_NRBITS	8
>  #define _IOC_TYPEBITS	8
> -#define _IOC_SIZEBITS	14
> -#define _IOC_DIRBITS	2
> +
> +/*
> + * Let any architecture override either of the following before
> + * including this file.
> + */
> +
> +#ifndef _IOC_SIZEBITS
> +# define _IOC_SIZEBITS	14
> +#endif
> +
> +#ifndef _IOC_DIRBITS
> +# define _IOC_DIRBITS	2
> +#endif
> 
>  #define _IOC_NRMASK	((1 << _IOC_NRBITS)-1)
>  #define _IOC_TYPEMASK	((1 << _IOC_TYPEBITS)-1)
> @@ -35,11 +46,21 @@
>  #define _IOC_DIRSHIFT	(_IOC_SIZESHIFT+_IOC_SIZEBITS)
> 
>  /*
> - * Direction bits.
> + * Direction bits, which any architecture can choose to override
> + * before including this file.
>   */
> -#define _IOC_NONE	0U
> -#define _IOC_WRITE	1U
> -#define _IOC_READ	2U
> +
> +#ifndef _IOC_NONE
> +# define _IOC_NONE	0U
> +#endif
> +
> +#ifndef _IOC_WRITE
> +# define _IOC_WRITE	1U
> +#endif
> +
> +#ifndef _IOC_READ
> +# define _IOC_READ	2U
> +#endif
> 
>  #define _IOC(dir,type,nr,size) \
>  	(((dir)  << _IOC_DIRSHIFT) | \
> 
> -- 
> ========================================================================
> Robert P. J. Day
> Linux Consulting, Training and Annoying Kernel Pedantry
> Waterloo, Ontario, CANADA
> 
> http://fsdev.net/wiki/index.php?title=Main_Page
> ========================================================================
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ