return 0; 
return NULL; 
linvfs_follow_link(	struct dentry		*dentry,	struct nameidata	*nd){	vnode_t			*vp;	uio_t			*uio;	iovec_t			iov;	int			error;	char			*link;	ASSERT(dentry);	ASSERT(nd);	link = (char *)kmalloc(MAXNAMELEN+1, GFP_KERNEL);	if (!link) {		nd_set_link(nd, ERR_PTR(-ENOMEM));		return 0;	}	uio = (uio_t *)kmalloc(sizeof(uio_t), GFP_KERNEL);	if (!uio) {		kfree(link);		nd_set_link(nd, ERR_PTR(-ENOMEM));		return 0;	}	vp = LINVFS_GET_VP(dentry->d_inode);	iov.iov_base = link;	iov.iov_len = MAXNAMELEN;	uio->uio_iov = &iov;	uio->uio_offset = 0;	uio->uio_segflg = UIO_SYSSPACE;	uio->uio_resid = MAXNAMELEN;	uio->uio_iovcnt = 1;	VOP_READLINK(vp, uio, 0, NULL, error);	if (error) {		kfree(link);		link = ERR_PTR(-error);	} else {		link[MAXNAMELEN - uio->uio_resid] = '\0';	}	kfree(uio);	nd_set_link(nd, link);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/008b150a3c4d971cd65d02d107b8fcc860bc959c/xfs_iops.c/buggy/fs/xfs/linux-2.6/xfs_iops.c