[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190109165009.GM6310@bombadil.infradead.org>
Date: Wed, 9 Jan 2019 08:50:09 -0800
From: Matthew Wilcox <willy@...radead.org>
To: Roman Penyaev <rpenyaev@...e.de>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Michal Hocko <mhocko@...e.com>,
Andrey Ryabinin <aryabinin@...tuozzo.com>,
Joe Perches <joe@...ches.com>,
"Luis R. Rodriguez" <mcgrof@...nel.org>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH 03/15] mm/vmalloc: introduce new vrealloc() call and
its subsidiary reach analog
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.
Powered by blists - more mailing lists