diff options
Diffstat (limited to 'fs/xfs/xfs_error.c')
| -rw-r--r-- | fs/xfs/xfs_error.c | 9 | 
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/xfs/xfs_error.c b/fs/xfs/xfs_error.c index 7db588ed0be5..c6b2aabd6f18 100644 --- a/fs/xfs/xfs_error.c +++ b/fs/xfs/xfs_error.c @@ -234,13 +234,18 @@ int  xfs_errortag_init(  	struct xfs_mount	*mp)  { +	int ret; +  	mp->m_errortag = kmem_zalloc(sizeof(unsigned int) * XFS_ERRTAG_MAX,  			KM_MAYFAIL);  	if (!mp->m_errortag)  		return -ENOMEM; -	return xfs_sysfs_init(&mp->m_errortag_kobj, &xfs_errortag_ktype, -			       &mp->m_kobj, "errortag"); +	ret = xfs_sysfs_init(&mp->m_errortag_kobj, &xfs_errortag_ktype, +				&mp->m_kobj, "errortag"); +	if (ret) +		kmem_free(mp->m_errortag); +	return ret;  }  void  | 
