]> granicus.if.org Git - zfs/commitdiff
Strfree() should call kfree() not kmem_free()
authorBrian Behlendorf <behlendorf1@llnl.gov>
Sat, 31 Jul 2010 05:20:58 +0000 (22:20 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Sat, 31 Jul 2010 05:20:58 +0000 (22:20 -0700)
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.

module/spl/spl-kmem.c

index ec1ccb4ce45f00e089d5eacd445cfa6fff7e112a..53aefee144b52e4b4e3e8ea65a9319dcd275b799 100644 (file)
@@ -295,7 +295,7 @@ EXPORT_SYMBOL(strdup);
 void
 strfree(char *str)
 {
-       kmem_free(str, strlen(str) + 1);
+       kfree(str);
 }
 EXPORT_SYMBOL(strfree);