]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
staging: gpib: replace dump function by print_hex_dump
authorKees Bakker <kees@ijzerbout.nl>
Thu, 17 Oct 2024 19:13:31 +0000 (21:13 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 19 Oct 2024 08:02:08 +0000 (10:02 +0200)
It is better to use a standard (proven in use) in-kernel function that does
the same. This also solves two buffer overflow problems.

Signed-off-by: Kees Bakker <kees@ijzerbout.nl>
Link: https://lore.kernel.org/r/20241017191433.2E7BD18DAFE@bout3.ijzerbout.nl
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/gpib/agilent_82357a/agilent_82357a.c
drivers/staging/gpib/ni_usb/ni_usb_gpib.c

index 53ec10729905c0e4cc8d26db8888b6fd5380a044..748aadc5cebc2522be788b01d9522f9f85da713e 100644 (file)
@@ -208,20 +208,8 @@ static int agilent_82357a_receive_control_msg(struct agilent_82357a_priv *a_priv
 
 static void agilent_82357a_dump_raw_block(const u8 *raw_data, int length)
 {
-#define RAW_BUF_SIZE 256
-       int i, pos = 0;
-       char print_buf[RAW_BUF_SIZE];
-
        pr_info("hex block dump\n");
-       for (i = 0; i < length; ++i) {
-               if (i && (i % 8 == 0)) {
-                       pr_info("%s\n", print_buf);
-                       pos = 0;
-               }
-               pos += snprintf(&print_buf[pos], RAW_BUF_SIZE, " %02x", raw_data[i]);
-       }
-       if (pos)
-               pr_info("%s\n", print_buf);
+       print_hex_dump(KERN_INFO, "", DUMP_PREFIX_NONE, 8, 1, raw_data, length, true);
 }
 
 static int agilent_82357a_write_registers(struct agilent_82357a_priv *a_priv,
index 330863a8be4dd043d90c7423d5756f6cef122467..571f07800c9a067a26986d3c8f46ceaf62bd2d46 100644 (file)
@@ -355,20 +355,8 @@ static int ni_usb_parse_status_block(const u8 *buffer, struct ni_usb_status_bloc
 
 static void ni_usb_dump_raw_block(const u8 *raw_data, int length)
 {
-#define RAW_BUF_SIZE 256
-       int i, pos = 0;
-       char print_buf[RAW_BUF_SIZE];
-
        pr_info("hex block dump\n");
-       for (i = 0; i < length; ++i) {
-               if (i && (i % 8 == 0)) {
-                       pr_info("%s\n", print_buf);
-                       pos = 0;
-               }
-               pos += snprintf(&print_buf[pos], RAW_BUF_SIZE, " %02x", raw_data[i]);
-       }
-       if (pos)
-               pr_info("%s\n", print_buf);
+       print_hex_dump(KERN_INFO, "", DUMP_PREFIX_NONE, 8, 1, raw_data, length, true);
 }
 
 static int ni_usb_parse_register_read_block(const u8 *raw_data, unsigned int *results,