|| ||Al Viro <viro-AT-ftp.linux.org.uk>|
|| ||Pekka Enberg <penberg-AT-cs.helsinki.fi>|
|| ||Re: 9pfs double kfree|
|| ||Mon, 6 Mar 2006 08:16:51 +0000|
|| ||Dave Jones <davej-AT-redhat.com>,
"David S. Miller" <davem-AT-davemloft.net>,
linux-kernel-AT-vger.kernel.org, ericvh-AT-gmail.com, rminnich-AT-lanl.gov|
On Mon, Mar 06, 2006 at 09:56:22AM +0200, Pekka Enberg wrote:
> On 3/6/06, Dave Jones <email@example.com> wrote:
> > I wonder if we could get away with something as simple as..
> > #define kfree(foo) \
> > __kfree(foo); \
> > foo = KFREE_POISON;
> > ?
> It's legal to call kfree() twice for NULL pointer. The above poisons
> foo unconditionally which makes that case break I think.
Legal, but rather bad taste. Init to NULL, possibly assign the value
if kmalloc(), then kfree() unconditionally - sure, but that... almost
certainly one hell of a lousy cleanup logics somewhere.
There's worse problem with that, though:
and it simply won't compile.
to post comments)