The branch main has been updated by mjg:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=381dd12cea1715940b1f8f95f28614d664b020ad

commit 381dd12cea1715940b1f8f95f28614d664b020ad
Author:     Mateusz Guzik <[email protected]>
AuthorDate: 2022-03-12 11:47:07 +0000
Commit:     Mateusz Guzik <[email protected]>
CommitDate: 2022-03-12 11:47:07 +0000

    vfs: stop evaluating the argument multpile times in stat macros
---
 sys/sys/vnode.h | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h
index 6e8373379587..f595029bdd14 100644
--- a/sys/sys/vnode.h
+++ b/sys/sys/vnode.h
@@ -966,18 +966,20 @@ void      vop_mkdir_debugpost(void *a, int rc);
 void   vop_rename_fail(struct vop_rename_args *ap);
 
 #define        vop_stat_helper_pre(ap) ({                                      
        \
+       struct vop_stat_args *_ap = (ap);                                       
\
        int _error;                                                             
\
        AUDIT_ARG_VNODE1(ap->a_vp);                                             
\
-       _error = mac_vnode_check_stat(ap->a_active_cred, ap->a_file_cred, 
ap->a_vp);\
+       _error = mac_vnode_check_stat(_ap->a_active_cred, _ap->a_file_cred, 
_ap->a_vp);\
        if (__predict_true(_error == 0))                                        
\
-               bzero(ap->a_sb, sizeof(*ap->a_sb));                             
\
+               bzero(_ap->a_sb, sizeof(*_ap->a_sb));                           
\
        _error;                                                                 
\
 })
 
 #define        vop_stat_helper_post(ap, error) ({                              
        \
+       struct vop_stat_args *_ap = (ap);                                       
\
        int _error = (error);                                                   
\
-       if (priv_check_cred_vfs_generation(ap->a_active_cred))                  
\
-               ap->a_sb->st_gen = 0;                                           
\
+       if (priv_check_cred_vfs_generation(_ap->a_active_cred))                 
\
+               _ap->a_sb->st_gen = 0;                                          
\
        _error;                                                                 
\
 })
 

Reply via email to