Messages in this thread | | | Subject | Re: [PATCH 2/5] efivarfs: efivarfs_create() ensure we drop our reference on inode on error | From | Matt Fleming <> | Date | Fri, 12 Oct 2012 20:21:33 +0100 |
| |
On Fri, 2012-10-12 at 13:03 -0600, Khalid Aziz wrote: > This does not read right. If kzalloc() fails, var will be a NULL > pointer. This code will set err to -ENOMEM and jump to out: where since > err is non-zero, this code will call kfree(Var) but var is a NULL > pointer at this point. Now kfree() does check for NULL pointer and this > will not cause any serious problems but why call kfree for a NULL > pointer?
This is a common idiom used throughout the kernel to simply error paths. As you noted, calling kfree(NULL) is harmless and there's certainly no need to worry about the overhead of calling kfree() without doing any freeing since the error path is also the slow path.
| |