kmsg: escape the backslash character while exporting data
PATCH 1/1 kmsg: escape the backslash character while exporting data
From: Kay Sievers <[email protected]>
Subject: kmsg: escape the backslash character while exporting data
Non-printable characters in the log data are hex-escaped to ensure safe post processing. We need to escape a backslash we find in the data, to be able to distinguish it from a backslash we add for the escaping.
Also escape the non-printable character 127.
Thanks to Miloslav Trmac for the heads up.
Signed-off-by Kay Sievers <[email protected]>
--- kernel/printk.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
kernel/printk.c +2 -2
@@ -465,7 +465,7 @@ static ssize_t devkmsg_read(struct filefor (i =0 ; i < msg->text_len; i++) {unsigned char c =log_text (msg)[i]; -if (c <' ' || c >=128 ) +if (c <' ' || c >=127 || c =='\\' ) len +=sprintf (user->buf + len,"\\x%02x" , c);else user->buf[len++] = c;
@@ -489,7 +489,7 @@ static ssize_t devkmsg_read(struct filecontinue ; } -if (c <' ' || c >=128 ) { +if (c <' ' || c >=127 || c =='\\' ) { len +=sprintf (user->buf + len,"\\x%02x" , c);continue ; }