]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
dm integrity: Use %*ph for printing hexdump of a small buffer
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 12 Jun 2023 21:47:51 +0000 (00:47 +0300)
committerMike Snitzer <snitzer@kernel.org>
Thu, 22 Jun 2023 22:39:50 +0000 (18:39 -0400)
The kernel already has a helper to print a hexdump of a small
buffer via pointer extension. Use that instead of open coded
variant.

In long term it helps to kill pr_cont() or at least narrow down
its use.

Note, the format is slightly changed, i.e. the trailing space is
always printed. Also the IV dump is limited by 64 bytes which seems
fine.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
drivers/md/dm-integrity.c

index 31838b13ea54343c2c691448b252191dba6caed1..5e5f1c029b75743c6049ec2421693bae644acbd7 100644 (file)
@@ -342,24 +342,9 @@ static struct kmem_cache *journal_io_cache;
 #define JOURNAL_IO_MEMPOOL     32
 
 #ifdef DEBUG_PRINT
-#define DEBUG_print(x, ...)    printk(KERN_DEBUG x, ##__VA_ARGS__)
-static void __DEBUG_bytes(__u8 *bytes, size_t len, const char *msg, ...)
-{
-       va_list args;
-
-       va_start(args, msg);
-       vprintk(msg, args);
-       va_end(args);
-       if (len)
-               pr_cont(":");
-       while (len) {
-               pr_cont(" %02x", *bytes);
-               bytes++;
-               len--;
-       }
-       pr_cont("\n");
-}
-#define DEBUG_bytes(bytes, len, msg, ...)      __DEBUG_bytes(bytes, len, KERN_DEBUG msg, ##__VA_ARGS__)
+#define DEBUG_print(x, ...)                    printk(KERN_DEBUG x, ##__VA_ARGS__)
+#define DEBUG_bytes(bytes, len, msg, ...)      printk(KERN_DEBUG msg "%s%*ph\n", ##__VA_ARGS__, \
+                                                      len ? ": " : "", len, bytes)
 #else
 #define DEBUG_print(x, ...)                    do { } while (0)
 #define DEBUG_bytes(bytes, len, msg, ...)      do { } while (0)