Strfree() should call kfree() not kmem_free()

Using kmem_free() results in deducting X bytes from the memory
accounting when --enable-debug is set.  Unfortunately, currently
the counterpart kmem_asprintf() and friends do not properly
account for memory allocated, so we must do the same on free.
If we don't then we end up with a negative number of lost bytes
reported when the module is unloaded.

A better long term fix would be to add the accounting in to the
allocation side but that's a project for another day.
This commit is contained in:
Brian Behlendorf 2010-07-30 22:20:58 -07:00
parent 099dc9c2d2
commit 41f84a8d56

View File

@ -295,7 +295,7 @@ EXPORT_SYMBOL(strdup);
void
strfree(char *str)
{
kmem_free(str, strlen(str) + 1);
kfree(str);
}
EXPORT_SYMBOL(strfree);