From: Brian Behlendorf Date: Sat, 31 Jul 2010 05:20:58 +0000 (-0700) Subject: Strfree() should call kfree() not kmem_free() X-Git-Tag: spl-0.5.0~5 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=41f84a8d56c00f3c95a4bf0b6027bedd7abb5b15;p=spl 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. --- diff --git a/module/spl/spl-kmem.c b/module/spl/spl-kmem.c index ec1ccb4..53aefee 100644 --- a/module/spl/spl-kmem.c +++ b/module/spl/spl-kmem.c @@ -295,7 +295,7 @@ EXPORT_SYMBOL(strdup); void strfree(char *str) { - kmem_free(str, strlen(str) + 1); + kfree(str); } EXPORT_SYMBOL(strfree);