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 smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (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 5752BC433EF for ; Thu, 16 Jun 2022 06:41:55 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id F2FF2414C5; Thu, 16 Jun 2022 06:41:54 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LvdpR8txi-xo; Thu, 16 Jun 2022 06:41:53 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp4.osuosl.org (Postfix) with ESMTPS id BC3204152D; Thu, 16 Jun 2022 06:41:52 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 9E9F6C0032; Thu, 16 Jun 2022 06:41:52 +0000 (UTC) Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by lists.linuxfoundation.org (Postfix) with ESMTP id CF7AEC002D for ; Thu, 16 Jun 2022 06:41:51 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id AFCA6606FF for ; Thu, 16 Jun 2022 06:41:51 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Authentication-Results: smtp3.osuosl.org (amavisd-new); dkim=pass (1024-bit key) header.d=redhat.com Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QEDGBEF_e6lS for ; Thu, 16 Jun 2022 06:41:50 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by smtp3.osuosl.org (Postfix) with ESMTPS id AFB3860008 for ; Thu, 16 Jun 2022 06:41:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1655361709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=33qxPl1yzMZ2ON25XfmJwFn/7hkH/1jNSByKPnqWkCE=; b=JEyrehx90gd3SL8wUyDnfqDnFci8n0aXLyQQezkCrf3FLQNueKz0EHSFD2UcPeIimb8sQG 09PZcttEVg9VuIYvrtwZJFah9d/rOc1eomnP/FIkO5iURO3uQC95QvPkYaZQYOE55Bsss1 mjEA/bUTyTtYgtcGOIQppdMG5bhbdfc= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-414-00Mk6VnNO16u7ns5UnUuHA-1; Thu, 16 Jun 2022 02:41:48 -0400 X-MC-Unique: 00Mk6VnNO16u7ns5UnUuHA-1 Received: by mail-wm1-f72.google.com with SMTP id z13-20020a7bc7cd000000b0039c4a238eadso222476wmk.9 for ; Wed, 15 Jun 2022 23:41:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=33qxPl1yzMZ2ON25XfmJwFn/7hkH/1jNSByKPnqWkCE=; b=EyK+LgUnx/KBvezWmwdz6CRYMftNGaVYRARMbBFK9xeVY5RmZU8OQGmjeXrMwFED2X Zh3KmTjdIPxUBl6e5MpXFTJF7vUqFH3YEsL3j6oMDWlp+iDuYT9f7wM9NgRSm5hjVgVz AK2mSutfd8EgTHd83zKi9rEMqKwtUOvVdjYcWTJm37UTh5TkAZBeBr2y1HmieC8/RcQC 5yZzMWcnmDUSGp8aHTNTD9o+pxdZUrlW7OnnACe/4F7LX6AUMK11xdOwA4sspGe/AsuD 5IlfRUwH08g8qnHVyZiKXWXSqVgCZNQP1O3ofQpLUlaWTKkGQRa03ZZrUvJqOxQF94eK lHrA== X-Gm-Message-State: AJIora9bIETBXzGbbfYahyA4SCL9+4qozjKuKw5mmkEwSsaGWjJr3LBS BXCISiPdL/aMep24u6hrOU/fwebIquiD/WpesM+QBtYU9XkK8zz5qJ9aECJ47i+KG2t7CFE4uBf 5bb72JLTm9b25InRg9C2l88usfBC2t8rMDQ2V9w4oHg== X-Received: by 2002:a05:600c:a4c:b0:39c:34d0:fd25 with SMTP id c12-20020a05600c0a4c00b0039c34d0fd25mr3272708wmq.172.1655361707071; Wed, 15 Jun 2022 23:41:47 -0700 (PDT) X-Google-Smtp-Source: AGRyM1uj7j+Imm2QnYHEeavtspJbw5pJdXR2qZqmqSGicIKEcXokVbl/SLeeDQjVR6hopXzX0S8vZQ== X-Received: by 2002:a05:600c:a4c:b0:39c:34d0:fd25 with SMTP id c12-20020a05600c0a4c00b0039c34d0fd25mr3272690wmq.172.1655361706812; Wed, 15 Jun 2022 23:41:46 -0700 (PDT) Received: from redhat.com ([2a03:c5c0:107d:d500:e9ae:3150:6c35:ac38]) by smtp.gmail.com with ESMTPSA id w5-20020a7bc105000000b003976fbfbf00sm1171293wmi.30.2022.06.15.23.41.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jun 2022 23:41:46 -0700 (PDT) Date: Thu, 16 Jun 2022 02:41:37 -0400 From: "Michael S. Tsirkin" To: Albert Huang Subject: Re: [PATCH v2] virtio_ring : keep used_wrap_counter in vq->last_used_idx Message-ID: <20220616023904-mutt-send-email-mst@kernel.org> References: <20220616051221.28506-1-huangjie.albert@bytedance.com> MIME-Version: 1.0 In-Reply-To: <20220616051221.28506-1-huangjie.albert@bytedance.com> Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline Cc: linux-kernel@vger.kernel.org, yuanzhu@bytedance.com, virtualization@lists.linux-foundation.org X-BeenThere: virtualization@lists.linux-foundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Linux virtualization List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: virtualization-bounces@lists.linux-foundation.org Sender: "Virtualization" T24gVGh1LCBKdW4gMTYsIDIwMjIgYXQgMDE6MTI6MjFQTSArMDgwMCwgQWxiZXJ0IEh1YW5nIHdy b3RlOgo+IEZyb206ICJodWFuZ2ppZS5hbGJlcnQiIDxodWFuZ2ppZS5hbGJlcnRAYnl0ZWRhbmNl LmNvbT4KPiAKPiB0aGUgdXNlZF93cmFwX2NvdW50ZXIgYW5kIHRoZSB2cS0+bGFzdF91c2VkX2lk eCBtYXkgZ2V0Cj4gb3V0IG9mIHN5bmMgaWYgdGhleSBhcmUgc2VwYXJhdGUgYXNzaWdubWVudO+8 jGFuZCBpbnRlcnJ1cHQKPiBtaWdodCB1c2UgYW4gaW5jb3JyZWN0IHZhbHVlIHRvIGNoZWNrIGZv ciB0aGUgdXNlZCBpbmRleC4KPiAKPiBmb3IgZXhhbXBsZTpPT0IgYWNjZXNzCj4ga3NvZnRpcnFk IG1heSBjb25zdW1lIHRoZSBwYWNrZXQgYW5kIGl0IHdpbGwgY2FsbDoKPiB2aXJ0bmV0X3BvbGwK PiAJLS0+dmlydG5ldF9yZWNlaXZlCj4gCQktLT52aXJ0cXVldWVfZ2V0X2J1Zl9jdHgKPiAJCQkt LT52aXJ0cXVldWVfZ2V0X2J1Zl9jdHhfcGFja2VkCj4gYW5kIGluIHZpcnRxdWV1ZV9nZXRfYnVm X2N0eF9wYWNrZWQ6Cj4gCj4gdnEtPmxhc3RfdXNlZF9pZHggKz0gdnEtPnBhY2tlZC5kZXNjX3N0 YXRlW2lkXS5udW07Cj4gaWYgKHVubGlrZWx5KHZxLT5sYXN0X3VzZWRfaWR4ID49IHZxLT5wYWNr ZWQudnJpbmcubnVtKSkgewo+ICAgICAgICAgIHZxLT5sYXN0X3VzZWRfaWR4IC09IHZxLT5wYWNr ZWQudnJpbmcubnVtOwo+ICAgICAgICAgIHZxLT5wYWNrZWQudXNlZF93cmFwX2NvdW50ZXIgXj0g MTsKPiB9Cj4gCj4gaWYgYXQgdGhlIHNhbWUgdGltZSwgdGhlcmUgY29tZXMgYSB2cmluZyBpbnRl cnJ1cHTvvIxpbiB2cmluZ19pbnRlcnJ1cHQ6Cj4gd2Ugd2lsbCBjYWxsOgo+IHZyaW5nX2ludGVy cnVwdAo+IAktLT5tb3JlX3VzZWQKPiAJCS0tPm1vcmVfdXNlZF9wYWNrZWQKPiAJCQktLT5pc191 c2VkX2Rlc2NfcGFja2VkCj4gaW4gaXNfdXNlZF9kZXNjX3BhY2tlZCwgdGhlIGxhc3RfdXNlZF9p ZHggbWF5YmUgPj0gdnEtPnBhY2tlZC52cmluZy5udW0uCj4gc28gdGhpcyBjb3VsZCBjYXNlIGEg bWVtb3J5IG91dCBvZiBib3VuZHMgYnVnLgo+IAo+IHRoaXMgcGF0Y2ggaXMgdG8ga2VlcCB0aGUg dXNlZF93cmFwX2NvdW50ZXIgaW4gdnEtPmxhc3RfdXNlZF9pZHgKPiBzbyB3ZSBjYW4gZ2V0IHRo ZSBjb3JyZWN0IHZhbHVlIHRvIGNoZWNrIGZvciB1c2VkIGluZGV4IGluIGludGVycnVwdC4KPiAK PiB2MS0+djI6Cj4gLSByZXVzZSB0aGUgVlJJTkdfUEFDS0VEX0VWRU5UX0ZfV1JBUF9DVFIKPiAt IFJlbW92ZSBwYXJhbWV0ZXIganVkZ21lbnQgaW4gaXNfdXNlZF9kZXNjX3BhY2tlZCwKPiBiZWNh dXNlIGl0IGNhbid0IGJlIGlsbGVnYWwKPiAKPiBTaWduZWQtb2ZmLWJ5OiBodWFuZ2ppZS5hbGJl cnQgPGh1YW5namllLmFsYmVydEBieXRlZGFuY2UuY29tPgo+IC0tLQo+ICBkcml2ZXJzL3ZpcnRp by92aXJ0aW9fcmluZy5jIHwgNTcgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t Cj4gIDEgZmlsZSBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKPiAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYyBiL2RyaXZlcnMvdmly dGlvL3ZpcnRpb19yaW5nLmMKPiBpbmRleCAxM2E3MzQ4Y2VkZmYuLmIyMmQ5N2M5YTc1NSAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jCj4gKysrIGIvZHJpdmVycy92 aXJ0aW8vdmlydGlvX3JpbmcuYwo+IEBAIC0xMTEsNyArMTExLDEyIEBAIHN0cnVjdCB2cmluZ192 aXJ0cXVldWUgewo+ICAJLyogTnVtYmVyIHdlJ3ZlIGFkZGVkIHNpbmNlIGxhc3Qgc3luYy4gKi8K PiAgCXVuc2lnbmVkIGludCBudW1fYWRkZWQ7Cj4gIAo+IC0JLyogTGFzdCB1c2VkIGluZGV4IHdl J3ZlIHNlZW4uICovCj4gKwkvKiBMYXN0IHVzZWQgaW5kZXggIHdlJ3ZlIHNlZW4uCj4gKwkgKiBm b3Igc3BsaXQgcmluZywgaXQganVzdCBjb250YWlucyBsYXN0IHVzZWQgaW5kZXgKPiArCSAqIGZv ciBwYWNrZWQgcmluZywgaXQgbm90IG9ubHkgY29udGFpbnMgbGFzdCB1c2VkIGluZGV4LCBidXQg YWxzbwo+ICsJICogdXNlZF93cmFwX2NvdW50ZXIsIHRoZSBWUklOR19QQUNLRURfRVZFTlRfRl9X UkFQX0NUUiBpcwo+ICsJICogdGhlIGJpdCBzaGlmdCBpbiBsYXN0X3VzZWRfaWR4Cj4gKwkgKi8K PiAgCXUxNiBsYXN0X3VzZWRfaWR4Owo+ICAKPiAgCS8qIEhpbnQgZm9yIGV2ZW50IGlkeDogYWxy ZWFkeSB0cmlnZ2VyZWQgbm8gbmVlZCB0byBkaXNhYmxlLiAqLwo+IEBAIC0xNTQsOSArMTU5LDYg QEAgc3RydWN0IHZyaW5nX3ZpcnRxdWV1ZSB7Cj4gIAkJCS8qIERyaXZlciByaW5nIHdyYXAgY291 bnRlci4gKi8KPiAgCQkJYm9vbCBhdmFpbF93cmFwX2NvdW50ZXI7Cj4gIAo+IC0JCQkvKiBEZXZp Y2UgcmluZyB3cmFwIGNvdW50ZXIuICovCj4gLQkJCWJvb2wgdXNlZF93cmFwX2NvdW50ZXI7Cj4g LQo+ICAJCQkvKiBBdmFpbCB1c2VkIGZsYWdzLiAqLwo+ICAJCQl1MTYgYXZhaWxfdXNlZF9mbGFn czsKPiAgCj4gQEAgLTE0MDYsOCArMTQwOCwxMiBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNfdXNl ZF9kZXNjX3BhY2tlZChjb25zdCBzdHJ1Y3QgdnJpbmdfdmlydHF1ZXVlICp2cSwKPiAgCj4gIHN0 YXRpYyBpbmxpbmUgYm9vbCBtb3JlX3VzZWRfcGFja2VkKGNvbnN0IHN0cnVjdCB2cmluZ192aXJ0 cXVldWUgKnZxKQo+ICB7Cj4gLQlyZXR1cm4gaXNfdXNlZF9kZXNjX3BhY2tlZCh2cSwgdnEtPmxh c3RfdXNlZF9pZHgsCj4gLQkJCXZxLT5wYWNrZWQudXNlZF93cmFwX2NvdW50ZXIpOwo+ICsJdTE2 IGxhc3RfdXNlZDsKPiArCWJvb2wgdXNlZF93cmFwX2NvdW50ZXI7Cj4gKwo+ICsJbGFzdF91c2Vk ID0gdnEtPmxhc3RfdXNlZF9pZHggJiB+KDEgPDwgVlJJTkdfUEFDS0VEX0VWRU5UX0ZfV1JBUF9D VFIpOwo+ICsJdXNlZF93cmFwX2NvdW50ZXIgPSAhISgodnEtPmxhc3RfdXNlZF9pZHgpID4+IFZS SU5HX1BBQ0tFRF9FVkVOVF9GX1dSQVBfQ1RSKTsKPiArCXJldHVybiBpc191c2VkX2Rlc2NfcGFj a2VkKHZxLCBsYXN0X3VzZWQsIHVzZWRfd3JhcF9jb3VudGVyKTsKCkhtbS4KCklmIHZxLT5sYXN0 X3VzZWRfaWR4IGlzIHJlYWQgdHdpY2UgbGlrZSB0aGlzIHRoZSB2YWx1ZXMgY2FuIGJlIGluY29u c2lzdGVudCwKbm8gaWRlYSB3aGF0IHRoZSByZXN1bHQgd2lsbCBiZSBpZiBzby4KCkkgdGhpbmsg d2UgbmVlZCB0byByZWFkIHZxLT5sYXN0X3VzZWRfaWR4IHdpdGggUkVBRF9PTkNFLgoKQW5kIEkg Z3Vlc3Mgd3JpdGUgaXQgd2l0aCBXUklURV9PTkNFIGZvciBzeW1tZXRyeS4KCgoKPiAgfQo+ICAK PiAgc3RhdGljIHZvaWQgKnZpcnRxdWV1ZV9nZXRfYnVmX2N0eF9wYWNrZWQoc3RydWN0IHZpcnRx dWV1ZSAqX3ZxLAo+IEBAIC0xNDE2LDYgKzE0MjIsNyBAQCBzdGF0aWMgdm9pZCAqdmlydHF1ZXVl X2dldF9idWZfY3R4X3BhY2tlZChzdHJ1Y3QgdmlydHF1ZXVlICpfdnEsCj4gIHsKPiAgCXN0cnVj dCB2cmluZ192aXJ0cXVldWUgKnZxID0gdG9fdnZxKF92cSk7Cj4gIAl1MTYgbGFzdF91c2VkLCBp ZDsKPiArCWJvb2wgdXNlZF93cmFwX2NvdW50ZXI7Cj4gIAl2b2lkICpyZXQ7Cj4gIAo+ICAJU1RB UlRfVVNFKHZxKTsKPiBAQCAtMTQzNCw3ICsxNDQxLDggQEAgc3RhdGljIHZvaWQgKnZpcnRxdWV1 ZV9nZXRfYnVmX2N0eF9wYWNrZWQoc3RydWN0IHZpcnRxdWV1ZSAqX3ZxLAo+ICAJLyogT25seSBn ZXQgdXNlZCBlbGVtZW50cyBhZnRlciB0aGV5IGhhdmUgYmVlbiBleHBvc2VkIGJ5IGhvc3QuICov Cj4gIAl2aXJ0aW9fcm1iKHZxLT53ZWFrX2JhcnJpZXJzKTsKPiAgCj4gLQlsYXN0X3VzZWQgPSB2 cS0+bGFzdF91c2VkX2lkeDsKPiArCXVzZWRfd3JhcF9jb3VudGVyID0gISEoKHZxLT5sYXN0X3Vz ZWRfaWR4ID4+IFZSSU5HX1BBQ0tFRF9FVkVOVF9GX1dSQVBfQ1RSKSk7Cj4gKwlsYXN0X3VzZWQg PSAodnEtPmxhc3RfdXNlZF9pZHgpICYgKH4oMSA8PCBWUklOR19QQUNLRURfRVZFTlRfRl9XUkFQ X0NUUikpOwo+ICAJaWQgPSBsZTE2X3RvX2NwdSh2cS0+cGFja2VkLnZyaW5nLmRlc2NbbGFzdF91 c2VkXS5pZCk7Cj4gIAkqbGVuID0gbGUzMl90b19jcHUodnEtPnBhY2tlZC52cmluZy5kZXNjW2xh c3RfdXNlZF0ubGVuKTsKPiAgCj4gQEAgLTE0NTEsMTIgKzE0NTksMTUgQEAgc3RhdGljIHZvaWQg KnZpcnRxdWV1ZV9nZXRfYnVmX2N0eF9wYWNrZWQoc3RydWN0IHZpcnRxdWV1ZSAqX3ZxLAo+ICAJ cmV0ID0gdnEtPnBhY2tlZC5kZXNjX3N0YXRlW2lkXS5kYXRhOwo+ICAJZGV0YWNoX2J1Zl9wYWNr ZWQodnEsIGlkLCBjdHgpOwo+ICAKPiAtCXZxLT5sYXN0X3VzZWRfaWR4ICs9IHZxLT5wYWNrZWQu ZGVzY19zdGF0ZVtpZF0ubnVtOwo+IC0JaWYgKHVubGlrZWx5KHZxLT5sYXN0X3VzZWRfaWR4ID49 IHZxLT5wYWNrZWQudnJpbmcubnVtKSkgewo+IC0JCXZxLT5sYXN0X3VzZWRfaWR4IC09IHZxLT5w YWNrZWQudnJpbmcubnVtOwo+IC0JCXZxLT5wYWNrZWQudXNlZF93cmFwX2NvdW50ZXIgXj0gMTsK PiArCWxhc3RfdXNlZCArPSB2cS0+cGFja2VkLmRlc2Nfc3RhdGVbaWRdLm51bTsKPiArCWlmICh1 bmxpa2VseShsYXN0X3VzZWQgPj0gdnEtPnBhY2tlZC52cmluZy5udW0pKSB7Cj4gKwkJbGFzdF91 c2VkIC09IHZxLT5wYWNrZWQudnJpbmcubnVtOwo+ICsJCXVzZWRfd3JhcF9jb3VudGVyIF49IDE7 Cj4gIAl9Cj4gIAo+ICsJbGFzdF91c2VkID0gKGxhc3RfdXNlZCB8ICh1c2VkX3dyYXBfY291bnRl ciA8PCBWUklOR19QQUNLRURfRVZFTlRfRl9XUkFQX0NUUikpOwo+ICsJdnEtPmxhc3RfdXNlZF9p ZHggPSBsYXN0X3VzZWQ7Cj4gKwo+ICAJLyoKPiAgCSAqIElmIHdlIGV4cGVjdCBhbiBpbnRlcnJ1 cHQgZm9yIHRoZSBuZXh0IGVudHJ5LCB0ZWxsIGhvc3QKPiAgCSAqIGJ5IHdyaXRpbmcgZXZlbnQg aW5kZXggYW5kIGZsdXNoIG91dCB0aGUgd3JpdGUgYmVmb3JlCj4gQEAgLTE0NjUsOSArMTQ3Niw3 IEBAIHN0YXRpYyB2b2lkICp2aXJ0cXVldWVfZ2V0X2J1Zl9jdHhfcGFja2VkKHN0cnVjdCB2aXJ0 cXVldWUgKl92cSwKPiAgCWlmICh2cS0+cGFja2VkLmV2ZW50X2ZsYWdzX3NoYWRvdyA9PSBWUklO R19QQUNLRURfRVZFTlRfRkxBR19ERVNDKQo+ICAJCXZpcnRpb19zdG9yZV9tYih2cS0+d2Vha19i YXJyaWVycywKPiAgCQkJCSZ2cS0+cGFja2VkLnZyaW5nLmRyaXZlci0+b2ZmX3dyYXAsCj4gLQkJ CQljcHVfdG9fbGUxNih2cS0+bGFzdF91c2VkX2lkeCB8Cj4gLQkJCQkJKHZxLT5wYWNrZWQudXNl ZF93cmFwX2NvdW50ZXIgPDwKPiAtCQkJCQkgVlJJTkdfUEFDS0VEX0VWRU5UX0ZfV1JBUF9DVFIp KSk7Cj4gKwkJCQljcHVfdG9fbGUxNih2cS0+bGFzdF91c2VkX2lkeCkpOwo+ICAKPiAgCUxBU1Rf QUREX1RJTUVfSU5WQUxJRCh2cSk7Cj4gIAo+IEBAIC0xNDk5LDkgKzE1MDgsNyBAQCBzdGF0aWMg dW5zaWduZWQgaW50IHZpcnRxdWV1ZV9lbmFibGVfY2JfcHJlcGFyZV9wYWNrZWQoc3RydWN0IHZp cnRxdWV1ZSAqX3ZxKQo+ICAKPiAgCWlmICh2cS0+ZXZlbnQpIHsKPiAgCQl2cS0+cGFja2VkLnZy aW5nLmRyaXZlci0+b2ZmX3dyYXAgPQo+IC0JCQljcHVfdG9fbGUxNih2cS0+bGFzdF91c2VkX2lk eCB8Cj4gLQkJCQkodnEtPnBhY2tlZC51c2VkX3dyYXBfY291bnRlciA8PAo+IC0JCQkJIFZSSU5H X1BBQ0tFRF9FVkVOVF9GX1dSQVBfQ1RSKSk7Cj4gKwkJCWNwdV90b19sZTE2KHZxLT5sYXN0X3Vz ZWRfaWR4KTsKPiAgCQkvKgo+ICAJCSAqIFdlIG5lZWQgdG8gdXBkYXRlIGV2ZW50IG9mZnNldCBh bmQgZXZlbnQgd3JhcAo+ICAJCSAqIGNvdW50ZXIgZmlyc3QgYmVmb3JlIHVwZGF0aW5nIGV2ZW50 IGZsYWdzLgo+IEBAIC0xNTE4LDggKzE1MjUsNyBAQCBzdGF0aWMgdW5zaWduZWQgaW50IHZpcnRx dWV1ZV9lbmFibGVfY2JfcHJlcGFyZV9wYWNrZWQoc3RydWN0IHZpcnRxdWV1ZSAqX3ZxKQo+ICAJ fQo+ICAKPiAgCUVORF9VU0UodnEpOwo+IC0JcmV0dXJuIHZxLT5sYXN0X3VzZWRfaWR4IHwgKCh1 MTYpdnEtPnBhY2tlZC51c2VkX3dyYXBfY291bnRlciA8PAo+IC0JCQlWUklOR19QQUNLRURfRVZF TlRfRl9XUkFQX0NUUik7Cj4gKwlyZXR1cm4gdnEtPmxhc3RfdXNlZF9pZHg7Cj4gIH0KPiAgCj4g IHN0YXRpYyBib29sIHZpcnRxdWV1ZV9wb2xsX3BhY2tlZChzdHJ1Y3QgdmlydHF1ZXVlICpfdnEs IHUxNiBvZmZfd3JhcCkKPiBAQCAtMTU1MCw5ICsxNTU2LDkgQEAgc3RhdGljIGJvb2wgdmlydHF1 ZXVlX2VuYWJsZV9jYl9kZWxheWVkX3BhY2tlZChzdHJ1Y3QgdmlydHF1ZXVlICpfdnEpCj4gIAlp ZiAodnEtPmV2ZW50KSB7Cj4gIAkJLyogVE9ETzogdHVuZSB0aGlzIHRocmVzaG9sZCAqLwo+ICAJ CWJ1ZnMgPSAodnEtPnBhY2tlZC52cmluZy5udW0gLSB2cS0+dnEubnVtX2ZyZWUpICogMyAvIDQ7 Cj4gLQkJd3JhcF9jb3VudGVyID0gdnEtPnBhY2tlZC51c2VkX3dyYXBfY291bnRlcjsKPiArCQl3 cmFwX2NvdW50ZXIgPSAhISh2cS0+bGFzdF91c2VkX2lkeCA+PiBWUklOR19QQUNLRURfRVZFTlRf Rl9XUkFQX0NUUik7Cj4gIAo+IC0JCXVzZWRfaWR4ID0gdnEtPmxhc3RfdXNlZF9pZHggKyBidWZz Owo+ICsJCXVzZWRfaWR4ID0gKHZxLT5sYXN0X3VzZWRfaWR4ICYgfigxIDw8IFZSSU5HX1BBQ0tF RF9FVkVOVF9GX1dSQVBfQ1RSKSkgKyBidWZzOwo+ICAJCWlmICh1c2VkX2lkeCA+PSB2cS0+cGFj a2VkLnZyaW5nLm51bSkgewo+ICAJCQl1c2VkX2lkeCAtPSB2cS0+cGFja2VkLnZyaW5nLm51bTsK PiAgCQkJd3JhcF9jb3VudGVyIF49IDE7Cj4gQEAgLTE1ODIsOSArMTU4OCw5IEBAIHN0YXRpYyBi b29sIHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZF9wYWNrZWQoc3RydWN0IHZpcnRxdWV1ZSAq X3ZxKQo+ICAJICovCj4gIAl2aXJ0aW9fbWIodnEtPndlYWtfYmFycmllcnMpOwo+ICAKPiAtCWlm IChpc191c2VkX2Rlc2NfcGFja2VkKHZxLAo+IC0JCQkJdnEtPmxhc3RfdXNlZF9pZHgsCj4gLQkJ CQl2cS0+cGFja2VkLnVzZWRfd3JhcF9jb3VudGVyKSkgewo+ICsJd3JhcF9jb3VudGVyID0gISEo dnEtPmxhc3RfdXNlZF9pZHggPj4gVlJJTkdfUEFDS0VEX0VWRU5UX0ZfV1JBUF9DVFIpOwo+ICsJ dXNlZF9pZHggPSAodnEtPmxhc3RfdXNlZF9pZHggJiB+KDEgPDwgVlJJTkdfUEFDS0VEX0VWRU5U X0ZfV1JBUF9DVFIpKTsKPiArCWlmIChpc191c2VkX2Rlc2NfcGFja2VkKHZxLCB1c2VkX2lkeCwg d3JhcF9jb3VudGVyKSkgewo+ICAJCUVORF9VU0UodnEpOwo+ICAJCXJldHVybiBmYWxzZTsKPiAg CX0KPiBAQCAtMTY4OSw3ICsxNjk1LDcgQEAgc3RhdGljIHN0cnVjdCB2aXJ0cXVldWUgKnZyaW5n X2NyZWF0ZV92aXJ0cXVldWVfcGFja2VkKAo+ICAJdnEtPm5vdGlmeSA9IG5vdGlmeTsKPiAgCXZx LT53ZWFrX2JhcnJpZXJzID0gd2Vha19iYXJyaWVyczsKPiAgCXZxLT5icm9rZW4gPSB0cnVlOwo+ IC0JdnEtPmxhc3RfdXNlZF9pZHggPSAwOwo+ICsJdnEtPmxhc3RfdXNlZF9pZHggPSAwIHwgKDEg PDwgVlJJTkdfUEFDS0VEX0VWRU5UX0ZfV1JBUF9DVFIpOwo+ICAJdnEtPmV2ZW50X3RyaWdnZXJl ZCA9IGZhbHNlOwo+ICAJdnEtPm51bV9hZGRlZCA9IDA7Cj4gIAl2cS0+cGFja2VkX3JpbmcgPSB0 cnVlOwo+IEBAIC0xNzIwLDcgKzE3MjYsNiBAQCBzdGF0aWMgc3RydWN0IHZpcnRxdWV1ZSAqdnJp bmdfY3JlYXRlX3ZpcnRxdWV1ZV9wYWNrZWQoCj4gIAo+ICAJdnEtPnBhY2tlZC5uZXh0X2F2YWls X2lkeCA9IDA7Cj4gIAl2cS0+cGFja2VkLmF2YWlsX3dyYXBfY291bnRlciA9IDE7Cj4gLQl2cS0+ cGFja2VkLnVzZWRfd3JhcF9jb3VudGVyID0gMTsKPiAgCXZxLT5wYWNrZWQuZXZlbnRfZmxhZ3Nf c2hhZG93ID0gMDsKPiAgCXZxLT5wYWNrZWQuYXZhaWxfdXNlZF9mbGFncyA9IDEgPDwgVlJJTkdf UEFDS0VEX0RFU0NfRl9BVkFJTDsKPiAgCj4gLS0gCj4gMi4zMS4xCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpWaXJ0dWFsaXphdGlvbiBtYWlsaW5nIGxp c3QKVmlydHVhbGl6YXRpb25AbGlzdHMubGludXgtZm91bmRhdGlvbi5vcmcKaHR0cHM6Ly9saXN0 cy5saW51eGZvdW5kYXRpb24ub3JnL21haWxtYW4vbGlzdGluZm8vdmlydHVhbGl6YXRpb24=