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-next>] [day] [month] [year] [list]
Date:   Mon, 6 Feb 2017 17:17:35 -0500
From:   Steven Rostedt <rostedt@...dmis.org>
To:     LKML <linux-kernel@...r.kernel.org>,
        Al Viro <viro@...iv.linux.org.uk>
Subject: [PATCH] namei: Remove unlikely annotation for revalidate check in
 lookup_fast()

From: "Steven Rostedt (VMware)" <rostedt@...dmis.org>

The likely/unlikely profiler showed that the unlikely around the
dentry->d_flags & DCACHE_OP_REVALIDATE was wrong 95% of the time. Adding
trace_printk()s, it revealed that the dentry ops had hooks to:

 kernfs_dop_revalidate
 pid_revalidate
 proc_sys_revalidate
 tid_fd_revalidate

As tools today now access files that have these operations often, it's best
just to remove the annotation, as it is more dependent on use cases and not
normal mode of operation if it will be true or not.

Signed-off-by: Steven Rostedt (VMware) <rostedt@...dmis.org>
---
 fs/namei.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/namei.c b/fs/namei.c
index ad74877..23ce3e8 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1599,7 +1599,7 @@ static int lookup_fast(struct nameidata *nd,
 		dentry = __d_lookup(parent, &nd->last);
 		if (unlikely(!dentry))
 			return 0;
-		if (unlikely(dentry->d_flags & DCACHE_OP_REVALIDATE))
+		if (dentry->d_flags & DCACHE_OP_REVALIDATE)
 			status = d_revalidate(dentry, nd->flags);
 	}
 	if (unlikely(status <= 0)) {
-- 
2.9.3

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ