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  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aSl26bbeD4-Ev1ky@amir-ThinkPad-T480>
Date: Fri, 28 Nov 2025 11:18:17 +0100
From: Amir Goldstein <amir73il@...il.com>
To: Namjae Jeon <linkinjeon@...nel.org>
Cc: viro@...iv.linux.org.uk, brauner@...nel.org, hch@...radead.org,
	hch@....de, tytso@....edu, willy@...radead.org, jack@...e.cz,
	djwong@...nel.org, josef@...icpanda.com, sandeen@...deen.net,
	rgoldwyn@...e.com, xiang@...nel.org, dsterba@...e.com,
	pali@...nel.org, ebiggers@...nel.org, neil@...wn.name,
	linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
	iamjoonsoo.kim@....com, cheol.lee@....com, jay.sim@....com,
	gunho.lee@....com
Subject: Re: [PATCH v2 11/11] ntfsplus: add Kconfig and Makefile

On Fri, Nov 28, 2025 at 12:02:25PM +0900, Namjae Jeon wrote:
> On Thu, Nov 27, 2025 at 10:12 PM Amir Goldstein <amir73il@...il.com> wrote:
> >
> > On Thu, Nov 27, 2025 at 1:40 PM Namjae Jeon <linkinjeon@...nel.org> wrote:
> > >
> > > On Thu, Nov 27, 2025 at 8:22 PM Amir Goldstein <amir73il@...il.com> wrote:
> > > >
> > > > On Thu, Nov 27, 2025 at 6:01 AM Namjae Jeon <linkinjeon@...nel.org> wrote:
> > > > >
> > > > > This adds the Kconfig and Makefile for ntfsplus.
> > > > >
> > > > > Signed-off-by: Namjae Jeon <linkinjeon@...nel.org>
> > > > > ---
> > > > >  fs/Kconfig           |  1 +
> > > > >  fs/Makefile          |  1 +
> > > > >  fs/ntfsplus/Kconfig  | 45 ++++++++++++++++++++++++++++++++++++++++++++
> > > > >  fs/ntfsplus/Makefile | 18 ++++++++++++++++++
> > > > >  4 files changed, 65 insertions(+)
> > > > >  create mode 100644 fs/ntfsplus/Kconfig
> > > > >  create mode 100644 fs/ntfsplus/Makefile
> > > > >
> > > > > diff --git a/fs/Kconfig b/fs/Kconfig
> > > > > index 0bfdaecaa877..70d596b99c8b 100644
> > > > > --- a/fs/Kconfig
> > > > > +++ b/fs/Kconfig
> > > > > @@ -153,6 +153,7 @@ menu "DOS/FAT/EXFAT/NT Filesystems"
> > > > >  source "fs/fat/Kconfig"
> > > > >  source "fs/exfat/Kconfig"
> > > > >  source "fs/ntfs3/Kconfig"
> > > > > +source "fs/ntfsplus/Kconfig"
> > > > >
> > > > >  endmenu
> > > > >  endif # BLOCK
> > > > > diff --git a/fs/Makefile b/fs/Makefile
> > > > > index e3523ab2e587..2e2473451508 100644
> > > > > --- a/fs/Makefile
> > > > > +++ b/fs/Makefile
> > > > > @@ -91,6 +91,7 @@ obj-y                         += unicode/
> > > > >  obj-$(CONFIG_SMBFS)            += smb/
> > > > >  obj-$(CONFIG_HPFS_FS)          += hpfs/
> > > > >  obj-$(CONFIG_NTFS3_FS)         += ntfs3/
> > > > > +obj-$(CONFIG_NTFSPLUS_FS)      += ntfsplus/
> > > >
> > > > I suggested in another reply to keep the original ntfs name
> > > >
> > > > More important is to keep your driver linked before the unmaintained
> > > > ntfs3, so that it hopefully gets picked up before ntfs3 for auto mount type
> > > > if both drivers are built-in.
> > > Okay, I will check it:)
> > > >
> > > > I am not sure if keeping the order here would guarantee the link/registration
> > > > order. If not, it may make sense to mutually exclude them as built-in drivers.
> > > Okay, I am leaning towards the latter.
> >
> > Well it's not this OR that.
> > please add you driver as the original was before ntfs3
> >
> > obj-$(CONFIG_NTFS_FS)      += ntfs/
> > obj-$(CONFIG_NTFS3_FS)         += ntfs3/
> Okay.
> >
> > > If you have no objection, I will add the patch to mutually exclude the two ntfs implementation.
> >
> > You should definitely allow them both if at least one is built as a module
> > I think it would be valuable for testing.
> >
> > Just that
> > CONFIG_NTFS_FS=y
> > CONFIG_NTFS3_FS=y
> >
> > I don't see the usefulness in allowing that.
> > (other people may disagree)
> >
> > I think that the way to implement it is using an auxiliary choice config var
> > in fs/Kconfig (i.e. CONFIG_DEFAULT_NTFS) and select/depends statements
> > to only allow the default ntfs driver to be configured as 'y',
> > but couldn't find a good example to point you at.
> Okay. Could you please check whether the attached patch matches what
> you described ?

It's what I meant, but now I think it could be simpler...

> 
> Thanks!
> >
> > Thanks,
> > Amir.

> From 11154917ff53d6cf218ac58e6776e603246587b6 Mon Sep 17 00:00:00 2001
> From: Namjae Jeon <linkinjeon@...nel.org>
> Date: Fri, 28 Nov 2025 11:44:45 +0900
> Subject: [PATCH] ntfs: restrict built-in NTFS seclection to one driver, allow
>  both as modules
> 
> Signed-off-by: Namjae Jeon <linkinjeon@...nel.org>
> ---
>  fs/Kconfig          | 11 +++++++++++
>  fs/ntfs3/Kconfig    |  2 ++
>  fs/ntfsplus/Kconfig |  1 +
>  3 files changed, 14 insertions(+)
> 
> diff --git a/fs/Kconfig b/fs/Kconfig
> index 70d596b99c8b..c379383cb4ff 100644
> --- a/fs/Kconfig
> +++ b/fs/Kconfig
> @@ -155,6 +155,17 @@ source "fs/exfat/Kconfig"
>  source "fs/ntfs3/Kconfig"
>  source "fs/ntfsplus/Kconfig"
>  
> +choice
> +   prompt "Select built-in NTFS filesystem (only one can be built-in)"
Usually for choice vars there should be a default and usually
there should be a DEFAULT_NTFS_NONE

> +   help
> +     Only one NTFS can be built into the kernel(y).
> +     Both can still be built as modules(m).
> +
> +   config DEFAULT_NTFSPLUS
> +       bool "NTFS+"
Usually, this would also 'select NTFS_FS'

> +   config DEFAULT_NTFS3
> +       bool "NTFS3"
> +endchoice
>  endmenu
>  endif # BLOCK
>  
> diff --git a/fs/ntfs3/Kconfig b/fs/ntfs3/Kconfig
> index 7bc31d69f680..18bd6c98c6eb 100644
> --- a/fs/ntfs3/Kconfig
> +++ b/fs/ntfs3/Kconfig
> @@ -1,6 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0-only
>  config NTFS3_FS
>  	tristate "NTFS Read-Write file system support"
> +	depends on !DEFAULT_NTFSPLUS || m

So seeing how this condition looks, instead of aux var,
it could be directly

	depends on NTFS_FS != y || m

>  	select BUFFER_HEAD
>  	select NLS
>  	select LEGACY_DIRECT_IO
> @@ -49,6 +50,7 @@ config NTFS3_FS_POSIX_ACL
>  
>  config NTFS_FS

This alias should definitely go a way when you add back
the original NTFS_FS.

Preferably revert the commit that added the alias at the
start of your series.

>  	tristate "NTFS file system support"
> +	depends on !DEFAULT_NTFSPLUS || m
>  	select NTFS3_FS
>  	select BUFFER_HEAD
>  	select NLS
> diff --git a/fs/ntfsplus/Kconfig b/fs/ntfsplus/Kconfig
> index 78bc34840463..c8d1ab99113c 100644
> --- a/fs/ntfsplus/Kconfig
> +++ b/fs/ntfsplus/Kconfig
> @@ -1,6 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0-only
>  config NTFSPLUS_FS
>  	tristate "NTFS+ file system support (EXPERIMENTAL)"
> +	depends on !DEFAULT_NTFS3 || m

Likewise:
	depends on NTFS3_FS != y || m

Obviously, not tested.

If this works, I don't think there is a need for the choice variable

As long as you keep the order in fs/Kconfig correct (ntfs before ntfs3)
I assume that an oldconfig with both set to y NTFS_FS will win?
Please verify that.

Thanks,
Amir.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ