From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.groups.io with SMTP id smtpd.web10.4272.1608155749890947673 for ; Wed, 16 Dec 2020 13:55:50 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=cOE8xt9w; spf=pass (domain: redhat.com, ip: 63.128.21.124, mailfrom: lersek@redhat.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1608155749; 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=zxQMiMBjeuJ1KZ68AsuA1zgU2q6ZQFAf+daOvZ5py10=; b=cOE8xt9wZgAY/AkrJ8TijGQuGGtmA0SwWMFB78YW6JCxFAFM298QGxbrg5+r8ZnbxdAti/ CuzWg+dokhFpmoSk9aD7Z6eryDBETD9nr+z5M7OnnzPZeWFL1LjRTSAsGdh5DJZ1lje+UE 7i62VHCPvzhFCUm8ljwqxwe6vWrhBCU= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-258-qRFhBgrsMvus0oSNKbSkNQ-1; Wed, 16 Dec 2020 16:55:45 -0500 X-MC-Unique: qRFhBgrsMvus0oSNKbSkNQ-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 32FDBE758; Wed, 16 Dec 2020 21:55:44 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-114-152.ams2.redhat.com [10.36.114.152]) by smtp.corp.redhat.com (Postfix) with ESMTP id 990781A49B; Wed, 16 Dec 2020 21:55:39 +0000 (UTC) From: "Laszlo Ersek" To: devel@edk2.groups.io, virtio-fs@redhat.com, lersek@redhat.com Cc: Ard Biesheuvel , Jordan Justen , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [edk2 PATCH 21/48] OvmfPkg/VirtioFsDxe: convert FUSE inode attributes to EFI_FILE_INFO Date: Wed, 16 Dec 2020 22:10:58 +0100 Message-Id: <20201216211125.19496-22-lersek@redhat.com> In-Reply-To: <20201216211125.19496-1-lersek@redhat.com> References: <20201216211125.19496-1-lersek@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=lersek@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 SW50cm9kdWNlIHRoZSBWaXJ0aW9Gc0Z1c2VBdHRyVG9FZmlGaWxlSW5mbygpIGZ1bmN0aW9uLCBm b3IgY29udmVydGluZwpGVVNFIGlub2RlIGF0dHJpYnV0ZXMgdG8gRUZJX0ZJTEVfSU5GTy4KClRo ZSBFcG9jaFRvRWZpVGltZSgpIGZ1bmN0aW9uIGZyb20gRW1iZWRkZWRQa2cncyBUaW1lQmFzZUxp YiBwcm92ZXMKaW52YWx1YWJsZSBmb3IgY29udmVydGluZyB0aGUgZmlsZSBhY2Nlc3MgdGltZXMu CgpUaGlzIGlzIHRoZSBmaXJzdCB0aW1lIHdlIGNvbnN1bWUgVGltZUJhc2VMaWIgaW4gT3ZtZlBr Zywgc28gYWRkIHRoZQpuZWNlc3NhcnkgbGliIGNsYXNzIHJlc29sdXRpb24uIFdlIG5lZWQgbm90 IG1vZGlmeSBhbnkgQXJtVmlydFBrZyBEU0MKZmlsZXM6IHNlZSBjb21taXQgYWY1ZmVkOTBiZmJm ICgiQXJtUGxhdGZvcm1Qa2csQXJtVmlydFBrZzogZGVsZXRlCnJlZHVuZGFudCBQTDAzMSBmdW5j dGlvbnMiLCAyMDE3LTA1LTEwKS4KCkNjOiBBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxA YXJtLmNvbT4KQ2M6IEpvcmRhbiBKdXN0ZW4gPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+CkNj OiBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSA8cGhpbG1kQHJlZGhhdC5jb20+ClJlZjogaHR0cHM6 Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDk3ClNpZ25lZC1vZmYt Ynk6IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+Ci0tLQogT3ZtZlBrZy9Pdm1mUGtn SWEzMi5kc2MgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBPdm1mUGtnL092bWZQa2dJYTMy WDY0LmRzYyAgICAgICAgICAgICAgICAgIHwgICAxICsKIE92bWZQa2cvT3ZtZlBrZ1g2NC5kc2Mg ICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogT3ZtZlBrZy9JbmNsdWRlL0luZHVzdHJ5U3Rh bmRhcmQvVmlydGlvRnMuaCB8ICAgMyArCiBPdm1mUGtnL1ZpcnRpb0ZzRHhlL1ZpcnRpb0ZzRHhl LmluZiAgICAgICAgIHwgICAyICsKIE92bWZQa2cvVmlydGlvRnNEeGUvVmlydGlvRnNEeGUuaCAg ICAgICAgICAgfCAgIDcgKysKIE92bWZQa2cvVmlydGlvRnNEeGUvSGVscGVycy5jICAgICAgICAg ICAgICAgfCAxMTkgKysrKysrKysrKysrKysrKysrKysKIDcgZmlsZXMgY2hhbmdlZCwgMTM0IGlu c2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9Pdm1mUGtnL092bWZQa2dJYTMyLmRzYyBiL092bWZQ a2cvT3ZtZlBrZ0lhMzIuZHNjCmluZGV4IDRmZjcwNjc0ZmI2ZS4uMjZhMDEzZWMzNTNlIDEwMDY0 NAotLS0gYS9Pdm1mUGtnL092bWZQa2dJYTMyLmRzYworKysgYi9Pdm1mUGtnL092bWZQa2dJYTMy LmRzYwpAQCAtMTIwLDE2ICsxMjAsMTcgQEAgW1NrdUlkc10KIFtMaWJyYXJ5Q2xhc3Nlc10NCiAg IFBjZExpYnxNZGVQa2cvTGlicmFyeS9CYXNlUGNkTGliTnVsbC9CYXNlUGNkTGliTnVsbC5pbmYN CiAgIFRpbWVyTGlifE92bWZQa2cvTGlicmFyeS9BY3BpVGltZXJMaWIvQmFzZUFjcGlUaW1lckxp Yi5pbmYNCiAgIFJlc2V0U3lzdGVtTGlifE92bWZQa2cvTGlicmFyeS9SZXNldFN5c3RlbUxpYi9C YXNlUmVzZXRTeXN0ZW1MaWIuaW5mDQogICBQcmludExpYnxNZGVQa2cvTGlicmFyeS9CYXNlUHJp bnRMaWIvQmFzZVByaW50TGliLmluZg0KICAgQmFzZU1lbW9yeUxpYnxNZGVQa2cvTGlicmFyeS9C YXNlTWVtb3J5TGliUmVwU3RyL0Jhc2VNZW1vcnlMaWJSZXBTdHIuaW5mDQogICBCYXNlTGlifE1k ZVBrZy9MaWJyYXJ5L0Jhc2VMaWIvQmFzZUxpYi5pbmYNCiAgIFNhZmVJbnRMaWJ8TWRlUGtnL0xp YnJhcnkvQmFzZVNhZmVJbnRMaWIvQmFzZVNhZmVJbnRMaWIuaW5mDQorICBUaW1lQmFzZUxpYnxF bWJlZGRlZFBrZy9MaWJyYXJ5L1RpbWVCYXNlTGliL1RpbWVCYXNlTGliLmluZg0KICAgQm1wU3Vw cG9ydExpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9CYXNlQm1wU3VwcG9ydExpYi9CYXNlQm1wU3Vw cG9ydExpYi5pbmYNCiAgIFN5bmNocm9uaXphdGlvbkxpYnxNZGVQa2cvTGlicmFyeS9CYXNlU3lu Y2hyb25pemF0aW9uTGliL0Jhc2VTeW5jaHJvbml6YXRpb25MaWIuaW5mDQogICBDcHVMaWJ8TWRl UGtnL0xpYnJhcnkvQmFzZUNwdUxpYi9CYXNlQ3B1TGliLmluZg0KICAgUGVyZm9ybWFuY2VMaWJ8 TWRlUGtnL0xpYnJhcnkvQmFzZVBlcmZvcm1hbmNlTGliTnVsbC9CYXNlUGVyZm9ybWFuY2VMaWJO dWxsLmluZg0KICAgUGVDb2ZmTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VQZUNvZmZMaWIvQmFzZVBl Q29mZkxpYi5pbmYNCiAgIENhY2hlTWFpbnRlbmFuY2VMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZUNh Y2hlTWFpbnRlbmFuY2VMaWIvQmFzZUNhY2hlTWFpbnRlbmFuY2VMaWIuaW5mDQogICBVZWZpRGVj b21wcmVzc0xpYnxNZGVQa2cvTGlicmFyeS9CYXNlVWVmaURlY29tcHJlc3NMaWIvQmFzZVVlZmlE ZWNvbXByZXNzTGliLmluZg0KICAgVWVmaUhpaVNlcnZpY2VzTGlifE1kZU1vZHVsZVBrZy9MaWJy YXJ5L1VlZmlIaWlTZXJ2aWNlc0xpYi9VZWZpSGlpU2VydmljZXNMaWIuaW5mDQpkaWZmIC0tZ2l0 IGEvT3ZtZlBrZy9Pdm1mUGtnSWEzMlg2NC5kc2MgYi9Pdm1mUGtnL092bWZQa2dJYTMyWDY0LmRz YwppbmRleCBkNDBhNTkxODNjNzkuLjEwNTc5ZmU0NmM1YiAxMDA2NDQKLS0tIGEvT3ZtZlBrZy9P dm1mUGtnSWEzMlg2NC5kc2MKKysrIGIvT3ZtZlBrZy9Pdm1mUGtnSWEzMlg2NC5kc2MKQEAgLTEy NCwxNiArMTI0LDE3IEBAIFtTa3VJZHNdCiBbTGlicmFyeUNsYXNzZXNdDQogICBQY2RMaWJ8TWRl UGtnL0xpYnJhcnkvQmFzZVBjZExpYk51bGwvQmFzZVBjZExpYk51bGwuaW5mDQogICBUaW1lckxp YnxPdm1mUGtnL0xpYnJhcnkvQWNwaVRpbWVyTGliL0Jhc2VBY3BpVGltZXJMaWIuaW5mDQogICBS ZXNldFN5c3RlbUxpYnxPdm1mUGtnL0xpYnJhcnkvUmVzZXRTeXN0ZW1MaWIvQmFzZVJlc2V0U3lz dGVtTGliLmluZg0KICAgUHJpbnRMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVByaW50TGliL0Jhc2VQ cmludExpYi5pbmYNCiAgIEJhc2VNZW1vcnlMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZU1lbW9yeUxp YlJlcFN0ci9CYXNlTWVtb3J5TGliUmVwU3RyLmluZg0KICAgQmFzZUxpYnxNZGVQa2cvTGlicmFy eS9CYXNlTGliL0Jhc2VMaWIuaW5mDQogICBTYWZlSW50TGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VT YWZlSW50TGliL0Jhc2VTYWZlSW50TGliLmluZg0KKyAgVGltZUJhc2VMaWJ8RW1iZWRkZWRQa2cv TGlicmFyeS9UaW1lQmFzZUxpYi9UaW1lQmFzZUxpYi5pbmYNCiAgIEJtcFN1cHBvcnRMaWJ8TWRl TW9kdWxlUGtnL0xpYnJhcnkvQmFzZUJtcFN1cHBvcnRMaWIvQmFzZUJtcFN1cHBvcnRMaWIuaW5m DQogICBTeW5jaHJvbml6YXRpb25MaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVN5bmNocm9uaXphdGlv bkxpYi9CYXNlU3luY2hyb25pemF0aW9uTGliLmluZg0KICAgQ3B1TGlifE1kZVBrZy9MaWJyYXJ5 L0Jhc2VDcHVMaWIvQmFzZUNwdUxpYi5pbmYNCiAgIFBlcmZvcm1hbmNlTGlifE1kZVBrZy9MaWJy YXJ5L0Jhc2VQZXJmb3JtYW5jZUxpYk51bGwvQmFzZVBlcmZvcm1hbmNlTGliTnVsbC5pbmYNCiAg IFBlQ29mZkxpYnxNZGVQa2cvTGlicmFyeS9CYXNlUGVDb2ZmTGliL0Jhc2VQZUNvZmZMaWIuaW5m DQogICBDYWNoZU1haW50ZW5hbmNlTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VDYWNoZU1haW50ZW5h bmNlTGliL0Jhc2VDYWNoZU1haW50ZW5hbmNlTGliLmluZg0KICAgVWVmaURlY29tcHJlc3NMaWJ8 TWRlUGtnL0xpYnJhcnkvQmFzZVVlZmlEZWNvbXByZXNzTGliL0Jhc2VVZWZpRGVjb21wcmVzc0xp Yi5pbmYNCiAgIFVlZmlIaWlTZXJ2aWNlc0xpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9VZWZpSGlp U2VydmljZXNMaWIvVWVmaUhpaVNlcnZpY2VzTGliLmluZg0KZGlmZiAtLWdpdCBhL092bWZQa2cv T3ZtZlBrZ1g2NC5kc2MgYi9Pdm1mUGtnL092bWZQa2dYNjQuZHNjCmluZGV4IGVjNzg4NjIzNWFj Zi4uYzkyMzVlNDhhZDYyIDEwMDY0NAotLS0gYS9Pdm1mUGtnL092bWZQa2dYNjQuZHNjCisrKyBi L092bWZQa2cvT3ZtZlBrZ1g2NC5kc2MKQEAgLTEyNCwxNiArMTI0LDE3IEBAIFtTa3VJZHNdCiBb TGlicmFyeUNsYXNzZXNdDQogICBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBjZExpYk51bGwv QmFzZVBjZExpYk51bGwuaW5mDQogICBUaW1lckxpYnxPdm1mUGtnL0xpYnJhcnkvQWNwaVRpbWVy TGliL0Jhc2VBY3BpVGltZXJMaWIuaW5mDQogICBSZXNldFN5c3RlbUxpYnxPdm1mUGtnL0xpYnJh cnkvUmVzZXRTeXN0ZW1MaWIvQmFzZVJlc2V0U3lzdGVtTGliLmluZg0KICAgUHJpbnRMaWJ8TWRl UGtnL0xpYnJhcnkvQmFzZVByaW50TGliL0Jhc2VQcmludExpYi5pbmYNCiAgIEJhc2VNZW1vcnlM aWJ8TWRlUGtnL0xpYnJhcnkvQmFzZU1lbW9yeUxpYlJlcFN0ci9CYXNlTWVtb3J5TGliUmVwU3Ry LmluZg0KICAgQmFzZUxpYnxNZGVQa2cvTGlicmFyeS9CYXNlTGliL0Jhc2VMaWIuaW5mDQogICBT YWZlSW50TGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VTYWZlSW50TGliL0Jhc2VTYWZlSW50TGliLmlu Zg0KKyAgVGltZUJhc2VMaWJ8RW1iZWRkZWRQa2cvTGlicmFyeS9UaW1lQmFzZUxpYi9UaW1lQmFz ZUxpYi5pbmYNCiAgIEJtcFN1cHBvcnRMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvQmFzZUJtcFN1 cHBvcnRMaWIvQmFzZUJtcFN1cHBvcnRMaWIuaW5mDQogICBTeW5jaHJvbml6YXRpb25MaWJ8TWRl UGtnL0xpYnJhcnkvQmFzZVN5bmNocm9uaXphdGlvbkxpYi9CYXNlU3luY2hyb25pemF0aW9uTGli LmluZg0KICAgQ3B1TGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VDcHVMaWIvQmFzZUNwdUxpYi5pbmYN CiAgIFBlcmZvcm1hbmNlTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VQZXJmb3JtYW5jZUxpYk51bGwv QmFzZVBlcmZvcm1hbmNlTGliTnVsbC5pbmYNCiAgIFBlQ29mZkxpYnxNZGVQa2cvTGlicmFyeS9C YXNlUGVDb2ZmTGliL0Jhc2VQZUNvZmZMaWIuaW5mDQogICBDYWNoZU1haW50ZW5hbmNlTGlifE1k ZVBrZy9MaWJyYXJ5L0Jhc2VDYWNoZU1haW50ZW5hbmNlTGliL0Jhc2VDYWNoZU1haW50ZW5hbmNl TGliLmluZg0KICAgVWVmaURlY29tcHJlc3NMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVVlZmlEZWNv bXByZXNzTGliL0Jhc2VVZWZpRGVjb21wcmVzc0xpYi5pbmYNCiAgIFVlZmlIaWlTZXJ2aWNlc0xp YnxNZGVNb2R1bGVQa2cvTGlicmFyeS9VZWZpSGlpU2VydmljZXNMaWIvVWVmaUhpaVNlcnZpY2Vz TGliLmluZg0KZGlmZiAtLWdpdCBhL092bWZQa2cvSW5jbHVkZS9JbmR1c3RyeVN0YW5kYXJkL1Zp cnRpb0ZzLmggYi9Pdm1mUGtnL0luY2x1ZGUvSW5kdXN0cnlTdGFuZGFyZC9WaXJ0aW9Gcy5oCmlu ZGV4IDYzYWNlZDIyOWU5Yi4uNWQxZDk5MGEyZDgzIDEwMDY0NAotLS0gYS9Pdm1mUGtnL0luY2x1 ZGUvSW5kdXN0cnlTdGFuZGFyZC9WaXJ0aW9Gcy5oCisrKyBiL092bWZQa2cvSW5jbHVkZS9JbmR1 c3RyeVN0YW5kYXJkL1ZpcnRpb0ZzLmgKQEAgLTc5LDE2ICs3OSwxOSBAQCB0eXBlZGVmIHN0cnVj dCB7CiAvLw0KIC8vIFRoZSBpbm9kZSBudW1iZXIgb2YgdGhlIHJvb3QgZGlyZWN0b3J5Lg0KIC8v DQogI2RlZmluZSBWSVJUSU9fRlNfRlVTRV9ST09UX0RJUl9OT0RFX0lEIDENCiANCiAvLw0KIC8v IEZpbGUgbW9kZSBiaXRtYXNrcy4NCiAvLw0KKyNkZWZpbmUgVklSVElPX0ZTX0ZVU0VfTU9ERV9U WVBFX01BU0sgMDE3MDAwMHUNCisjZGVmaW5lIFZJUlRJT19GU19GVVNFX01PREVfVFlQRV9SRUcg IDAxMDAwMDB1DQorI2RlZmluZSBWSVJUSU9fRlNfRlVTRV9NT0RFX1RZUEVfRElSICAwMDQwMDAw dQ0KICNkZWZpbmUgVklSVElPX0ZTX0ZVU0VfTU9ERV9QRVJNX1JXWFUgMDAwMDcwMHUNCiAjZGVm aW5lIFZJUlRJT19GU19GVVNFX01PREVfUEVSTV9SVVNSIDAwMDA0MDB1DQogI2RlZmluZSBWSVJU SU9fRlNfRlVTRV9NT0RFX1BFUk1fV1VTUiAwMDAwMjAwdQ0KICNkZWZpbmUgVklSVElPX0ZTX0ZV U0VfTU9ERV9QRVJNX1JXWEcgMDAwMDA3MHUNCiAjZGVmaW5lIFZJUlRJT19GU19GVVNFX01PREVf UEVSTV9SR1JQIDAwMDAwNDB1DQogI2RlZmluZSBWSVJUSU9fRlNfRlVTRV9NT0RFX1BFUk1fV0dS UCAwMDAwMDIwdQ0KICNkZWZpbmUgVklSVElPX0ZTX0ZVU0VfTU9ERV9QRVJNX1JXWE8gMDAwMDAw N3UNCiAjZGVmaW5lIFZJUlRJT19GU19GVVNFX01PREVfUEVSTV9ST1RIIDAwMDAwMDR1DQpkaWZm IC0tZ2l0IGEvT3ZtZlBrZy9WaXJ0aW9Gc0R4ZS9WaXJ0aW9Gc0R4ZS5pbmYgYi9Pdm1mUGtnL1Zp cnRpb0ZzRHhlL1ZpcnRpb0ZzRHhlLmluZgppbmRleCBiOTQyYmFhNGE3NzIuLjdkNzI3MjE4ODQ2 NSAxMDA2NDQKLS0tIGEvT3ZtZlBrZy9WaXJ0aW9Gc0R4ZS9WaXJ0aW9Gc0R4ZS5pbmYKKysrIGIv T3ZtZlBrZy9WaXJ0aW9Gc0R4ZS9WaXJ0aW9Gc0R4ZS5pbmYKQEAgLTcyLDE2ICs3MiwxNyBAQAog W0RlZmluZXNdDQogICBJTkZfVkVSU0lPTiAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMS4y OQ0KICAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IFZpcnRpb0ZzRHhl DQogICBGSUxFX0dVSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gN0JEOURERjctOEI4 My00ODhFLUFFQzktMjRDNzg2MTAyODlDDQogICBNT0RVTEVfVFlQRSAgICAgICAgICAgICAgICAg ICAgICAgICAgID0gVUVGSV9EUklWRVINCiAgIEVOVFJZX1BPSU5UICAgICAgICAgICAgICAgICAg ICAgICAgICAgPSBWaXJ0aW9Gc0VudHJ5UG9pbnQNCiANCiBbUGFja2FnZXNdDQorICBFbWJlZGRl ZFBrZy9FbWJlZGRlZFBrZy5kZWMNCiAgIE1kZVBrZy9NZGVQa2cuZGVjDQogICBPdm1mUGtnL092 bWZQa2cuZGVjDQogDQogW1NvdXJjZXNdDQogICBEcml2ZXJCaW5kaW5nLmMNCiAgIEZ1c2VGbHVz aC5jDQogICBGdXNlRm9yZ2V0LmMNCiAgIEZ1c2VGc3luYy5jDQpAQCAtMTA1LDE2ICsxMDYsMTcg QEAgW1NvdXJjZXNdCiAgIFNpbXBsZUZzV3JpdGUuYw0KICAgVmlydGlvRnNEeGUuaA0KIA0KIFtM aWJyYXJ5Q2xhc3Nlc10NCiAgIEJhc2VMaWINCiAgIEJhc2VNZW1vcnlMaWINCiAgIERlYnVnTGli DQogICBNZW1vcnlBbGxvY2F0aW9uTGliDQorICBUaW1lQmFzZUxpYg0KICAgVWVmaUJvb3RTZXJ2 aWNlc1RhYmxlTGliDQogICBVZWZpRHJpdmVyRW50cnlQb2ludA0KICAgVmlydGlvTGliDQogDQog W1Byb3RvY29sc10NCiAgIGdFZmlDb21wb25lbnROYW1lMlByb3RvY29sR3VpZCAgICAgICAgIyMg UFJPRFVDRVMNCiAgIGdFZmlEcml2ZXJCaW5kaW5nUHJvdG9jb2xHdWlkICAgICAgICAgIyMgUFJP RFVDRVMNCiAgIGdFZmlTaW1wbGVGaWxlU3lzdGVtUHJvdG9jb2xHdWlkICAgICAgIyMgQllfU1RB UlQNCmRpZmYgLS1naXQgYS9Pdm1mUGtnL1ZpcnRpb0ZzRHhlL1ZpcnRpb0ZzRHhlLmggYi9Pdm1m UGtnL1ZpcnRpb0ZzRHhlL1ZpcnRpb0ZzRHhlLmgKaW5kZXggNzk1Y2Y0ZWU1ZDdkLi42Y2M1MjU3 YmFiNDAgMTAwNjQ0Ci0tLSBhL092bWZQa2cvVmlydGlvRnNEeGUvVmlydGlvRnNEeGUuaAorKysg Yi9Pdm1mUGtnL1ZpcnRpb0ZzRHhlL1ZpcnRpb0ZzRHhlLmgKQEAgLTYsMTYgKzYsMTcgQEAKIA0K ICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCiAqKi8NCiAN CiAjaWZuZGVmIFZJUlRJT19GU19EWEVfSF8NCiAjZGVmaW5lIFZJUlRJT19GU19EWEVfSF8NCiAN CiAjaW5jbHVkZSA8QmFzZS5oPiAgICAgICAgICAgICAgICAgICAgICAvLyBTSUdOQVRVUkVfNjQo KQ0KKyNpbmNsdWRlIDxHdWlkL0ZpbGVJbmZvLmg+ICAgICAgICAgICAgIC8vIEVGSV9GSUxFX0lO Rk8NCiAjaW5jbHVkZSA8SW5kdXN0cnlTdGFuZGFyZC9WaXJ0aW9Gcy5oPiAvLyBWSVJUSU9fRlNf VEFHX0JZVEVTDQogI2luY2x1ZGUgPExpYnJhcnkvRGVidWdMaWIuaD4gICAgICAgICAgLy8gQ1Io KQ0KICNpbmNsdWRlIDxQcm90b2NvbC9TaW1wbGVGaWxlU3lzdGVtLmg+IC8vIEVGSV9TSU1QTEVf RklMRV9TWVNURU1fUFJPVE9DT0wNCiAjaW5jbHVkZSA8UHJvdG9jb2wvVmlydGlvRGV2aWNlLmg+ ICAgICAvLyBWSVJUSU9fREVWSUNFX1BST1RPQ09MDQogI2luY2x1ZGUgPFVlZmkvVWVmaUJhc2VU eXBlLmg+ICAgICAgICAgLy8gRUZJX0VWRU5UDQogDQogI2RlZmluZSBWSVJUSU9fRlNfU0lHIFNJ R05BVFVSRV82NCAoJ1YnLCAnSScsICdSJywgJ1QnLCAnSScsICdPJywgJ0YnLCAnUycpDQogDQpA QCAtMjIwLDE2ICsyMjEsMjIgQEAgVmlydGlvRnNFcnJub1RvRWZpU3RhdHVzICgKIEVGSV9TVEFU VVMNCiBWaXJ0aW9Gc0FwcGVuZFBhdGggKA0KICAgSU4gICAgIENIQVI4ICAgKkxoc1BhdGg4LA0K ICAgSU4gICAgIENIQVIxNiAgKlJoc1BhdGgxNiwNCiAgICAgIE9VVCBDSEFSOCAgICoqUmVzdWx0 UGF0aDgsDQogICAgICBPVVQgQk9PTEVBTiAqUm9vdEVzY2FwZQ0KICAgKTsNCiANCitFRklfU1RB VFVTDQorVmlydGlvRnNGdXNlQXR0clRvRWZpRmlsZUluZm8gKA0KKyAgSU4gICAgIFZJUlRJT19G U19GVVNFX0FUVFJJQlVURVNfUkVTUE9OU0UgKkZ1c2VBdHRyLA0KKyAgICAgT1VUIEVGSV9GSUxF X0lORk8gICAgICAgICAgICAgICAgICAgICAgKkZpbGVJbmZvDQorICApOw0KKw0KIC8vDQogLy8g V3JhcHBlciBmdW5jdGlvbnMgZm9yIEZVU0UgY29tbWFuZHMgKHByaW1pdGl2ZXMpLg0KIC8vDQog DQogRUZJX1NUQVRVUw0KIFZpcnRpb0ZzRnVzZUZvcmdldCAoDQogICBJTiBPVVQgVklSVElPX0ZT ICpWaXJ0aW9GcywNCiAgIElOICAgICBVSU5UNjQgICAgTm9kZUlkDQpkaWZmIC0tZ2l0IGEvT3Zt ZlBrZy9WaXJ0aW9Gc0R4ZS9IZWxwZXJzLmMgYi9Pdm1mUGtnL1ZpcnRpb0ZzRHhlL0hlbHBlcnMu YwppbmRleCA0YTdiNTkzMzJjYTkuLmZhNjU2YmI1MzViOCAxMDA2NDQKLS0tIGEvT3ZtZlBrZy9W aXJ0aW9Gc0R4ZS9IZWxwZXJzLmMKKysrIGIvT3ZtZlBrZy9WaXJ0aW9Gc0R4ZS9IZWxwZXJzLmMK QEAgLTQsMTYgKzQsMTcgQEAKICAgQ29weXJpZ2h0IChDKSAyMDIwLCBSZWQgSGF0LCBJbmMuDQog DQogICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KICoqLw0K IA0KICNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VMaWIuaD4gICAgICAgICAgICAgLy8gU3RyTGVuKCkN CiAjaW5jbHVkZSA8TGlicmFyeS9CYXNlTWVtb3J5TGliLmg+ICAgICAgIC8vIENvcHlNZW0oKQ0K ICNpbmNsdWRlIDxMaWJyYXJ5L01lbW9yeUFsbG9jYXRpb25MaWIuaD4gLy8gQWxsb2NhdGVQb29s KCkNCisjaW5jbHVkZSA8TGlicmFyeS9UaW1lQmFzZUxpYi5oPiAgICAgICAgIC8vIEVwb2NoVG9F ZmlUaW1lKCkNCiAjaW5jbHVkZSA8TGlicmFyeS9WaXJ0aW9MaWIuaD4gICAgICAgICAgIC8vIFZp cnRpbzEwV3JpdGVGZWF0dXJlcygpDQogDQogI2luY2x1ZGUgIlZpcnRpb0ZzRHhlLmgiDQogDQog LyoqDQogICBSZWFkIHRoZSBWaXJ0aW8gRmlsZXN5c3RlbSBkZXZpY2UgY29uZmlndXJhdGlvbiBz dHJ1Y3R1cmUgaW4gZnVsbC4NCiANCiAgIEBwYXJhbVtpbl0gVmlydGlvICAgVGhlIFZpcnRpbyBw cm90b2NvbCB1bmRlcmx5aW5nIHRoZSBWSVJUSU9fRlMgb2JqZWN0Lg0KQEAgLTE1ODQsOCArMTU4 NSwxMjYgQEAgVmlydGlvRnNBcHBlbmRQYXRoICgKICAgaWYgKFJoc1BhdGg4WzBdICE9ICcvJykg ew0KICAgICBGcmVlUG9vbCAoQnVmZmVyVG9TYW5pdGl6ZSk7DQogICB9DQogDQogRnJlZVJoc1Bh dGg4Og0KICAgRnJlZVBvb2wgKFJoc1BhdGg4KTsNCiAgIHJldHVybiBTdGF0dXM7DQogfQ0KKw0K Ky8qKg0KKyAgQ29udmVydCBzZWxlY3QgZmllbGRzIG9mIGEgVklSVElPX0ZTX0ZVU0VfQVRUUklC VVRFU19SRVNQT05TRSBvYmplY3QgdG8NCisgIGNvcnJlc3BvbmRpbmcgZmllbGRzIGluIEVGSV9G SUxFX0lORk8uDQorDQorICBAcGFyYW1baW5dIEZ1c2VBdHRyICAgVGhlIFZJUlRJT19GU19GVVNF X0FUVFJJQlVURVNfUkVTUE9OU0Ugb2JqZWN0IHRvDQorICAgICAgICAgICAgICAgICAgICAgICAg Y29udmVydCB0aGUgcmVsZXZhbnQgZmllbGRzIGZyb20uDQorDQorICBAcGFyYW1bb3V0XSBGaWxl SW5mbyAgVGhlIEVGSV9GSUxFX0lORk8gc3RydWN0dXJlIHRvIG1vZGlmeS4gSW1wb3J0YW50bHks IHRoZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIEZpbGVJbmZvLT5TaXplIGFuZCBGaWxlSW5m by0+RmlsZU5hbWUgZmllbGRzIGFyZSBub3QNCisgICAgICAgICAgICAgICAgICAgICAgICBvdmVy d3JpdHRlbi4NCisNCisgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICBDb252ZXJzaW9uIHN1Y2Nl c3NmdWwuDQorDQorICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgVGhlIGFsbG9jYXRlZCBzaXpl IG9mIHRoZSBmaWxlIGlzIGluZXhwcmVzc2libGUgaW4NCisgICAgICAgICAgICAgICAgICAgICAg ICAgICBFRklfRklMRV9JTkZPLg0KKw0KKyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgIE9uZSBv ZiB0aGUgZmlsZSBhY2Nlc3MgdGltZXMgaXMgaW5leHByZXNzaWJsZSBpbg0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgIEVGSV9GSUxFX0lORk8uDQorDQorICBAcmV0dmFsIEVGSV9VTlNVUFBP UlRFRCAgVGhlIGZpbGUgdHlwZSBpcyBpbmV4cHJlc3NpYmxlIGluIEVGSV9GSUxFX0lORk8uDQor DQorICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgVGhlIGZpbGUgaXMgYSByZWd1bGFyIGZpbGUg dGhhdCBoYXMgbXVsdGlwbGUgbmFtZXMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiB0 aGUgaG9zdCBzaWRlIChpLmUuLCBpdHMgaGFyZCBsaW5rIGNvdW50IGlzDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgZ3JlYXRlciB0aGFuIG9uZSkuDQorKiovDQorRUZJX1NUQVRVUw0KK1Zp cnRpb0ZzRnVzZUF0dHJUb0VmaUZpbGVJbmZvICgNCisgIElOICAgICBWSVJUSU9fRlNfRlVTRV9B VFRSSUJVVEVTX1JFU1BPTlNFICpGdXNlQXR0ciwNCisgICAgIE9VVCBFRklfRklMRV9JTkZPICAg ICAgICAgICAgICAgICAgICAgICpGaWxlSW5mbw0KKyAgKQ0KK3sNCisgIFVJTlQ2NCAgIEVwb2No VGltZVszXTsNCisgIEVGSV9USU1FICpDb252ZXJ0ZWRUaW1lW0FSUkFZX1NJWkUgKEVwb2NoVGlt ZSldOw0KKyAgVUlOVE4gICAgSWR4Ow0KKw0KKyAgRmlsZUluZm8tPkZpbGVTaXplID0gRnVzZUF0 dHItPlNpemU7DQorDQorICAvLw0KKyAgLy8gVGhlIHVuaXQgZm9yIEZ1c2VBdHRyLT5CbG9ja3Mg aXMgNTEyQi4NCisgIC8vDQorICBpZiAoRnVzZUF0dHItPkJsb2NrcyA+PSBCSVQ1NSkgew0KKyAg ICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KKyAgfQ0KKyAgRmlsZUluZm8tPlBoeXNpY2FsU2l6 ZSA9IExTaGlmdFU2NCAoRnVzZUF0dHItPkJsb2NrcywgOSk7DQorDQorICAvLw0KKyAgLy8gQ29u dmVydCB0aGUgdGltZXN0YW1wcy4gRmlsZSBjcmVhdGlvbiB0aW1lIGlzIG5vdCB0cmFja2VkIGJ5 IHRoZSBWaXJ0aW8NCisgIC8vIEZpbGVzeXN0ZW0gZGV2aWNlLCBzbyBzZXQgRmlsZUluZm8tPkNy ZWF0ZVRpbWUgZnJvbSBGdXNlQXR0ci0+TXRpbWUgYXMNCisgIC8vIHdlbGwuDQorICAvLw0KKyAg RXBvY2hUaW1lWzBdICAgICA9IEZ1c2VBdHRyLT5NdGltZTsNCisgIEVwb2NoVGltZVsxXSAgICAg PSBGdXNlQXR0ci0+QXRpbWU7DQorICBFcG9jaFRpbWVbMl0gICAgID0gRnVzZUF0dHItPk10aW1l Ow0KKyAgQ29udmVydGVkVGltZVswXSA9ICZGaWxlSW5mby0+Q3JlYXRlVGltZTsNCisgIENvbnZl cnRlZFRpbWVbMV0gPSAmRmlsZUluZm8tPkxhc3RBY2Nlc3NUaW1lOw0KKyAgQ29udmVydGVkVGlt ZVsyXSA9ICZGaWxlSW5mby0+TW9kaWZpY2F0aW9uVGltZTsNCisNCisgIGZvciAoSWR4ID0gMDsg SWR4IDwgQVJSQVlfU0laRSAoRXBvY2hUaW1lKTsgSWR4KyspIHsNCisgICAgLy8NCisgICAgLy8g RXBvY2hUb0VmaVRpbWUoKSB0YWtlcyBhIFVJTlROIGZvciBzZWNvbmRzLg0KKyAgICAvLw0KKyAg ICBpZiAoRXBvY2hUaW1lW0lkeF0gPiBNQVhfVUlOVE4pIHsNCisgICAgICByZXR1cm4gRUZJX1VO U1VQUE9SVEVEOw0KKyAgICB9DQorICAgIC8vDQorICAgIC8vIFNldCB0aGUgZm9sbG93aW5nIGZp ZWxkcyBpbiB0aGUgY29udmVydGVkIHRpbWU6IFllYXIsIE1vbnRoLCBEYXksIEhvdXIsDQorICAg IC8vIE1pbnV0ZSwgU2Vjb25kLCBOYW5vc2Vjb25kLg0KKyAgICAvLw0KKyAgICBFcG9jaFRvRWZp VGltZSAoKFVJTlROKUVwb2NoVGltZVtJZHhdLCBDb252ZXJ0ZWRUaW1lW0lkeF0pOw0KKyAgICAv Lw0KKyAgICAvLyBUaGUgdGltZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gVVRDLiBDb25zZXF1ZW50 bHksIHRoZXkgYXJlIG5vdCBhZmZlY3RlZA0KKyAgICAvLyBieSBkYXlsaWdodCBzYXZpbmcuDQor ICAgIC8vDQorICAgIENvbnZlcnRlZFRpbWVbSWR4XS0+VGltZVpvbmUgPSAwOw0KKyAgICBDb252 ZXJ0ZWRUaW1lW0lkeF0tPkRheWxpZ2h0ID0gMDsNCisgICAgLy8NCisgICAgLy8gQ2xlYXIgdGhl IHBhZGRpbmcgZmllbGRzLg0KKyAgICAvLw0KKyAgICBDb252ZXJ0ZWRUaW1lW0lkeF0tPlBhZDEg PSAwOw0KKyAgICBDb252ZXJ0ZWRUaW1lW0lkeF0tPlBhZDIgPSAwOw0KKyAgfQ0KKw0KKyAgLy8N CisgIC8vIFNldCB0aGUgYXR0cmlidXRlcy4NCisgIC8vDQorICBzd2l0Y2ggKEZ1c2VBdHRyLT5N b2RlICYgVklSVElPX0ZTX0ZVU0VfTU9ERV9UWVBFX01BU0spIHsNCisgIGNhc2UgVklSVElPX0ZT X0ZVU0VfTU9ERV9UWVBFX0RJUjoNCisgICAgRmlsZUluZm8tPkF0dHJpYnV0ZSA9IEVGSV9GSUxF X0RJUkVDVE9SWTsNCisgICAgYnJlYWs7DQorICBjYXNlIFZJUlRJT19GU19GVVNFX01PREVfVFlQ RV9SRUc6DQorICAgIEZpbGVJbmZvLT5BdHRyaWJ1dGUgPSAwOw0KKyAgICBicmVhazsNCisgIGRl ZmF1bHQ6DQorICAgIC8vDQorICAgIC8vIE90aGVyIGZpbGUgdHlwZXMgYXJlIG5vdCBzdXBwb3J0 ZWQuDQorICAgIC8vDQorICAgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQorICB9DQorICAvLw0K KyAgLy8gUmVwb3J0IHRoZSByZWd1bGFyIGZpbGUgb3IgZGlyZWN0b3J5IGFzIHJlYWQtb25seSBp ZiBhbGwgY2xhc3NlcyBsYWNrDQorICAvLyB3cml0ZSBwZXJtaXNzaW9uLg0KKyAgLy8NCisgIGlm ICgoRnVzZUF0dHItPk1vZGUgJiAoVklSVElPX0ZTX0ZVU0VfTU9ERV9QRVJNX1dVU1IgfA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICBWSVJUSU9fRlNfRlVTRV9NT0RFX1BFUk1fV0dSUCB8DQor ICAgICAgICAgICAgICAgICAgICAgICAgIFZJUlRJT19GU19GVVNFX01PREVfUEVSTV9XT1RIKSkg PT0gMCkgew0KKyAgICBGaWxlSW5mby0+QXR0cmlidXRlIHw9IEVGSV9GSUxFX1JFQURfT05MWTsN CisgIH0NCisNCisgIC8vDQorICAvLyBBIGhhcmQgbGluayBjb3VudCBncmVhdGVyIHRoYW4gMSBp cyBub3Qgc3VwcG9ydGVkIGZvciByZWd1bGFyIGZpbGVzLg0KKyAgLy8NCisgIGlmICgoRmlsZUlu Zm8tPkF0dHJpYnV0ZSAmIEVGSV9GSUxFX0RJUkVDVE9SWSkgPT0gMCAmJiBGdXNlQXR0ci0+Tmxp bmsgPiAxKSB7DQorICAgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQorICB9DQorDQorICByZXR1 cm4gRUZJX1NVQ0NFU1M7DQorfQ0KLS0gCjIuMTkuMS4zLmczMDI0N2FhNWQyMDEKCgo=