From patchwork Thu Sep 21 17:16:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Christopherson X-Patchwork-Id: 143150 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:172:b0:3f2:4152:657d with SMTP id h50csp5302268vqi; Thu, 21 Sep 2023 20:49:20 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGJ4ixLlcrpPhhZjVj/t197M5mf7gvowvAkeamdjugca4VU4PdfKpBX9EMfIZFxM9cjml+V X-Received: by 2002:a05:6a00:2d84:b0:68f:cb69:8e7f with SMTP id fb4-20020a056a002d8400b0068fcb698e7fmr7638083pfb.7.1695354559880; Thu, 21 Sep 2023 20:49:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695354559; cv=none; d=google.com; s=arc-20160816; b=SdtuvF+LLIO3VnaKmeIv1OBgEC09hU7l/LFcdfLY3Ojs9zmImSoB3G2wv62piawjyW 5IaACRnNFEM7IzeBU1gpi3A5A5nHKemOm3bF4IWueqXCUlFy9lS6vWorIAHw8vUVKDdz KyXBnWj0npoLdnD8xwefIratFRSieLdVgD/9xMd/xgFODBRbdzlB9r+0yYRCbU7Ly/uw jYBwvNQ/yxKhMeSD4SjFxXSFldGVgy2E3sVSF4PjAzUU/e9NSSLSTdrxi8tibKU4OELm mhGycHYKdepReFyMdmSqT+leKSn2BalOASoDsTohOZqE7KKPiCQXgMHYRfCJkJLwvRE2 Uu9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:message-id:mime-version:date :reply-to:dkim-signature; bh=cWVtF+fs1Usi+Rms/xg03923pHwopRJzuckxmMamX6A=; fh=1S8sKY5wHrDbURRJ1z9Zg2gCiEMQ/jOdhq+4ODL+bB0=; b=pFOtWuUefQ5ZLsPaOI+H3hGDkiHjBRBLgA2y/MuWEUCgGO/UTsHh0rsm+mDQk+xruO glAEyQfjuRmlDKGC+NK6zRmkMo06AqXGAW7dvy3h4gWuPo9ymGNPSdlY2Fwy6Zz7HwuN ABBII2iYN6yvBa7WM+wpoSfSk+dy84/0CAet1kE+6b/zo9nrEORo8nPoRjWx8XSAkTzs fCNPgYYsxLUf6cl+FLW/4wqyAZJklctkHSK6y+5dMP0vdA9y1TEK/En9P28I1A72yQhg V4Ryy9yLsDEcQN6/x1XROOFOK0Ghju9R+GWnVI0mG4X4vuJz3P/xFsf+uXOJPZUiBF3D kRKA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=n1JDcaLS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from morse.vger.email (morse.vger.email. [2620:137:e000::3:1]) by mx.google.com with ESMTPS id x35-20020a056a0018a300b00690fc88e4acsi3258350pfh.228.2023.09.21.20.49.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Sep 2023 20:49:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) client-ip=2620:137:e000::3:1; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=n1JDcaLS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id EDF8C8211494; Thu, 21 Sep 2023 10:30:12 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229790AbjIURaA (ORCPT + 29 others); Thu, 21 Sep 2023 13:30:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55200 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230349AbjIUR2z (ORCPT ); Thu, 21 Sep 2023 13:28:55 -0400 Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com [IPv6:2607:f8b0:4864:20::1149]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DF17853652 for ; Thu, 21 Sep 2023 10:16:44 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-59eb7293017so16451497b3.3 for ; Thu, 21 Sep 2023 10:16:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1695316604; x=1695921404; darn=vger.kernel.org; h=cc:to:from:subject:message-id:mime-version:date:reply-to:from:to:cc :subject:date:message-id:reply-to; bh=cWVtF+fs1Usi+Rms/xg03923pHwopRJzuckxmMamX6A=; b=n1JDcaLS3QeCXxqU5CrZYcwCXmEFcfnrqvuehEaqvNiQF7jpOB5nLY29f4VmS0PkDj ETajjqf3dD8V6WLGCqG2G2m1I+QuqsMeTXTKE13zrqC/ELYbyXCZvPaWZY1dDRTChBEy lD4cu9ioDYoXZMykyYB2PFN5LNXrupuh1j7sGyysGL8JUDp1FgjIC5F9B1AB0Ldc3udt eRMmRKdwQUsbBdLxrRMAZs3ZjepGksI4XNWVe1VLMukL6RpE3jBnOtdsAHlPwLvm0ra2 jxvH9E04zaF0LHE4dGm780j9/uKyLmTinPVelZKDexPiUuPjiBIHl8YCVnJOP6OeERMT lQIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695316604; x=1695921404; h=cc:to:from:subject:message-id:mime-version:date:reply-to :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=cWVtF+fs1Usi+Rms/xg03923pHwopRJzuckxmMamX6A=; b=qwNuXDI+c4phzbqX94E45dUUWS83sSK9rykJmfkEHEgwbjz6/8H29h1xy0XgA/LmqV 20NPkzmrEg2FcarHxRoL9C3Vz00vkFdk6svhzP5cxgR7Yt9lYN0/vJUiT2chPVuXv6B2 iBHuskGEJI5lJupEiFbAXA4RecN5cgz2Uvt5JloOIBukectpcFyQ4vwTp1eUWRxSlWBz XPMXf6ui2f71o8O/0o+ZK1dCht+IIC9ANzbW2ZeTYc0chk6Q237K2hWz1H1MRPqs82s/ nHdDhyhpLvQaV2hrObVHM64oTjJqLUoGtCmS3D90sSVBJbcNUqDzt+hRLaKWi48WoDL0 HF7g== X-Gm-Message-State: AOJu0Yx1wVCUTnTdwaRTSEGuSZ8F54znya0hC+rj2lK3RrIvCpiqS+i+ ODvOevv6+BXXWD/TRfKtWrpRFYX3pdg= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a81:b709:0:b0:59b:e669:c944 with SMTP id v9-20020a81b709000000b0059be669c944mr90231ywh.3.1695316603960; Thu, 21 Sep 2023 10:16:43 -0700 (PDT) Reply-To: Sean Christopherson Date: Thu, 21 Sep 2023 10:16:41 -0700 Mime-Version: 1.0 X-Mailer: git-send-email 2.42.0.515.g380fc7ccd1-goog Message-ID: <20230921171641.3641776-1-seanjc@google.com> Subject: [PATCH] KVM: selftests: Treat %llx like %lx when formatting guest printf From: Sean Christopherson To: Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Aaron Lewis , Sean Christopherson X-Spam-Status: No, score=-8.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Thu, 21 Sep 2023 10:30:13 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777708102832441726 X-GMAIL-MSGID: 1777708102832441726 Treat %ll* formats the same as %l* formats when processing printfs from the guest so that using e.g. %llx instead of %lx generates the expected output. Ideally, unexpected formats would generate compile-time warnings or errors, but it's not at all obvious how to actually accomplish that. Alternatively, guest_vsnprintf() could assert on an unexpected format, but since the vast majority of printfs are for failed guest asserts, getting *something* printed is better than nothing. E.g. before ==== Test Assertion Failure ==== x86_64/private_mem_conversions_test.c:265: mem[i] == 0 pid=4286 tid=4290 errno=4 - Interrupted system call 1 0x0000000000401c74: __test_mem_conversions at private_mem_conversions_test.c:336 2 0x00007f3aae6076da: ?? ??:0 3 0x00007f3aae32161e: ?? ??:0 Expected 0x0 at offset 0 (gpa 0x%lx), got 0x0 and after ==== Test Assertion Failure ==== x86_64/private_mem_conversions_test.c:265: mem[i] == 0 pid=5664 tid=5668 errno=4 - Interrupted system call 1 0x0000000000401c74: __test_mem_conversions at private_mem_conversions_test.c:336 2 0x00007fbe180076da: ?? ??:0 3 0x00007fbe17d2161e: ?? ??:0 Expected 0x0 at offset 0 (gpa 0x100000000), got 0xcc Fixes: e5119382499c ("KVM: selftests: Add guest_snprintf() to KVM selftests") Cc: Aaron Lewis Signed-off-by: Sean Christopherson --- tools/testing/selftests/kvm/lib/guest_sprintf.c | 7 +++++++ 1 file changed, 7 insertions(+) base-commit: 7c7cce2cf7ee2ac54851ba1fbcf0e968932e32b9 diff --git a/tools/testing/selftests/kvm/lib/guest_sprintf.c b/tools/testing/selftests/kvm/lib/guest_sprintf.c index c4a69d8aeb68..74627514c4d4 100644 --- a/tools/testing/selftests/kvm/lib/guest_sprintf.c +++ b/tools/testing/selftests/kvm/lib/guest_sprintf.c @@ -200,6 +200,13 @@ int guest_vsnprintf(char *buf, int n, const char *fmt, va_list args) ++fmt; } + /* + * Play nice with %llu, %llx, etc. KVM selftests only support + * 64-bit builds, so just treat %ll* the same as %l*. + */ + if (qualifier == 'l' && *fmt == 'l') + ++fmt; + /* default base */ base = 10;