Hi Mark, > Ah, this is where the time.h inclusion came from - it just got split > into the wrong patch. I would move that srandom() into the main() > function, we don't need to reset the RNG every time we generate a tag > and since time() has a resolution of a second depending on how fast the > machine is we might manage to end up setting exactly the same value for > every tag insertion the program does which would seem to defeat the > point of using a RNG here. You're right. but what I calling the every main() with srandom() seems weird for me. I think it would be better to call srandom() in mte_default_setup() which is called only one time in testcase... -- Sincerely, Yeoreum Yun ________________________________________ From: Mark Brown Sent: Wednesday, June 11, 2025 12:58 To: Yeo Reum Yun Cc: Catalin Marinas; pcc@xxxxxxxxxx; will@xxxxxxxxxx; Anshuman Khandual; Joey Gouly; Yury Khrustalev; maz@xxxxxxxxxx; oliver.upton@xxxxxxxxx; frederic@xxxxxxxxxx; akpm@xxxxxxxxxxxxxxxxxxxx; surenb@xxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux-doc@xxxxxxxxxxxxxxx Subject: Re: [PATCH v6 6/9] kselftest/arm64/mte: add address tag related macro and function On Wed, Jun 11, 2025 at 10:41:04AM +0100, Yeoreum Yun wrote: > Add address tag related macro and function to test MTE_FAR feature. > +void *mte_insert_atag(void *ptr) > +{ > + unsigned char atag; > + > + srandom(time(NULL)); > + atag = mtefar_support ? (random() % MT_ATAG_MASK) + 1 : 0; > + return (void *)MT_SET_ATAG((unsigned long)ptr, atag); > +} Ah, this is where the time.h inclusion came from - it just got split into the wrong patch. I would move that srandom() into the main() function, we don't need to reset the RNG every time we generate a tag and since time() has a resolution of a second depending on how fast the machine is we might manage to end up setting exactly the same value for every tag insertion the program does which would seem to defeat the point of using a RNG here.