ntfs3.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
To: <ntfs3@lists.linux.dev>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	<linux-fsdevel@vger.kernel.org>
Subject: [PATCH 02/11] fs/ntfs3: Remove noacsrules
Date: Wed, 15 Feb 2023 17:34:53 +0400	[thread overview]
Message-ID: <331371f5-6c34-65aa-f81e-c27e428b9d4e@paragon-software.com> (raw)
In-Reply-To: <d7c91201-5e09-5c06-3283-7887f5a5b7f1@paragon-software.com>

Currently, this option does not work properly. Its use leads to unstable 
results.
If we figure out how to implement it without errors, we will add it later.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
---
  Documentation/filesystems/ntfs3.rst | 11 -----------
  fs/ntfs3/file.c                     | 11 -----------
  fs/ntfs3/inode.c                    |  1 -
  fs/ntfs3/namei.c                    |  1 -
  fs/ntfs3/ntfs_fs.h                  |  3 ---
  fs/ntfs3/super.c                    |  9 +--------
  fs/ntfs3/xattr.c                    | 14 --------------
  7 files changed, 1 insertion(+), 49 deletions(-)

diff --git a/Documentation/filesystems/ntfs3.rst 
b/Documentation/filesystems/ntfs3.rst
index 5aa102bd72c2..f0cf05cad2ba 100644
--- a/Documentation/filesystems/ntfs3.rst
+++ b/Documentation/filesystems/ntfs3.rst
@@ -61,17 +61,6 @@ this table marked with no it means default is without 
**no**.
         directories, fmask applies only to files and dmask only to 
directories.
     * - fmask=

-   * - noacsrules
-     - "No access rules" mount option sets access rights for 
files/folders to
-       777 and owner/group to root. This mount option absorbs all other
-       permissions.
-
-       - Permissions change for files/folders will be reported as 
successful,
-     but they will remain 777.
-
-       - Owner/group change will be reported as successful, butthey 
will stay
-     as root.
-
     * - nohidden
       - Files with the Windows-specific HIDDEN (FILE_ATTRIBUTE_HIDDEN) 
attribute
         will not be shown under Linux.
diff --git a/fs/ntfs3/file.c b/fs/ntfs3/file.c
index d37df7376543..9cef189fc0c5 100644
--- a/fs/ntfs3/file.c
+++ b/fs/ntfs3/file.c
@@ -654,22 +654,12 @@ static long ntfs_fallocate(struct file *file, int 
mode, loff_t vbo, loff_t len)
  int ntfs3_setattr(struct user_namespace *mnt_userns, struct dentry 
*dentry,
            struct iattr *attr)
  {
-    struct super_block *sb = dentry->d_sb;
-    struct ntfs_sb_info *sbi = sb->s_fs_info;
      struct inode *inode = d_inode(dentry);
      struct ntfs_inode *ni = ntfs_i(inode);
      u32 ia_valid = attr->ia_valid;
      umode_t mode = inode->i_mode;
      int err;

-    if (sbi->options->noacsrules) {
-        /* "No access rules" - Force any changes of time etc. */
-        attr->ia_valid |= ATTR_FORCE;
-        /* and disable for editing some attributes. */
-        attr->ia_valid &= ~(ATTR_UID | ATTR_GID | ATTR_MODE);
-        ia_valid = attr->ia_valid;
-    }
-
      err = setattr_prepare(mnt_userns, dentry, attr);
      if (err)
          goto out;
@@ -1153,7 +1143,6 @@ const struct inode_operations 
ntfs_file_inode_operations = {
      .getattr    = ntfs_getattr,
      .setattr    = ntfs3_setattr,
      .listxattr    = ntfs_listxattr,
-    .permission    = ntfs_permission,
      .get_inode_acl    = ntfs_get_acl,
      .set_acl    = ntfs_set_acl,
      .fiemap        = ntfs_fiemap,
diff --git a/fs/ntfs3/inode.c b/fs/ntfs3/inode.c
index 5e06299591ed..51e342ad79fd 100644
--- a/fs/ntfs3/inode.c
+++ b/fs/ntfs3/inode.c
@@ -2070,7 +2070,6 @@ const struct inode_operations 
ntfs_link_inode_operations = {
      .get_link    = ntfs_get_link,
      .setattr    = ntfs3_setattr,
      .listxattr    = ntfs_listxattr,
-    .permission    = ntfs_permission,
  };

  const struct address_space_operations ntfs_aops = {
diff --git a/fs/ntfs3/namei.c b/fs/ntfs3/namei.c
index 53ddea219e37..5d5fe2f1f77c 100644
--- a/fs/ntfs3/namei.c
+++ b/fs/ntfs3/namei.c
@@ -607,7 +607,6 @@ const struct inode_operations 
ntfs_dir_inode_operations = {
      .rmdir        = ntfs_rmdir,
      .mknod        = ntfs_mknod,
      .rename        = ntfs_rename,
-    .permission    = ntfs_permission,
      .get_inode_acl    = ntfs_get_acl,
      .set_acl    = ntfs_set_acl,
      .setattr    = ntfs3_setattr,
diff --git a/fs/ntfs3/ntfs_fs.h b/fs/ntfs3/ntfs_fs.h
index 2050eb3f6a5a..556b76f526cb 100644
--- a/fs/ntfs3/ntfs_fs.h
+++ b/fs/ntfs3/ntfs_fs.h
@@ -100,7 +100,6 @@ struct ntfs_mount_options {
      unsigned hide_dot_files : 1; /* Set hidden flag on dot files. */
      unsigned windows_names : 1; /* Disallow names forbidden by Windows. */
      unsigned force : 1; /* RW mount dirty volume. */
-    unsigned noacsrules : 1; /* Exclude acs rules. */
      unsigned prealloc : 1; /* Preallocate space when file is growing. */
      unsigned nocase : 1; /* case insensitive. */
  };
@@ -868,8 +867,6 @@ int ntfs_init_acl(struct user_namespace *mnt_userns, 
struct inode *inode,
  #endif

  int ntfs_acl_chmod(struct user_namespace *mnt_userns, struct dentry 
*dentry);
-int ntfs_permission(struct user_namespace *mnt_userns, struct inode *inode,
-            int mask);
  ssize_t ntfs_listxattr(struct dentry *dentry, char *buffer, size_t size);
  extern const struct xattr_handler *ntfs_xattr_handlers[];

diff --git a/fs/ntfs3/super.c b/fs/ntfs3/super.c
index 19d0889b131f..10c019ef7da3 100644
--- a/fs/ntfs3/super.c
+++ b/fs/ntfs3/super.c
@@ -253,7 +253,6 @@ enum Opt {
      Opt_acl,
      Opt_iocharset,
      Opt_prealloc,
-    Opt_noacsrules,
      Opt_nocase,
      Opt_err,
  };
@@ -274,7 +273,6 @@ static const struct fs_parameter_spec 
ntfs_fs_parameters[] = {
      fsparam_flag_no("acl",            Opt_acl),
      fsparam_flag_no("showmeta",        Opt_showmeta),
      fsparam_flag_no("prealloc",        Opt_prealloc),
-    fsparam_flag_no("acsrules",        Opt_noacsrules),
      fsparam_flag_no("nocase",        Opt_nocase),
      fsparam_string("iocharset",        Opt_iocharset),
      {}
@@ -387,9 +385,6 @@ static int ntfs_fs_parse_param(struct fs_context *fc,
      case Opt_prealloc:
          opts->prealloc = result.negated ? 0 : 1;
          break;
-    case Opt_noacsrules:
-        opts->noacsrules = result.negated ? 1 : 0;
-        break;
      case Opt_nocase:
          opts->nocase = result.negated ? 1 : 0;
          break;
@@ -572,8 +567,6 @@ static int ntfs_show_options(struct seq_file *m, 
struct dentry *root)
          seq_puts(m, ",hide_dot_files");
      if (opts->force)
          seq_puts(m, ",force");
-    if (opts->noacsrules)
-        seq_puts(m, ",noacsrules");
      if (opts->prealloc)
          seq_puts(m, ",prealloc");
      if (sb->s_flags & SB_POSIXACL)
@@ -791,7 +784,7 @@ static int ntfs_init_from_boot(struct super_block 
*sb, u32 sector_size,
      if (boot_sector_size != sector_size) {
          ntfs_warn(
              sb,
-            "Different NTFS' sector size (%u) and media sector size (%u)",
+            "Different NTFS sector size (%u) and media sector size (%u)",
              boot_sector_size, sector_size);
          dev_size += sector_size - 1;
      }
diff --git a/fs/ntfs3/xattr.c b/fs/ntfs3/xattr.c
index 3fa48c8f68d9..c42fbc56eb39 100644
--- a/fs/ntfs3/xattr.c
+++ b/fs/ntfs3/xattr.c
@@ -711,20 +711,6 @@ int ntfs_acl_chmod(struct user_namespace 
*mnt_userns, struct dentry *dentry)
      return posix_acl_chmod(mnt_userns, dentry, inode->i_mode);
  }

-/*
- * ntfs_permission - inode_operations::permission
- */
-int ntfs_permission(struct user_namespace *mnt_userns, struct inode *inode,
-            int mask)
-{
-    if (ntfs_sb(inode->i_sb)->options->noacsrules) {
-        /* "No access rules" mode - Allow all changes. */
-        return 0;
-    }
-
-    return generic_permission(mnt_userns, inode, mask);
-}
-
  /*
   * ntfs_listxattr - inode_operations::listxattr
   */
-- 
2.34.1


  parent reply	other threads:[~2023-02-15 13:34 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-15 13:33 [PATCH 00/11] fs/ntfs3: Bugfix and refactoring Konstantin Komarov
2023-02-15 13:34 ` [PATCH 01/11] fs/ntfs3: Use bh_read to simplify code Konstantin Komarov
2023-02-15 13:34 ` Konstantin Komarov [this message]
2023-02-15 13:35 ` [PATCH 03/11] fs/ntfs3: Fix ntfs_create_inode() Konstantin Komarov
2023-02-15 13:36 ` [PATCH 04/11] fs/ntfs3: Optimization in ntfs_set_state() Konstantin Komarov
2023-02-15 13:36 ` [PATCH 05/11] fs/ntfs3: Undo endian changes Konstantin Komarov
2023-02-15 13:37 ` [PATCH 06/11] fs/ntfs3: Undo critial modificatins to keep directory consistency Konstantin Komarov
2023-02-15 13:38 ` [PATCH 07/11] fs/ntfs3: Remove field sbi->used.bitmap.set_tail Konstantin Komarov
2023-02-15 13:38 ` [PATCH 08/11] fs/ntfs3: Changed ntfs_get_acl() to use dentry Konstantin Komarov
2023-02-15 13:39 ` [PATCH 09/11] fs/ntfs3: Code formatting and refactoring Konstantin Komarov
2023-02-15 13:39 ` [PATCH 10/11] fs/ntfs3: Add missed "nocase" in ntfs_show_options Konstantin Komarov
2023-02-15 13:40 ` [PATCH 11/11] fs/ntfs3: Print details about mount fails Konstantin Komarov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=331371f5-6c34-65aa-f81e-c27e428b9d4e@paragon-software.com \
    --to=almaz.alexandrovich@paragon-software.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ntfs3@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).