Re: [PATCH]: MTRR: fix 32-bit ioctls on x64_32

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

 



On Tue, 16 Jan 2007 08:14:30 +0000, Giuliano Procida wrote:
> [MTRR] fix 32-bit ioctls on x64_32
> 
> Signed-off-by: Giuliano Procida <[email protected]>
> 
> ---
> 
> Fixed incomplete support for 32-bit compatibility ioctls in
> 2.6.19.1. They were unhandled in one of three case-statements.
> Testing using X server before and after change.
> 
> --- linux-source-2.6.19.1.orig/arch/i386/kernel/cpu/mtrr/if.c	2006-12-11 19:32:53.000000000 +0000
> +++ linux-source-2.6.19.1/arch/i386/kernel/cpu/mtrr/if.c	2007-01-16 07:31:06.000000000 +0000
> @@ -211,6 +211,9 @@ mtrr_ioctl(struct file *file, unsigned i
>  	default:
>  		return -ENOTTY;
>  	case MTRRIOC_ADD_ENTRY:
> +#ifdef CONFIG_COMPAT
> +	case MTRRIOC32_ADD_ENTRY:
> +#endif
>  		if (!capable(CAP_SYS_ADMIN))
>  			return -EPERM;
>  		err =
> @@ -218,21 +221,33 @@ mtrr_ioctl(struct file *file, unsigned i
>  				  file, 0);
>  		break;
>  	case MTRRIOC_SET_ENTRY:
> +#ifdef CONFIG_COMPAT
> +	case MTRRIOC32_SET_ENTRY:
> +#endif

etc

These #ifdefs are too ugly.

Since you apparently just add aliases for the case labels,
and do no actual code changes, why not
1. make the new cases unconditional, or 
2. invoke a translation function before the switch which
   maps the MTRRCIOC32_ constants to what the kernel uses

/Mikael
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux