Re: [RFC PATCH 03/15] mm/vmalloc: introduce new vrealloc() call and its subsidiary reach analog

From: Matthew Wilcox
Date: Wed Jan 09 2019 - 11:50:22 EST


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.