[Unionfs] interpose hard-link bug

Tomas M tomas at linux-live.org
Thu Mar 2 07:35:42 EST 2006


Hello unionfs developers,
I suggest you to apply or consider this patch from Junjiro Okajima,
as it fixes very important bug (segmentation faults when working with 
hardlinks).

Thank you for your consideration

Tomas M
slax.org


hooanon05 at yahoo.co.jp wrote:
> There is a bug in unionfs_interpose() in main.c.
> When the target entry is hard-linked, the unionfs inode will be broken.
>
> Junjiro Okajima
>
> --- unionfs-20060221-0341/main.c	23 Feb 2006 00:47:37 -0000	1.1
> +++ unionfs-20060221-0341/main.c	27 Feb 2006 21:05:38 -0000	1.2
> @@ -81,6 +81,7 @@ int unionfs_interpose(struct dentry *den
>  			err = -ENOMEM;
>  			goto out;
>  		}
> +		mutex_lock(&inode->i_mutex);
>  	} else {
>  		ino_t ino;
>  		/* get unique inode number for unionfs */
> @@ -101,11 +102,11 @@ int unionfs_interpose(struct dentry *den
>  			err = -EACCES;	/* should be impossible??? */
>  			goto out;
>  		}
> -	}
>  
> -	mutex_lock(&inode->i_mutex);
> -	if (atomic_read(&inode->i_count) > 1)
> -		goto skip;
> +		mutex_lock(&inode->i_mutex);
> +		if (atomic_read(&inode->i_count) > 1)
> +			goto skip;
> +	}
>  
>  	for (bindex = bstart; bindex <= bend; bindex++) {
>  		hidden_dentry = dtohd_index(dentry, bindex);
>
> _______________________________________________
> unionfs mailing list
> unionfs at mail.fsl.cs.sunysb.edu
> http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs
>
>   



More information about the unionfs mailing list