RE: [PATCH v3 3/4] x86, mpx: add prctl commands PR_MPX_INIT,PR_MPX_RELEASE

From: Ren, Qiaowei
Date: Sun Jan 26 2014 - 06:37:53 EST



> -----Original Message-----
> From: linux-kernel-owner@xxxxxxxxxxxxxxx
> [mailto:linux-kernel-owner@xxxxxxxxxxxxxxx] On Behalf Of Ingo Molnar
> Sent: Sunday, January 26, 2014 4:40 PM
> To: Ren, Qiaowei
> Cc: H. Peter Anvin; Thomas Gleixner; Ingo Molnar; x86@xxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx; Peter Zijlstra
> Subject: Re: [PATCH v3 3/4] x86, mpx: add prctl commands PR_MPX_INIT,
> PR_MPX_RELEASE
>
>
> * Ren Qiaowei <qiaowei.ren@xxxxxxxxx> wrote:
>
> > On 01/26/2014 04:22 PM, Ingo Molnar wrote:
> > >
> > >* Qiaowei Ren <qiaowei.ren@xxxxxxxxx> wrote:
> > >
> > >>This patch adds the PR_MPX_INIT and PR_MPX_RELEASE prctl() commands
> > >>on the x86 platform. These commands can be used to init and release
> > >>MPX related resource.
> > >>
> > >>A MMU notifier will be registered during PR_MPX_INIT command
> > >>execution. So the bound tables can be automatically deallocated when
> > >>one memory area is unmapped.
> > >>
> > >>Signed-off-by: Qiaowei Ren <qiaowei.ren@xxxxxxxxx>
> > >>---
> > >> arch/x86/Kconfig | 4 ++
> > >> arch/x86/include/asm/mpx.h | 9 ++++
> > >> arch/x86/include/asm/processor.h | 16 +++++++
> > >> arch/x86/kernel/mpx.c | 84
> ++++++++++++++++++++++++++++++++++++++
> > >> include/uapi/linux/prctl.h | 6 +++
> > >> kernel/sys.c | 12 +++++
> > >> 6 files changed, 131 insertions(+), 0 deletions(-)
> > >
> > > Hm. What is the expected typical frequency of these syscalls for a
> > > larger application like a web browser? Only once per startup
> > > typically, or will they be called more frequently?
> >
> > It will be only once per startup.
>
> In that case it would be more efficient to make this part of the binary execution
> environment so that exec() sets it up automatically, not a separate prctl()
> syscall.
>
Sorry, I guess what I said is not accurate. Normally it will be only once per startup. But user application maybe only partly want to use MPX, e.g. only one thread of process. For those cases, user application need to enable MPX for specific part of the code. So it is not enough to set it up automatically.

Thanks,
Qiaowei
--
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/