lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 21 May 2020 10:57:29 -0700
From:   Matthew Wilcox <willy@...radead.org>
To:     Eric Sandeen <sandeen@...deen.net>
Cc:     Namjae Jeon <linkinjeon@...nel.org>, linux-fsdevel@...r.kernel.org,
        linux-kernel@...r.kernel.org, torvalds@...ux-foundation.org
Subject: Re: [PATCH v2] exfat: add the dummy mount options to be backward
 compatible with staging/exfat

On Thu, May 21, 2020 at 10:44:28AM -0500, Eric Sandeen wrote:
> On 5/21/20 9:05 AM, Namjae Jeon wrote:
> > As Ubuntu and Fedora release new version used kernel version equal to or
> > higher than v5.4, They started to support kernel exfat filesystem.
> > 
> > Linus Torvalds reported mount error with new version of exfat on Fedora.
> > 
> > 	exfat: Unknown parameter 'namecase'
> > 
> > This is because there is a difference in mount option between old
> > staging/exfat and new exfat.
> > And utf8, debug, and codepage options as well as namecase have been
> > removed from new exfat.
> > 
> > This patch add the dummy mount options as deprecated option to be backward
> > compatible with old one.
> 
> Wow, it seems wild that we'd need to maintain compatibility with options
> which only ever existed in a different codebase in a staging driver
> (what's the point of staging if every interface that makes it that far has
> to be maintained in perpetuity?)
> 
> Often, when things are deprecated, they are eventually removed.  Perhaps a
> future removal date stated in this commit, or in Documentation/..../exfat.txt
> would be good as a reminder to eventually remove this?

For NFS, 'intr' has been deprecated since December 2007 and has been
printing a warning since June 2008.  How long until we delete it?

> >  static const struct constant_table exfat_param_enums[] = {
> > @@ -223,6 +229,10 @@ static const struct fs_parameter_spec exfat_parameters[] = {
> >  	fsparam_enum("errors",			Opt_errors, exfat_param_enums),
> >  	fsparam_flag("discard",			Opt_discard),
> >  	fsparam_s32("time_offset",		Opt_time_offset),
> > +	fsparam_flag("utf8",			Opt_utf8),
> > +	fsparam_flag("debug",			Opt_debug),
> > +	fsparam_u32("namecase",			Opt_namecase),
> > +	fsparam_u32("codepage",			Opt_codepage),

	__fsparam(NULL, "utf8",		Opt_utf8, fs_param_deprecated, NULL),
	__fsparam(NULL, "debug",	Opt_debug, fs_param_deprecated, NULL),
	__fsparam(fs_param_is_u32, "namecase", Opt_namecase,
						fs_param_deprecated, NULL),
	__fsparam(fs_param_is_u32, "codepage", Opt_codepage,
						fs_param_deprecated, NULL),

> > @@ -278,6 +288,18 @@ static int exfat_parse_param(struct fs_context *fc, struct fs_parameter *param)
> >  			return -EINVAL;
> >  		opts->time_offset = result.int_32;
> >  		break;
> > +	case Opt_utf8:
> > +		pr_warn("exFAT-fs: 'utf8' mount option is deprecated and has no effect\n");
> > +		break;
> > +	case Opt_debug:
> > +		pr_warn("exFAT-fs: 'debug' mount option is deprecated and has no effect\n");
> > +		break;
> > +	case Opt_namecase:
> > +		pr_warn("exFAT-fs: 'namecase' mount option is deprecated and has no effect\n");
> > +		break;
> > +	case Opt_codepage:
> > +		pr_warn("exFAT-fs: 'codepage' mount option is deprecated and has no effect\n");
> > +		break;

and then you don't need this hunk because the fs parser will print the
deprecated message for you.

Powered by blists - more mailing lists