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

Re: [PATCH v3 01/24] xen/ctype: introduce is_console_printable()


  • To: <dmukhin@xxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Jason Andryuk <jason.andryuk@xxxxxxx>
  • Date: Tue, 21 Jan 2025 17:56:17 -0500
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=ford.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0)
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=af10JZJcWTXMWWC8WnVRNapxtQBCXjCco68gtDJVO3k=; b=BxoMoXN/iABxHYCYG73vd9tgwnMmMTekfDFT4t/FbegAHUsLU8/OzrsHQAMdZ7gdnzD9ofD/qt3j+cZSgLYBYSVKGyzOHJONxQYbnv9vgPX1dFZPfS4iXF84ybgutfy4TAhtx5RgemFut0vFUD4CxLS8VHX0ymckSnkifIJMej6qdck0Z16i3yWv67bAvis4m0oDzfKdRRTyRa/RyT/34RpMpEQcH0gbMZg1g4Hv5h0+VKglJqgKGbzPtpKWNUgDMAA0btbLoLW5LPUAZHTjVxEdM57aFbu6k/F1Cxpqg5ez6ViofQHCPxFGVeoojqEmyIcpXymKyVwS3hMls9Z24Q==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tPX7LVZV6k5RRedDe4TRx3pA/U+ahClvMNXnfczAPATkIdgSK80y0u9bE1n/7/uo/poYyHbGtEiQNsCTKn4GngiATj/4Qp3lTXkwU3muEM5vRBhRXqzaBXPrHpYDe3egXCqK//p9zZmjKYO1publ7vkRGFVTdVnngagyTcRDAE91LIkc/N60McN8zMzfbnglfsmMEugSF3YiLBTxxHymQqGoYucM3rC2Yjxk7wm0Ebe/CHbD6wDN7svzl6RIqWQeOE51Adps46lQjT0H5uOSFgF+l+bfmFv53TT3sl0N23371QUFtT97PsKrnxhDPn0da/B+0F1cdTKe+rfzn7vrpA==
  • Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, "Jan Beulich" <jbeulich@xxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Delivery-date: Tue, 21 Jan 2025 23:53:56 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 2025-01-03 20:58, Denis Mukhin via B4 Relay wrote:
From: Denis Mukhin <dmukhin@xxxxxxxx>

There are several console drivers which have same checks w.r.t. printable
characters. The check is moved to new is_console_printable() function and
re-used in the UART emulation / guest logging code.

Also, MISRA rule 21.13 for ctype.h has been exploited while working on
the code change, reference the rule from ctype.h for future engineers.

Signed-off-by: Denis Mukhin <dmukhin@xxxxxxxx>

diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 
7da8c5296f3b62c6c45131c58fe5cf0e393e9ef3..4cb397116b44935214801c496b30e44c9399c59a
 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -674,7 +674,7 @@ static long 
guest_console_write(XEN_GUEST_HANDLE_PARAM(char) buffer,
                  c = *kin++;
                  if ( c == '\n' )
                      break;
-                if ( isprint(c) || c == '\t' )
+                if ( is_console_printable(c) )
                      *kout++ = c;

This `if` now accepts newline, but newline is already handled above. So it seems okay to me.

Reviewed-by: Jason Andryuk <jason.andryuk@xxxxxxx>

              } while ( --kcount > 0 );



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.