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: <b1dbef1a-d52e-5096-c179-fde8c5f0f2b2@paragon-software.com>
Date:   Mon, 12 Sep 2022 19:40:42 +0300
From:   Konstantin Komarov <almaz.alexandrovich@...agon-software.com>
To:     <ntfs3@...ts.linux.dev>
CC:     <linux-kernel@...r.kernel.org>, <linux-fsdevel@...r.kernel.org>
Subject: [PATCH 3/3] fs/ntfs3: Change destroy_inode to free_inode

Many filesystems already use free_inode callback,
so we will use it too from now on.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@...agon-software.com>
---
  fs/ntfs3/super.c | 20 ++++----------------
  1 file changed, 4 insertions(+), 16 deletions(-)

diff --git a/fs/ntfs3/super.c b/fs/ntfs3/super.c
index 067a0e9cf590..744c1f15ba2a 100644
--- a/fs/ntfs3/super.c
+++ b/fs/ntfs3/super.c
@@ -438,27 +438,18 @@ static struct inode *ntfs_alloc_inode(struct super_block *sb)
  		return NULL;
  
  	memset(ni, 0, offsetof(struct ntfs_inode, vfs_inode));
-
  	mutex_init(&ni->ni_lock);
-
  	return &ni->vfs_inode;
  }
  
-static void ntfs_i_callback(struct rcu_head *head)
+static void ntfs_free_inode(struct inode *inode)
  {
-	struct inode *inode = container_of(head, struct inode, i_rcu);
  	struct ntfs_inode *ni = ntfs_i(inode);
  
  	mutex_destroy(&ni->ni_lock);
-
  	kmem_cache_free(ntfs_inode_cachep, ni);
  }
  
-static void ntfs_destroy_inode(struct inode *inode)
-{
-	call_rcu(&inode->i_rcu, ntfs_i_callback);
-}
-
  static void init_once(void *foo)
  {
  	struct ntfs_inode *ni = foo;
@@ -624,7 +615,7 @@ static int ntfs_sync_fs(struct super_block *sb, int wait)
  
  static const struct super_operations ntfs_sops = {
  	.alloc_inode = ntfs_alloc_inode,
-	.destroy_inode = ntfs_destroy_inode,
+	.free_inode = ntfs_free_inode,
  	.evict_inode = ntfs_evict_inode,
  	.put_super = ntfs_put_super,
  	.statfs = ntfs_statfs,
@@ -1520,11 +1511,8 @@ static int __init init_ntfs_fs(void)
  
  static void __exit exit_ntfs_fs(void)
  {
-	if (ntfs_inode_cachep) {
-		rcu_barrier();
-		kmem_cache_destroy(ntfs_inode_cachep);
-	}
-
+	rcu_barrier();
+	kmem_cache_destroy(ntfs_inode_cachep);
  	unregister_filesystem(&ntfs_fs_type);
  	ntfs3_exit_bitmap();
  }
-- 
2.37.0


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ