On Wed, Jan 09, 2019 at 05:40:13PM +0100, Roman Penyaev wrote: > Basically vrealloc() repeats glibc realloc() with only one big difference: > old area is not freed, i.e. caller is responsible for calling vfree() in > case of successfull reallocation. Ouch. Don't call it the same thing when you're providing such different semantics. I agree with you that the new semantics are useful ones, I just want it called something else. Maybe vcopy()? vclone()? > + * Do not forget to call vfree() passing old address. But careful, > + * calling vfree() from interrupt will cause vfree_deferred() call, > + * which in its turn uses freed address as a temporal pointer for a "temporary", not temporal. > + * llist element, i.e. memory will be corrupted.