[PATCH 06/25] powerpc: cleaup AMR,iAMR when a key is allocated or freed
Ram Pai
linuxram at us.ibm.com
Tue Oct 24 05:29:35 AEDT 2017
On Mon, Oct 23, 2017 at 03:13:33PM +0530, Aneesh Kumar K.V wrote:
> Ram Pai <linuxram at us.ibm.com> writes:
>
> > cleanup the bits corresponding to a key in the AMR, and IAMR
> > register, when the key is newly allocated/activated or is freed.
> > We dont want some residual bits cause the hardware enforce
> > unintended behavior when the key is activated or freed.
> >
> > Signed-off-by: Ram Pai <linuxram at us.ibm.com>
> > ---
> > arch/powerpc/include/asm/pkeys.h | 12 ++++++++++++
> > 1 files changed, 12 insertions(+), 0 deletions(-)
> >
> > diff --git a/arch/powerpc/include/asm/pkeys.h b/arch/powerpc/include/asm/pkeys.h
> > index 5a83ed7..53bf13b 100644
> > --- a/arch/powerpc/include/asm/pkeys.h
> > +++ b/arch/powerpc/include/asm/pkeys.h
> > @@ -54,6 +54,8 @@ static inline bool mm_pkey_is_allocated(struct mm_struct *mm, int pkey)
> > mm_set_pkey_is_allocated(mm, pkey));
> > }
> >
> > +extern void __arch_activate_pkey(int pkey);
> > +extern void __arch_deactivate_pkey(int pkey);
> > /*
> > * Returns a positive, 5-bit key on success, or -1 on failure.
> > */
> > @@ -80,6 +82,12 @@ static inline int mm_pkey_alloc(struct mm_struct *mm)
> >
> > ret = ffz((u32)mm_pkey_allocation_map(mm));
> > mm_set_pkey_allocated(mm, ret);
> > +
> > + /*
> > + * enable the key in the hardware
> > + */
> > + if (ret > 0)
> > + __arch_activate_pkey(ret);
> > return ret;
> > }
>
> We are already arch specific because we are defining them in
> arch/powerpc/include/asm/, then why __arch_activate_pkey() ?
almost all the memory-key internal functions are named with a two
leading underbars. So just *loosely* following a convention within that
file. The corresponding functions without the two underbars are the one
exposed to the arch-neutral code.
RP
More information about the Linuxppc-dev
mailing list