I noticed these macros, I think they should have more parenthesis. I
don't know how to test this though.

Index: sys/arch/alpha/include/cpu.h
===================================================================
RCS file: /cvs/src/sys/arch/alpha/include/cpu.h,v
retrieving revision 1.55
diff -u -p -r1.55 cpu.h
--- sys/arch/alpha/include/cpu.h        2 Jul 2015 01:33:59 -0000       1.55
+++ sys/arch/alpha/include/cpu.h        1 Mar 2016 18:57:50 -0000
@@ -320,7 +320,7 @@ do {                                                        
                \
 #define signotify(p)   aston(p)
 #endif
 
-#define        aston(p)        (p)->p_md.md_astpending = 1
+#define        aston(p)        ((p)->p_md.md_astpending = 1)
 #endif /* _KERNEL */
 
 /*
Index: sys/arch/mips64/include/cpu.h
===================================================================
RCS file: /cvs/src/sys/arch/mips64/include/cpu.h,v
retrieving revision 1.108
diff -u -p -r1.108 cpu.h
--- sys/arch/mips64/include/cpu.h       5 Jan 2016 05:27:54 -0000       1.108
+++ sys/arch/mips64/include/cpu.h       1 Mar 2016 18:57:50 -0000
@@ -318,12 +318,12 @@ void      cp0_calibrate(struct cpu_info *);
  * process as soon as possible.
  */
 #ifdef MULTIPROCESSOR
-#define        signotify(p)            (aston(p), cpu_unidle(p->p_cpu))
+#define        signotify(p)            (aston(p), cpu_unidle((p)->p_cpu))
 #else
 #define        signotify(p)            aston(p)
 #endif
 
-#define        aston(p)                p->p_md.md_astpending = 1
+#define        aston(p)                ((p)->p_md.md_astpending = 1)
 
 #ifdef CPU_R8000
 #define        mips_sync()             __asm__ volatile ("lw $0, 0(%0)" :: \

-- 
Michal Mazurek

Reply via email to