Re: [PATCH] hugetlbfs: add err code in initializing module

David Rientjes
2012-03-11T20:25:30Z

On Sun, 11 Mar 2012, Hillf Danton wrote:

> --- a/fs/hugetlbfs/inode.c Sun Mar 11 12:46:38 2012
> +++ b/fs/hugetlbfs/inode.c Sun Mar 11 12:49:28 2012
> @@ -1000,6 +1000,7 @@ static int __init init_hugetlbfs_fs(void
> hugetlbfs_inode_cachep = kmem_cache_create("hugetlbfs_inode_cache",
> sizeof(struct hugetlbfs_inode_info),
> 0, 0, init_once);
> + error = -ENOMEM;
> if (hugetlbfs_inode_cachep == NULL)
> goto out2;
>

The patch looks good, however, we typically do things like

error = -ENOMEM;
hugetlbfs_inode_cachep = kmem_cache_create(...);
if (!hugetlbfs_inode_cachep)
...

instead. Sometimes people grep to see if a call a function that can fail,
such as kmem_cache_create(), is followed up by a check for NULL and this
would otherwise fail.