[<prev] [next>] [day] [month] [year] [list]
Message-ID: <82c8f8e7-8ded-46ca-8857-e60b991d6205@p183>
Date: Fri, 29 Sep 2023 19:31:41 +0300
From: Alexey Dobriyan <adobriyan@...il.com>
To: akpm@...ux-foundation.org
Cc: linux-kernel@...r.kernel.org
Subject: [PATCH] proc: save LOC by using while loop
Use while loop instead of infinite loop with "break;".
Also move some variable to the inner scope where they belong.
Signed-off-by: Alexey Dobriyan <adobriyan@...il.com>
---
fs/proc/inode.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
--- a/fs/proc/inode.c
+++ b/fs/proc/inode.c
@@ -110,18 +110,15 @@ void __init proc_init_kmemcache(void)
void proc_invalidate_siblings_dcache(struct hlist_head *inodes, spinlock_t *lock)
{
- struct inode *inode;
- struct proc_inode *ei;
struct hlist_node *node;
struct super_block *old_sb = NULL;
rcu_read_lock();
- for (;;) {
+ while ((node = hlist_first_rcu(inodes))) {
+ struct proc_inode *ei = hlist_entry(node, struct proc_inode, sibling_inodes);
struct super_block *sb;
- node = hlist_first_rcu(inodes);
- if (!node)
- break;
- ei = hlist_entry(node, struct proc_inode, sibling_inodes);
+ struct inode *inode;
+
spin_lock(lock);
hlist_del_init_rcu(&ei->sibling_inodes);
spin_unlock(lock);
Powered by blists - more mailing lists