Re: [PATCH 1/3] mkfs: check dirent names when reading protofile

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 01, 2023 at 08:05:34AM -0800, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@xxxxxxxxxx>
> 
> The protofile parser in mkfs does not check directory entry names when
> populating the filesystem.  The libxfs directory code doesn't check them
> either, since they depend on the Linux VFS to sanitize incoming names.
> If someone puts a slash in the first (name) column in the protofile,
> this results in a successful format and xfs_repair -n immediately
> complains.
> 
> Screen the names that are being read from the protofile.

Looks good
Reviewed-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx>

> 
> Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx>
> ---
>  mkfs/proto.c |    6 ++++++
>  1 file changed, 6 insertions(+)
> 
> 
> diff --git a/mkfs/proto.c b/mkfs/proto.c
> index 68ecdbf3632..7e3fc1b8134 100644
> --- a/mkfs/proto.c
> +++ b/mkfs/proto.c
> @@ -326,6 +326,12 @@ newdirent(
>  	int	error;
>  	int	rsv;
> 
> +	if (!libxfs_dir2_namecheck(name->name, name->len)) {
> +		fprintf(stderr, _("%.*s: invalid directory entry name\n"),
> +				name->len, name->name);
> +		exit(1);
> +	}
> +
>  	rsv = XFS_DIRENTER_SPACE_RES(mp, name->len);
> 
>  	error = -libxfs_dir_createname(tp, pip, name, inum, rsv);
> 

-- 
Carlos Maiolino



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux