[PATCH] staging: gpib: replace dump function by print_hex_dump

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxx>
---
 .../staging/gpib/agilent_82357a/agilent_82357a.c   | 14 +-------------
 drivers/staging/gpib/ni_usb/ni_usb_gpib.c          | 14 +-------------
 2 files changed, 2 insertions(+), 26 deletions(-)

diff --git a/drivers/staging/gpib/agilent_82357a/agilent_82357a.c b/drivers/staging/gpib/agilent_82357a/agilent_82357a.c
index bbc7e8866872..bb494eea0920 100644
--- a/drivers/staging/gpib/agilent_82357a/agilent_82357a.c
+++ b/drivers/staging/gpib/agilent_82357a/agilent_82357a.c
@@ -207,20 +207,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,
diff --git a/drivers/staging/gpib/ni_usb/ni_usb_gpib.c b/drivers/staging/gpib/ni_usb/ni_usb_gpib.c
index 1da263676f2a..d5b6d0932cd9 100644
--- a/drivers/staging/gpib/ni_usb/ni_usb_gpib.c
+++ b/drivers/staging/gpib/ni_usb/ni_usb_gpib.c
@@ -354,20 +354,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,
-- 
2.47.0





[Index of Archives]     [Linux Driver Development]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux