Re: [PATCH 2/3] ipc: allow compat IPC version field parsing if!ARCH_WANT_OLD_COMPAT_IPC

From: Will Deacon
Date: Thu Jul 12 2012 - 04:48:08 EST


Hi Andrew,

Thanks for picking these up.

On Wed, Jul 11, 2012 at 10:40:01PM +0100, Andrew Morton wrote:
> On Wed, 11 Jul 2012 16:32:20 +0100
> Will Deacon <will.deacon@xxxxxxx> wrote:
> > diff --git a/include/linux/compat.h b/include/linux/compat.h
> > index 4e89039..9f68e90 100644
> > --- a/include/linux/compat.h
> > +++ b/include/linux/compat.h
> > @@ -256,6 +256,7 @@ compat_sys_get_robust_list(int pid, compat_uptr_t __user *head_ptr,
> > compat_size_t __user *len_ptr);
> >
> > #ifdef CONFIG_ARCH_WANT_OLD_COMPAT_IPC
> > +#define __ARCH_WANT_COMPAT_IPC_PARSE_VERSION
> > long compat_sys_semctl(int first, int second, int third, void __user *uptr);
> > long compat_sys_msgsnd(int first, int second, int third, void __user *uptr);
> > long compat_sys_msgrcv(int first, int second, int msgtyp, int third,
> > diff --git a/ipc/compat.c b/ipc/compat.c
> > index 53cebdf..a41600f 100644
> > --- a/ipc/compat.c
> > +++ b/ipc/compat.c
> > @@ -118,7 +118,7 @@ extern int sem_ctls[];
> >
> > static inline int compat_ipc_parse_version(int *cmd)
> > {
> > -#ifdef CONFIG_ARCH_WANT_OLD_COMPAT_IPC
> > +#ifdef __ARCH_WANT_COMPAT_IPC_PARSE_VERSION
> > int version = *cmd & IPC_64;
> >
> > /* this is tricky: architectures that have support for the old
>
> Could we do this purely in Kconfig? Add a new
> CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION and always set it true if
> CONFIG_ARCH_WANT_OLD_COMPAT_IPC?

That would also work, although the current approach mirrors what is done for
the native case (i.e. this is the compat equivalent of
__ARCH_WANT_IPC_PARSE_VERSION).

I'm not too fussed either way, so I can change it if you prefer?

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