From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5EE33C83F11 for ; Sun, 27 Aug 2023 18:31:30 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qaKWL-00079g-CO; Sun, 27 Aug 2023 14:29:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qaKWJ-00079I-OD for qemu-devel@nongnu.org; Sun, 27 Aug 2023 14:29:55 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qaKWH-0004a4-GF for qemu-devel@nongnu.org; Sun, 27 Aug 2023 14:29:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1693160992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Psk06wyiDolGEzgmN1JWKHryUKF51MhPkepKDgJfgHU=; b=OgMnQ28SkrWFvgO7G+T8xHBWIlRHzUV/YcUOSEeO1IfNPLT8jtwd4g8BYNkLa+JuQ4n1l3 svrO7lcZqvw8jfZzXPWsDPiHa4QJ9S7RYIlOl8BFxQznIccr2aNiGRnh7pbCY7NMLVCTeQ e8M/6jP0YT41ispb6dyFPcMGAsKqSmQ= Received: from mimecast-mx02.redhat.com (66.187.233.73 [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-55-gqcRzUg_PSebgvfCTNrrJQ-1; Sun, 27 Aug 2023 14:29:50 -0400 X-MC-Unique: gqcRzUg_PSebgvfCTNrrJQ-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 4FC511C0515B; Sun, 27 Aug 2023 18:29:50 +0000 (UTC) Received: from lacos-laptop-9.usersys.redhat.com (unknown [10.39.192.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id 401E1140E950; Sun, 27 Aug 2023 18:29:48 +0000 (UTC) From: Laszlo Ersek To: qemu-devel@nongnu.org, lersek@redhat.com Cc: "Michael S. Tsirkin" , Eugenio Perez Martin , German Maglione , Liu Jiang , Sergio Lopez Pascual , Stefano Garzarella Subject: [PATCH 5/7] vhost-user: hoist "write_msg", "get_features", "get_u64" Date: Sun, 27 Aug 2023 20:29:35 +0200 Message-Id: <20230827182937.146450-6-lersek@redhat.com> In-Reply-To: <20230827182937.146450-1-lersek@redhat.com> References: <20230827182937.146450-1-lersek@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: base64 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7 Received-SPF: pass client-ip=170.10.129.124; envelope-from=lersek@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -3 X-Spam_score: -0.4 X-Spam_bar: / X-Spam_report: (-0.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MIME_BASE64_TEXT=1.741, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org SW4gb3JkZXIgdG8gYXZvaWQgYSBmb3J3YXJkLWRlY2xhcmF0aW9uIGZvciAidmhvc3RfdXNlcl93 cml0ZV9tc2ciIGluIGEKc3Vic2VxdWVudCBwYXRjaCwgaG9pc3QgInZob3N0X3VzZXJfd3JpdGVf bXNnIiAtPgoidmhvc3RfdXNlcl9nZXRfZmVhdHVyZXMiIC0+ICJ2aG9zdF91c2VyX2dldF91NjQi IGp1c3QgYWJvdmUKInZob3N0X3NldF92cmluZyIuCgpUaGlzIGlzIHB1cmVseSBjb2RlIG1vdmVt ZW50IC0tIG5vIG9ic2VydmFibGUgY2hhbmdlLgoKQ2M6ICJNaWNoYWVsIFMuIFRzaXJraW4iIDxt c3RAcmVkaGF0LmNvbT4gKHN1cHBvcnRlcjp2aG9zdCkKQ2M6IEV1Z2VuaW8gUGVyZXogTWFydGlu IDxlcGVyZXptYUByZWRoYXQuY29tPgpDYzogR2VybWFuIE1hZ2xpb25lIDxnbWFnbGlvbmVAcmVk aGF0LmNvbT4KQ2M6IExpdSBKaWFuZyA8Z2VycnlAbGludXguYWxpYmFiYS5jb20+CkNjOiBTZXJn aW8gTG9wZXogUGFzY3VhbCA8c2xwQHJlZGhhdC5jb20+CkNjOiBTdGVmYW5vIEdhcnphcmVsbGEg PHNnYXJ6YXJlQHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IExhc3psbyBFcnNlayA8bGVyc2Vr QHJlZGhhdC5jb20+Ci0tLQogaHcvdmlydGlvL3Zob3N0LXVzZXIuYyB8IDE3MCArKysrKysrKysr LS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDg1IGluc2VydGlvbnMoKyksIDg1IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2h3L3ZpcnRpby92aG9zdC11c2VyLmMgYi9ody92aXJ0aW8vdmhv c3QtdXNlci5jCmluZGV4IDhlYjdmZDA5NGM0My4uY2FkYWZlYmQwNzY3IDEwMDY0NAotLS0gYS9o dy92aXJ0aW8vdmhvc3QtdXNlci5jCisrKyBiL2h3L3ZpcnRpby92aG9zdC11c2VyLmMKQEAgLTEw ODMsNiArMTA4Myw5MSBAQCBzdGF0aWMgaW50IHZob3N0X3VzZXJfc2V0X3ZyaW5nX2VuZGlhbihz dHJ1Y3Qgdmhvc3RfZGV2ICpkZXYsCiAgICAgcmV0dXJuIHZob3N0X3VzZXJfd3JpdGUoZGV2LCAm bXNnLCBOVUxMLCAwKTsKIH0KIAorc3RhdGljIGludCB2aG9zdF91c2VyX2dldF91NjQoc3RydWN0 IHZob3N0X2RldiAqZGV2LCBpbnQgcmVxdWVzdCwgdWludDY0X3QgKnU2NCkKK3sKKyAgICBpbnQg cmV0OworICAgIFZob3N0VXNlck1zZyBtc2cgPSB7CisgICAgICAgIC5oZHIucmVxdWVzdCA9IHJl cXVlc3QsCisgICAgICAgIC5oZHIuZmxhZ3MgPSBWSE9TVF9VU0VSX1ZFUlNJT04sCisgICAgfTsK KworICAgIGlmICh2aG9zdF91c2VyX3Blcl9kZXZpY2VfcmVxdWVzdChyZXF1ZXN0KSAmJiBkZXYt PnZxX2luZGV4ICE9IDApIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgcmV0ID0g dmhvc3RfdXNlcl93cml0ZShkZXYsICZtc2csIE5VTEwsIDApOworICAgIGlmIChyZXQgPCAwKSB7 CisgICAgICAgIHJldHVybiByZXQ7CisgICAgfQorCisgICAgcmV0ID0gdmhvc3RfdXNlcl9yZWFk KGRldiwgJm1zZyk7CisgICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAgcmV0dXJuIHJldDsKKyAg ICB9CisKKyAgICBpZiAobXNnLmhkci5yZXF1ZXN0ICE9IHJlcXVlc3QpIHsKKyAgICAgICAgZXJy b3JfcmVwb3J0KCJSZWNlaXZlZCB1bmV4cGVjdGVkIG1zZyB0eXBlLiBFeHBlY3RlZCAlZCByZWNl aXZlZCAlZCIsCisgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LCBtc2cuaGRyLnJlcXVlc3Qp OworICAgICAgICByZXR1cm4gLUVQUk9UTzsKKyAgICB9CisKKyAgICBpZiAobXNnLmhkci5zaXpl ICE9IHNpemVvZihtc2cucGF5bG9hZC51NjQpKSB7CisgICAgICAgIGVycm9yX3JlcG9ydCgiUmVj ZWl2ZWQgYmFkIG1zZyBzaXplLiIpOworICAgICAgICByZXR1cm4gLUVQUk9UTzsKKyAgICB9CisK KyAgICAqdTY0ID0gbXNnLnBheWxvYWQudTY0OworCisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRp YyBpbnQgdmhvc3RfdXNlcl9nZXRfZmVhdHVyZXMoc3RydWN0IHZob3N0X2RldiAqZGV2LCB1aW50 NjRfdCAqZmVhdHVyZXMpCit7CisgICAgaWYgKHZob3N0X3VzZXJfZ2V0X3U2NChkZXYsIFZIT1NU X1VTRVJfR0VUX0ZFQVRVUkVTLCBmZWF0dXJlcykgPCAwKSB7CisgICAgICAgIHJldHVybiAtRVBS T1RPOworICAgIH0KKworICAgIHJldHVybiAwOworfQorCisvKiBOb3RlOiAibXNnLT5oZHIuZmxh Z3MiIG1heSBiZSBtb2RpZmllZC4gKi8KK3N0YXRpYyBpbnQgdmhvc3RfdXNlcl93cml0ZV9tc2co c3RydWN0IHZob3N0X2RldiAqZGV2LCBWaG9zdFVzZXJNc2cgKm1zZywKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYm9vbCB3YWl0X2Zvcl9yZXBseSkKK3sKKyAgICBpbnQgcmV0Owor CisgICAgaWYgKHdhaXRfZm9yX3JlcGx5KSB7CisgICAgICAgIGJvb2wgcmVwbHlfc3VwcG9ydGVk ID0gdmlydGlvX2hhc19mZWF0dXJlKGRldi0+cHJvdG9jb2xfZmVhdHVyZXMsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWSE9TVF9VU0VSX1BST1RPQ09MX0ZfUkVQ TFlfQUNLKTsKKyAgICAgICAgaWYgKHJlcGx5X3N1cHBvcnRlZCkgeworICAgICAgICAgICAgbXNn LT5oZHIuZmxhZ3MgfD0gVkhPU1RfVVNFUl9ORUVEX1JFUExZX01BU0s7CisgICAgICAgIH0KKyAg ICB9CisKKyAgICByZXQgPSB2aG9zdF91c2VyX3dyaXRlKGRldiwgbXNnLCBOVUxMLCAwKTsKKyAg ICBpZiAocmV0IDwgMCkgeworICAgICAgICByZXR1cm4gcmV0OworICAgIH0KKworICAgIGlmICh3 YWl0X2Zvcl9yZXBseSkgeworICAgICAgICB1aW50NjRfdCBkdW1teTsKKworICAgICAgICBpZiAo bXNnLT5oZHIuZmxhZ3MgJiBWSE9TVF9VU0VSX05FRURfUkVQTFlfTUFTSykgeworICAgICAgICAg ICAgcmV0dXJuIHByb2Nlc3NfbWVzc2FnZV9yZXBseShkZXYsIG1zZyk7CisgICAgICAgIH0KKwor ICAgICAgIC8qCisgICAgICAgICogV2UgbmVlZCB0byB3YWl0IGZvciBhIHJlcGx5IGJ1dCB0aGUg YmFja2VuZCBkb2VzIG5vdAorICAgICAgICAqIHN1cHBvcnQgcmVwbGllcyBmb3IgdGhlIGNvbW1h bmQgd2UganVzdCBzZW50LgorICAgICAgICAqIFNlbmQgVkhPU1RfVVNFUl9HRVRfRkVBVFVSRVMg d2hpY2ggbWFrZXMgYWxsIGJhY2tlbmRzCisgICAgICAgICogc2VuZCBhIHJlcGx5LgorICAgICAg ICAqLworICAgICAgICByZXR1cm4gdmhvc3RfdXNlcl9nZXRfZmVhdHVyZXMoZGV2LCAmZHVtbXkp OworICAgIH0KKworICAgIHJldHVybiAwOworfQorCiBzdGF0aWMgaW50IHZob3N0X3NldF92cmlu ZyhzdHJ1Y3Qgdmhvc3RfZGV2ICpkZXYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp Z25lZCBsb25nIGludCByZXF1ZXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0 IHZob3N0X3ZyaW5nX3N0YXRlICpyaW5nKQpAQCAtMTI1NSw5MSArMTM0MCw2IEBAIHN0YXRpYyBp bnQgdmhvc3RfdXNlcl9zZXRfdnJpbmdfZXJyKHN0cnVjdCB2aG9zdF9kZXYgKmRldiwKICAgICBy ZXR1cm4gdmhvc3Rfc2V0X3ZyaW5nX2ZpbGUoZGV2LCBWSE9TVF9VU0VSX1NFVF9WUklOR19FUlIs IGZpbGUpOwogfQogCi1zdGF0aWMgaW50IHZob3N0X3VzZXJfZ2V0X3U2NChzdHJ1Y3Qgdmhvc3Rf ZGV2ICpkZXYsIGludCByZXF1ZXN0LCB1aW50NjRfdCAqdTY0KQotewotICAgIGludCByZXQ7Ci0g ICAgVmhvc3RVc2VyTXNnIG1zZyA9IHsKLSAgICAgICAgLmhkci5yZXF1ZXN0ID0gcmVxdWVzdCwK LSAgICAgICAgLmhkci5mbGFncyA9IFZIT1NUX1VTRVJfVkVSU0lPTiwKLSAgICB9OwotCi0gICAg aWYgKHZob3N0X3VzZXJfcGVyX2RldmljZV9yZXF1ZXN0KHJlcXVlc3QpICYmIGRldi0+dnFfaW5k ZXggIT0gMCkgewotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAgICByZXQgPSB2aG9zdF91 c2VyX3dyaXRlKGRldiwgJm1zZywgTlVMTCwgMCk7Ci0gICAgaWYgKHJldCA8IDApIHsKLSAgICAg ICAgcmV0dXJuIHJldDsKLSAgICB9Ci0KLSAgICByZXQgPSB2aG9zdF91c2VyX3JlYWQoZGV2LCAm bXNnKTsKLSAgICBpZiAocmV0IDwgMCkgewotICAgICAgICByZXR1cm4gcmV0OwotICAgIH0KLQot ICAgIGlmIChtc2cuaGRyLnJlcXVlc3QgIT0gcmVxdWVzdCkgewotICAgICAgICBlcnJvcl9yZXBv cnQoIlJlY2VpdmVkIHVuZXhwZWN0ZWQgbXNnIHR5cGUuIEV4cGVjdGVkICVkIHJlY2VpdmVkICVk IiwKLSAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QsIG1zZy5oZHIucmVxdWVzdCk7Ci0gICAg ICAgIHJldHVybiAtRVBST1RPOwotICAgIH0KLQotICAgIGlmIChtc2cuaGRyLnNpemUgIT0gc2l6 ZW9mKG1zZy5wYXlsb2FkLnU2NCkpIHsKLSAgICAgICAgZXJyb3JfcmVwb3J0KCJSZWNlaXZlZCBi YWQgbXNnIHNpemUuIik7Ci0gICAgICAgIHJldHVybiAtRVBST1RPOwotICAgIH0KLQotICAgICp1 NjQgPSBtc2cucGF5bG9hZC51NjQ7Ci0KLSAgICByZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCB2 aG9zdF91c2VyX2dldF9mZWF0dXJlcyhzdHJ1Y3Qgdmhvc3RfZGV2ICpkZXYsIHVpbnQ2NF90ICpm ZWF0dXJlcykKLXsKLSAgICBpZiAodmhvc3RfdXNlcl9nZXRfdTY0KGRldiwgVkhPU1RfVVNFUl9H RVRfRkVBVFVSRVMsIGZlYXR1cmVzKSA8IDApIHsKLSAgICAgICAgcmV0dXJuIC1FUFJPVE87Ci0g ICAgfQotCi0gICAgcmV0dXJuIDA7Ci19Ci0KLS8qIE5vdGU6ICJtc2ctPmhkci5mbGFncyIgbWF5 IGJlIG1vZGlmaWVkLiAqLwotc3RhdGljIGludCB2aG9zdF91c2VyX3dyaXRlX21zZyhzdHJ1Y3Qg dmhvc3RfZGV2ICpkZXYsIFZob3N0VXNlck1zZyAqbXNnLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBib29sIHdhaXRfZm9yX3JlcGx5KQotewotICAgIGludCByZXQ7Ci0KLSAgICBp ZiAod2FpdF9mb3JfcmVwbHkpIHsKLSAgICAgICAgYm9vbCByZXBseV9zdXBwb3J0ZWQgPSB2aXJ0 aW9faGFzX2ZlYXR1cmUoZGV2LT5wcm90b2NvbF9mZWF0dXJlcywKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFZIT1NUX1VTRVJfUFJPVE9DT0xfRl9SRVBMWV9BQ0sp OwotICAgICAgICBpZiAocmVwbHlfc3VwcG9ydGVkKSB7Ci0gICAgICAgICAgICBtc2ctPmhkci5m bGFncyB8PSBWSE9TVF9VU0VSX05FRURfUkVQTFlfTUFTSzsKLSAgICAgICAgfQotICAgIH0KLQot ICAgIHJldCA9IHZob3N0X3VzZXJfd3JpdGUoZGV2LCBtc2csIE5VTEwsIDApOwotICAgIGlmIChy ZXQgPCAwKSB7Ci0gICAgICAgIHJldHVybiByZXQ7Ci0gICAgfQotCi0gICAgaWYgKHdhaXRfZm9y X3JlcGx5KSB7Ci0gICAgICAgIHVpbnQ2NF90IGR1bW15OwotCi0gICAgICAgIGlmIChtc2ctPmhk ci5mbGFncyAmIFZIT1NUX1VTRVJfTkVFRF9SRVBMWV9NQVNLKSB7Ci0gICAgICAgICAgICByZXR1 cm4gcHJvY2Vzc19tZXNzYWdlX3JlcGx5KGRldiwgbXNnKTsKLSAgICAgICAgfQotCi0gICAgICAg LyoKLSAgICAgICAgKiBXZSBuZWVkIHRvIHdhaXQgZm9yIGEgcmVwbHkgYnV0IHRoZSBiYWNrZW5k IGRvZXMgbm90Ci0gICAgICAgICogc3VwcG9ydCByZXBsaWVzIGZvciB0aGUgY29tbWFuZCB3ZSBq dXN0IHNlbnQuCi0gICAgICAgICogU2VuZCBWSE9TVF9VU0VSX0dFVF9GRUFUVVJFUyB3aGljaCBt YWtlcyBhbGwgYmFja2VuZHMKLSAgICAgICAgKiBzZW5kIGEgcmVwbHkuCi0gICAgICAgICovCi0g ICAgICAgIHJldHVybiB2aG9zdF91c2VyX2dldF9mZWF0dXJlcyhkZXYsICZkdW1teSk7Ci0gICAg fQotCi0gICAgcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBpbnQgdmhvc3RfdXNlcl9zZXRfdnJpbmdf YWRkcihzdHJ1Y3Qgdmhvc3RfZGV2ICpkZXYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IHZob3N0X3ZyaW5nX2FkZHIgKmFkZHIpCiB7Cgo=