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.