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.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
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);