Hi Stephen, In drbg driver local variable of function are added as list nodes. one instance is given below. static inline int __init drbg_healthcheck_sanity(void) --- --- max_addtllen = drbg_max_addtl(drbg); max_request_bytes = drbg_max_request_bytes(drbg); drbg_string_fill(&addtl, buf, max_addtllen + 1); /* overflow addtllen with additonal info string */ len = drbg_generate(drbg, buf, OUTBUFLEN, &addtl); ===> Added "addtllist" to the tail. which local variable. BUG_ON(0 < len); /* overflow max_bits */ len = drbg_generate(drbg, buf, (max_request_bytes + 1), NULL); BUG_ON(0 < len); /* overflow max addtllen with personalization string */ ret = drbg_seed(drbg, &addtl, false); ====> Added "seedlist" to the tail of same list. Previous node(addtllist) already invalid(Out of scope when function returns) BUG_ON(0 == ret); /* all tests passed */ rc = 0; Is't a BUG? or I missed something. Regards Harsh Jain