Re: [PATCH v3 23/23] arm64: mte: Add Memory Tagging Extension documentation

Szabolcs Nagy
2020-05-15T12:53:58Z

The 05/15/2020 13:13, Catalin Marinas wrote:
> On Fri, May 15, 2020 at 01:04:33PM +0100, Szabolcs Nagy wrote:
> > The 05/15/2020 12:27, Catalin Marinas wrote:
> > > Thanks Szabolcs. While we are at this, no-one so far asked for the
> > > GCR_EL1.RRND to be exposed to user (and this implies RGSR_EL1.SEED).
> > > Since RRND=1 guarantees a distribution "no worse" than that of RRND=0, I
> > > thought there isn't much point in exposing this configuration to the
> > > user. The only advantage of RRND=0 I see is that the kernel can change
> >
> > it seems RRND=1 is the impl specific algorithm.
>
> Yes, that's the implementation specific algorithm which shouldn't be
> worse than the standard one.
>
> > > the seed randomly but, with only 4 bits per tag, it really doesn't
> > > matter much.
> > >
> > > Anyway, mentioning it here in case anyone is surprised later about the
> > > lack of RRND configurability.
> >
> > i'm not familiar with how irg works.
>
> It generates a random tag based on some algorithm.
>
> > is the seed per process state that's set up at process startup in some
> > way? or shared (and thus effectively irg is non-deterministic in
> > userspace)?
>
> The seed is only relevant if the standard algorithm is used (RRND=0).

i wanted to understand if we can get deterministic
irg behaviour in user space (which may be useful
for debugging to get reproducible tag failures).

i guess if no control is exposed that means non-
deterministic irg. i think this is fine.