From: Pali Rohár <p...@kernel.org>
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;
> > +}

Reply via email to