Index: sys/compat/linuxkpi/common/include/linux/printk.h =================================================================== --- sys/compat/linuxkpi/common/include/linux/printk.h +++ sys/compat/linuxkpi/common/include/linux/printk.h @@ -48,7 +48,7 @@ void lkpi_hex_dump(int(*)(void *, const char *, ...), void *arg1, const char *, const char *, const int, const int, const int, - const void *, size_t, const bool); + const void *, size_t, const bool, const bool); static inline void print_hex_dump(const char *level, const char *prefix_str, @@ -56,7 +56,7 @@ const void *buf, size_t len, const bool ascii) { lkpi_hex_dump(__lkpi_hexdump_printf, NULL, level, prefix_str, prefix_type, - rowsize, groupsize, buf, len, ascii); + rowsize, groupsize, buf, len, ascii, true); } static inline void Index: sys/compat/linuxkpi/common/include/linux/seq_file.h =================================================================== --- sys/compat/linuxkpi/common/include/linux/seq_file.h +++ sys/compat/linuxkpi/common/include/linux/seq_file.h @@ -115,7 +115,7 @@ int rowsize, int groupsize, const void *buf, size_t len, bool ascii) { lkpi_hex_dump(__lkpi_hexdump_sbuf_printf, m->buf, NULL, prefix_str, prefix_type, - rowsize, groupsize, buf, len, ascii); + rowsize, groupsize, buf, len, ascii, true); } #define file linux_file Index: sys/compat/linuxkpi/common/src/linux_compat.c =================================================================== --- sys/compat/linuxkpi/common/src/linux_compat.c +++ sys/compat/linuxkpi/common/src/linux_compat.c @@ -1999,7 +1999,7 @@ lkpi_hex_dump(int(*_fpf)(void *, const char *, ...), void *arg1, const char *level, const char *prefix_str, const int prefix_type, const int rowsize, const int groupsize, - const void *buf, size_t len, const bool ascii) + const void *buf, size_t len, const bool ascii, const bool trailing_newline) { typedef const struct { long long value; } __packed *print_64p_t; typedef const struct { uint32_t value; } __packed *print_32p_t; @@ -2083,9 +2083,11 @@ break; } } - ret = _fpf(arg1, "\n"); - if (ret < 0) - break; + if (len > 0 && trailing_newline) { + ret = _fpf(arg1, "\n"); + if (ret < 0) + break; + } } }