vsprintf: use WARN_ON_ONCE
[linux-block.git] / lib / vsprintf.c
index d320c1816a7bfb3719b82e3b6da4531b473cb94c..73a14b8c6d1f860796ebe7982ff0a7ca1d6c2081 100644 (file)
@@ -1092,13 +1092,8 @@ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
 
        /* Reject out-of-range values early.  Large positive sizes are
           used for unknown buffer sizes. */
-       if (unlikely((int) size < 0)) {
-               /* There can be only one.. */
-               static char warn = 1;
-               WARN_ON(warn);
-               warn = 0;
+       if (WARN_ON_ONCE((int) size < 0))
                return 0;
-       }
 
        str = buf;
        end = buf + size;
@@ -1544,13 +1539,8 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf)
 
        struct printf_spec spec = {0};
 
-       if (unlikely((int) size < 0)) {
-               /* There can be only one.. */
-               static char warn = 1;
-               WARN_ON(warn);
-               warn = 0;
+       if (WARN_ON_ONCE((int) size < 0))
                return 0;
-       }
 
        str = buf;
        end = buf + size;