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