[PATCH] uerofs-utils: fix random data for block-aligned uncompressed file

Gao Xiang hsiangkao at linux.alibaba.com
Tue Sep 7 10:46:24 AEST 2021


On Tue, Sep 07, 2021 at 08:10:45AM +0800, Gao Xiang wrote:
> On Mon, Sep 06, 2021 at 04:13:59PM +0800, Huang Jianan via Linux-erofs wrote:
> > If the file size is block-aligned for uncompressed files, i_u is
> > meaningless for erofs_inode on disk, but it's not cleared when
> > datalayout is seted in erofs_prepare_inode_buffer. Clear the entire
> > erofs_inode to zero to fix this.
> > 
> > Signed-off-by: Huang Jianan <huangjianan at oppo.com>
> > ---
> >  lib/inode.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/lib/inode.c b/lib/inode.c
> > index 0ad703d..1397cc5 100644
> > --- a/lib/inode.c
> > +++ b/lib/inode.c
> > @@ -834,7 +834,7 @@ static struct erofs_inode *erofs_new_inode(void)
> >  	static unsigned int counter;
> >  	struct erofs_inode *inode;
> >  
> > -	inode = malloc(sizeof(struct erofs_inode));
> > +	inode = calloc(1, sizeof(struct erofs_inode));
> 
> If we decide to do this, how about removing all
> 	inode->idata_size = 0;
> 	inode->xattr_isize = 0;
> 	inode->extent_isize = 0;
> 
> 	inode->bh = inode->bh_inline = inode->bh_data = NULL;
> 	inode->idata = NULL;

Please also add a note that this only impacts OTA packages in the
commit message about the background since it has some impact to
the reproducible builds.

Thanks,
Gao Xiang

> ?
> 
> Thanks,
> Gao Xiang
> 
> >  	if (!inode)
> >  		return ERR_PTR(-ENOMEM);
> >  
> > -- 
> > 2.25.1
> > 


More information about the Linux-erofs mailing list