[Labeled-nfs] [PATCH 08/13] NFS: Introduce lifecycle managment for label attribute.

James Morris jmorris at namei.org
Mon Nov 19 06:33:35 EST 2007


On Fri, 16 Nov 2007, David P. Quigley wrote:


> +#ifdef CONFIG_SECURITY
> +#define	nfs_fattr_alloc(fattr)						\
> +{									\
> +	(fattr)->label = kmalloc(NFS_MAXLABELLEN, GFP_ATOMIC);		\
> +	(fattr)->label_len = NFS_MAXLABELLEN;				\
> +	memset((fattr)->label, 0, NFS_MAXLABELLEN);			\
> +}

These should be normal functions, perhaps in their own file which is 
conditionally built (and containing other label-specific code).

You need to check the return of kmalloc().

I suggest passing a gfp_t parameter to the allocation function to allow 
the caller to determine the allocation flags (unless you know it will 
always be GFP_ATOMIC).

Use kzalloc() instead of kmalloc() + memset().

It seems wasteful to always allocate the maximum sized label.

-- 
James Morris
<jmorris at namei.org>


More information about the Labeled-nfs mailing list