]> xenbits.xensource.com Git - people/royger/xen.git/commitdiff
xen/argo: Fixes to argo_dprintk()
authorAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 14 Oct 2022 13:39:55 +0000 (14:39 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 24 Mar 2023 12:16:31 +0000 (12:16 +0000)
Rewrite argo_dprintk() so printk() format typechecking can always be
performed.  This also fixes the fact that parameters are not evaulated at all
in the default case.

Emit the messages at XENLOG_DEBUG.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
xen/common/argo.c

index 9ad2ecaa1e42337567cef6ecd53d56965590d60e..f29fa720fc48869c850ee40091bb318eb198f41d 100644 (file)
@@ -313,14 +313,12 @@ static DEFINE_RWLOCK(L1_global_argo_rwlock); /* L1 */
     ((LOCKING_Read_L1 && spin_is_locked(&(d)->argo->send_L2_lock)) || \
      LOCKING_Write_L1)
 
-/* Change this to #define ARGO_DEBUG here to enable more debug messages */
-#undef ARGO_DEBUG
-
-#ifdef ARGO_DEBUG
-#define argo_dprintk(format, args...) printk("argo: " format, ## args )
-#else
-#define argo_dprintk(format, ... ) ((void)0)
-#endif
+#define ARGO_DEBUG 0
+#define argo_dprintk(fmt, args...)                      \
+    do {                                                \
+        if ( ARGO_DEBUG )                               \
+            printk(XENLOG_DEBUG "argo: " fmt, ##args);  \
+    } while ( 0 )
 
 /*
  * This hash function is used to distribute rings within the per-domain