RE: [PATCH v2 02/10] fs/ntfs3: Add initialization of super block

From: Konstantin Komarov
Date: Thu Aug 27 2020 - 12:20:20 EST


From: Pali Rohár <pali@xxxxxxxxxx>
Sent: Sunday, August 23, 2020 12:55 PM
>
> On Friday 21 August 2020 16:25:03 Konstantin Komarov wrote:
> > + case Opt_nls:
> > + match_strlcpy(nls_name, &args[0], sizeof(nls_name));
> > + break;
> > +
> > + /* unknown option */
> > + default:
> > + if (!silent)
> > + ntfs_error(
> > + sb,
> > + "Unrecognized mount option \"%s\" or missing value",
> > + p);
> > + //return -EINVAL;
> > + }
> > + }
> > +
> > +out:
> > + if (nls_name[0]) {
> > + sbi->nls = load_nls(nls_name);
> > + if (!sbi->nls) {
> > + /* critical ?*/
> > + ntfs_error(sb, "failed to load \"%s\"\n", nls_name);
> > + //return -EINVAL;
>
> Well, I think it is a fatal error if user supplied NLS encoding cannot
> be loaded. If user via mount parameter specify that wants encoding XYZ
> and kernel loads different (e.g. default one) then userspace would be
> confused as it would expect encoding XYZ.
>

Agreed. Will be fixed in V3.

> > + }
> > + }
> > +
> > + if (!sbi->nls) {
> > + sbi->nls = load_nls_default();
> > + if (!sbi->nls) {
> > + /* critical */
> > + ntfs_error(sb, "failed to load default nls");
> > + return -EINVAL;
> > + }
> > + }
> > +
> > + return 0;
> > +}