Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w2AaJ-0003KZ-1i for pgsql-hackers@arkaria.postgresql.org; Mon, 16 Mar 2026 16:14:27 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w2AaH-00B95K-1E for pgsql-hackers@arkaria.postgresql.org; Mon, 16 Mar 2026 16:14:26 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w2AaG-00B95B-2X for pgsql-hackers@lists.postgresql.org; Mon, 16 Mar 2026 16:14:25 +0000 Received: from mail-ot1-x330.google.com ([2607:f8b0:4864:20::330]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w2AaD-000000002Ln-1Xal for pgsql-hackers@postgresql.org; Mon, 16 Mar 2026 16:14:24 +0000 Received: by mail-ot1-x330.google.com with SMTP id 46e09a7af769-7d1872504cbso4798181a34.0 for ; Mon, 16 Mar 2026 09:14:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773677662; cv=none; d=google.com; s=arc-20240605; b=I2hDWRn3tkboL5wuvrG8T95SYYmILJx/3qh6pcmSYigQwGcGfhypVwqyEp0A5YIr54 T6DR7XapM9jZooofKYGaeimajUTjFLW3HV3uGZcYux5baKdH4epHibeMHBDtCmPrl8Ap I63i5bM0/NjtzS5z5vZrbuw6+oIcwU/+yyp/sN0poEoVtEi5AgwgoMUfDMFhxnBvQAYB ovx2bSd+FG7GUEg2Nz/+LsNcJ8qBA9lCJ+RdV/gw+uuClgLn9nXotzczKo6ZOWtc+Td0 dgNHX3LoQxnG1kKyWlUR95JTOcJnPDkHMxdQH8ycsaly922uqN7RQTGS3ohTboaV7V7R YQFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=8wuFygIYitx+xVv9D3iLmlxWUnfSP8pszZ2e2NaOgXk=; fh=dYLEGWdvoLBm++xk4+weW/YEuThozwUCjYEm+Wo76tI=; b=VJEeQhdEbx/qDvsdc/ldg+Txe3mH9hLgMl1f/+w+gHkJyEnlAHgB29etb3kJbpbAFW Ed6G8HmeTELGZwCaNS5Cvw9+m7rffDasuluSRi/iKdOFs7VF+q6MpUkqqaVA5rytbL6l H6M43fpMTdSpxDTQEnRpbmxOzUY7LNFefv+GkdWD/X3BPT+YPsjWiVh5osA4DTnSdqD2 qDLmW92lgDm7xXJwr9An0YE+L3RSJ4iBg9IOwnw505YOPxjZMLOewJ1qBdIfPR+EQyTG AJIJmploLXq4vfiw9atcUH0BZjeo3fzzXZ9YlBLxBj/iudmGaGF2d25SyLFRQ03I3lV5 WSiA==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tigerdata.com; s=google; t=1773677662; x=1774282462; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=8wuFygIYitx+xVv9D3iLmlxWUnfSP8pszZ2e2NaOgXk=; b=Ooo0mJAhcn/cgG9YwVTfwy1tkGbe7x530mEDUm15n3eQhDygOO62fWI3jEnbaGCGbu X+jWWvdNQRLcaq3asGnBqEJwuheUSGavuIh5AuQ8A1LyPewdxsAB9nE9WYO9ApPkvJVd VpgMjjW8oqfsJtmg2ynOBk8W1oeUIkSe2u+0YPw1Wpfv8uyXmgTu1GPs25/u5wFi6K8/ EPmsLUKEx2eJUJiTAA6YXtF87JxUfI2ox3teb9+NmN4hIuXnZ+pAfmef4KADl35xM4NG vdc6gMl16rowT3obK2kRnMKQosp+AsQhxj5y081SYpl0R/jvSUsv1WY83l7NJgEXs/GG tcyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773677662; x=1774282462; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=8wuFygIYitx+xVv9D3iLmlxWUnfSP8pszZ2e2NaOgXk=; b=rjkNAG7FYitcarWgJyQb5RErDHjKgrM1TtJ784I+GQhxFWIjeHjofNjIz/UvGkj+OD cPOkCRV8+ZPEa2We6RWISoYzu6JO3ycia49clBilze5E7oycD8VMlQ7ea71yKLJCJaqW FKsOouHn1UWpaSM6RjwzrBWFm5WfJI1r0a0xoTBeX4/yXQcia41pN2ilKUzmUBFhO9gd Y/ySlHxDShSpRxg17U2XQCBbiQknpyf1Clpj8ytjEFcW/hYnlgXdPGUug6SCM8Sq5zI4 HabvlXGQxtrfvze1m9Bymofy5gu3orlMHNdPNY10zxgBzuOniZREKyXLq1rUUcKrSu6y KZ6Q== X-Forwarded-Encrypted: i=1; AJvYcCW6oT0SU1PoAPfQvJjGhncZZO9TGqVm50zLUxnBG4B8mFoBa3RC5zinkO8I8YOL11fAcYmYyhGMBr4LsJC7@postgresql.org X-Gm-Message-State: AOJu0YzVUm+33OR3oVKAAoWPHsrnFt41YU7EGiCax1TK+famVp063vLu xmVAkOBBY8ngw/f5V0o3Smdkgq1snPpgsiRzFxuQjTrvhk0kq8ac3SMnulmFZicxivdSK6Q5vPY XTbyFnK8z416lI4tvrbiFSKuF4cI+/VOPQPFCo4c1Qg== X-Gm-Gg: ATEYQzxHCLyooaNubGHmgAbwpnF2bQpyTkQTqYALIUvTbGESThmoGnoWf62a+DiBtlz IUIEEbNqTTFu7h7FMcYTtNUTcLwPSVrw+861i/uGowjY0sinS7RZsW43RTp1waiwz0L3siI0z1H aJU8P3jSSwCJawGWouppZawhs9DGymbwv3cD9Yg4Flqe37Y9fgdxeikMsQu7XhUfKDvtekeNZbp hY87/xvJo6f1xeAuKYyez+L41HWCaVo8CpWNNc14inF62RVGnIsZFLbKCr6IogaubMvtLroKxw0 HLFMkQ== X-Received: by 2002:a05:6830:4d84:10b0:7d7:3af6:7ff0 with SMTP id 46e09a7af769-7d7bb796e06mr62665a34.11.1773677662209; Mon, 16 Mar 2026 09:14:22 -0700 (PDT) MIME-Version: 1.0 References: <70674869-2829-4b06-ab93-2f82ea51578c@iki.fi> In-Reply-To: <70674869-2829-4b06-ab93-2f82ea51578c@iki.fi> From: Alexander Kuzmenkov Date: Mon, 16 Mar 2026 17:14:10 +0100 X-Gm-Features: AaiRm52jmoG8uV6M7VrgXbq5z3t9tHJTE6Y2_4DV8255P4xvHhuJcyJda5Kkg40 Message-ID: Subject: Re: Fix uninitialized xl_running_xacts padding To: Heikki Linnakangas Cc: Andres Freund , Anthonin Bonnefoy , Bertrand Drouvot , Michael Paquier , Thomas Munro , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="00000000000000c836064d2683e3" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000000c836064d2683e3 Content-Type: multipart/alternative; boundary="00000000000000c835064d2683e1" --00000000000000c835064d2683e1 Content-Type: text/plain; charset="UTF-8" I have removed the unnecessary memsets (for structs with no padding). With these changes, and removing the two WAL-related suppressions, the make installcheck under Valgrind passes. The second patch is a small addition to the hash index test that exercises the "vacuum one page" path we discussed above. --00000000000000c835064d2683e1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I have removed the unnecessary memsets (for structs with n= o padding). With these changes,=C2=A0and removing the two WAL-related suppr= essions, the make installcheck under Valgrind passes. The second patch is a= small addition to the hash index test that exercises the "vacuum one = page" path we discussed above.
--00000000000000c835064d2683e1-- --00000000000000c836064d2683e3 Content-Type: text/x-patch; charset="US-ASCII"; name="initialize-wal-structs-with-padding-only.patch" Content-Disposition: attachment; filename="initialize-wal-structs-with-padding-only.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmtdukzi0 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9icmluL2JyaW5fcGFnZW9wcy5jIGIvc3Jj L2JhY2tlbmQvYWNjZXNzL2JyaW4vYnJpbl9wYWdlb3BzLmMKaW5kZXggN2RhOTdiZS4uYmEzYjFj MiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2JyaW4vYnJpbl9wYWdlb3BzLmMKKysr IGIvc3JjL2JhY2tlbmQvYWNjZXNzL2JyaW4vYnJpbl9wYWdlb3BzLmMKQEAgLTI3MSw2ICsyNzEs OCBAQCBicmluX2RvdXBkYXRlKFJlbGF0aW9uIGlkeHJlbCwgQmxvY2tOdW1iZXIgcGFnZXNQZXJS YW5nZSwKIAkJCVhMb2dSZWNQdHIJcmVjcHRyOwogCQkJdWludDgJCWluZm87CiAKKwkJCW1lbXNl dCgmeGxyZWMsIDAsIHNpemVvZih4bHJlYykpOworCiAJCQlpbmZvID0gWExPR19CUklOX1VQREFU RSB8IChleHRlbmRlZCA/IFhMT0dfQlJJTl9JTklUX1BBR0UgOiAwKTsKIAogCQkJeGxyZWMuaW5z ZXJ0Lm9mZm51bSA9IG5ld29mZjsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9naW4v Z2luYnRyZWUuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9naW4vZ2luYnRyZWUuYwppbmRleCAzZDNh OWRhLi4wMDIxZGIwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbmJ0cmVl LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW5idHJlZS5jCkBAIC00NjEsNiArNDYx LDggQEAgZ2luUGxhY2VUb1BhZ2UoR2luQnRyZWUgYnRyZWUsIEdpbkJ0cmVlU3RhY2sgKnN0YWNr LAogCQlCdWZmZXIJCWxidWZmZXIgPSBJbnZhbGlkQnVmZmVyOwogCQlQYWdlCQluZXdyb290cGcg PSBOVUxMOwogCisJCW1lbXNldCgmZGF0YSwgMCwgc2l6ZW9mKGRhdGEpKTsKKwogCQkvKiBHZXQg YSBuZXcgaW5kZXggcGFnZSB0byBiZWNvbWUgdGhlIHJpZ2h0IHBhZ2UgKi8KIAkJcmJ1ZmZlciA9 IEdpbk5ld0J1ZmZlcihidHJlZS0+aW5kZXgpOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9h Y2Nlc3MvZ2luL2dpbmZhc3QuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9naW4vZ2luZmFzdC5jCmlu ZGV4IGY1MDg0OGUuLmQ4M2FlY2IgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9naW4v Z2luZmFzdC5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9naW4vZ2luZmFzdC5jCkBAIC0yMzAs NiArMjMwLDggQEAgZ2luSGVhcFR1cGxlRmFzdEluc2VydChHaW5TdGF0ZSAqZ2luc3RhdGUsIEdp blR1cGxlQ29sbGVjdG9yICpjb2xsZWN0b3IpCiAJaW50CQkJY2xlYW51cFNpemU7CiAJYm9vbAkJ bmVlZFdhbDsKIAorCW1lbXNldCgmZGF0YSwgMCwgc2l6ZW9mKGRhdGEpKTsKKwogCWlmIChjb2xs ZWN0b3ItPm50dXBsZXMgPT0gMCkKIAkJcmV0dXJuOwogCkBAIC01NzEsNiArNTczLDggQEAgc2hp ZnRMaXN0KFJlbGF0aW9uIGluZGV4LCBCdWZmZXIgbWV0YWJ1ZmZlciwgQmxvY2tOdW1iZXIgbmV3 SGVhZCwKIAkJQnVmZmVyCQlidWZmZXJzW0dJTl9OREVMRVRFX0FUX09OQ0VdOwogCQlCbG9ja051 bWJlciBmcmVlc3BhY2VbR0lOX05ERUxFVEVfQVRfT05DRV07CiAKKwkJbWVtc2V0KCZkYXRhLCAw LCBzaXplb2YoZGF0YSkpOworCiAJCWRhdGEubmRlbGV0ZWQgPSAwOwogCQl3aGlsZSAoZGF0YS5u ZGVsZXRlZCA8IEdJTl9OREVMRVRFX0FUX09OQ0UgJiYgYmxrbm9Ub0RlbGV0ZSAhPSBuZXdIZWFk KQogCQl7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbnV0aWwuYyBiL3Ny Yy9iYWNrZW5kL2FjY2Vzcy9naW4vZ2ludXRpbC5jCmluZGV4IGZmOTI3MjcuLjc2YmU1NmUgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9naW4vZ2ludXRpbC5jCisrKyBiL3NyYy9iYWNr ZW5kL2FjY2Vzcy9naW4vZ2ludXRpbC5jCkBAIC02NTAsNiArNjUwLDggQEAgZ2luVXBkYXRlU3Rh dHMoUmVsYXRpb24gaW5kZXgsIGNvbnN0IEdpblN0YXRzRGF0YSAqc3RhdHMsIGJvb2wgaXNfYnVp bGQpCiAJCVhMb2dSZWNQdHIJcmVjcHRyOwogCQlnaW54bG9nVXBkYXRlTWV0YSBkYXRhOwogCisJ CW1lbXNldCgmZGF0YSwgMCwgc2l6ZW9mKGRhdGEpKTsKKwogCQlkYXRhLmxvY2F0b3IgPSBpbmRl eC0+cmRfbG9jYXRvcjsKIAkJZGF0YS5udHVwbGVzID0gMDsKIAkJZGF0YS5uZXdSaWdodGxpbmsg PSBkYXRhLnByZXZUYWlsID0gSW52YWxpZEJsb2NrTnVtYmVyOwpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvYWNjZXNzL2dpbi9naW52YWN1dW0uYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9naW4vZ2lu dmFjdXVtLmMKaW5kZXggODQwNTQzZS4uMWM1MjRkZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv YWNjZXNzL2dpbi9naW52YWN1dW0uYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbnZh Y3V1bS5jCkBAIC0yMTQsNiArMjE0LDggQEAgZ2luRGVsZXRlUG9zdGluZ1BhZ2UoR2luVmFjdXVt U3RhdGUgKmd2cywgQnVmZmVyIGRCdWZmZXIsIEJ1ZmZlciBsQnVmZmVyLAogCQlYTG9nUmVjUHRy CXJlY3B0cjsKIAkJZ2lueGxvZ0RlbGV0ZVBhZ2UgZGF0YTsKIAorCQltZW1zZXQoJmRhdGEsIDAs IHNpemVvZihkYXRhKSk7CisKIAkJLyoKIAkJICogV2UgY2FuJ3QgcGFzcyBSRUdCVUZfU1RBTkRB UkQgZm9yIHRoZSBkZWxldGVkIHBhZ2UsIGJlY2F1c2Ugd2UKIAkJICogZGlkbid0IHNldCBwZF9s b3dlciBvbiBwcmUtOS40IHZlcnNpb25zLiBUaGUgcGFnZSBtaWdodCd2ZSBiZWVuCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvZ2lzdC9naXN0eGxvZy5jIGIvc3JjL2JhY2tlbmQvYWNj ZXNzL2dpc3QvZ2lzdHhsb2cuYwppbmRleCBjNzgzODM4Li4xMDI4ZGI0IDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9hY2Nlc3MvZ2lzdC9naXN0eGxvZy5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vz cy9naXN0L2dpc3R4bG9nLmMKQEAgLTUwMSw2ICs1MDEsOCBAQCBnaXN0WExvZ1NwbGl0KGJvb2wg cGFnZV9pc19sZWFmLAogCVhMb2dSZWNQdHIJcmVjcHRyOwogCWludAkJCWk7CiAKKwltZW1zZXQo JnhscmVjLCAwLCBzaXplb2YoeGxyZWMpKTsKKwogCWZvciAocHRyID0gZGlzdDsgcHRyOyBwdHIg PSBwdHItPm5leHQpCiAJCW5wYWdlKys7CiAKQEAgLTY3MSw2ICs2NzMsOCBAQCBnaXN0WExvZ0Rl bGV0ZShCdWZmZXIgYnVmZmVyLCBPZmZzZXROdW1iZXIgKnRvZGVsZXRlLCBpbnQgbnRvZGVsZXRl LAogCWdpc3R4bG9nRGVsZXRlIHhscmVjOwogCVhMb2dSZWNQdHIJcmVjcHRyOwogCisJbWVtc2V0 KCZ4bHJlYywgMCwgc2l6ZW9mKHhscmVjKSk7CisKIAl4bHJlYy5pc0NhdGFsb2dSZWwgPSBSZWxh dGlvbklzQWNjZXNzaWJsZUluTG9naWNhbERlY29kaW5nKGhlYXByZWwpOwogCXhscmVjLnNuYXBz aG90Q29uZmxpY3RIb3Jpem9uID0gc25hcHNob3RDb25mbGljdEhvcml6b247CiAJeGxyZWMubnRv ZGVsZXRlID0gbnRvZGVsZXRlOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hhc2gv aGFzaGluc2VydC5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hhc2gvaGFzaGluc2VydC5jCmluZGV4 IDBjZWZiYWMuLjZmMzBiZDAgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oYXNoL2hh c2hpbnNlcnQuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGFzaC9oYXNoaW5zZXJ0LmMKQEAg LTQyNiw2ICs0MjYsNyBAQCBfaGFzaF92YWN1dW1fb25lX3BhZ2UoUmVsYXRpb24gcmVsLCBSZWxh dGlvbiBocmVsLCBCdWZmZXIgbWV0YWJ1ZiwgQnVmZmVyIGJ1ZikKIAkJCXhsX2hhc2hfdmFjdXVt X29uZV9wYWdlIHhscmVjOwogCQkJWExvZ1JlY1B0cglyZWNwdHI7CiAKKwkJCW1lbXNldCgmeGxy ZWMsIDAsIHNpemVvZih4bHJlYykpOwogCQkJeGxyZWMuaXNDYXRhbG9nUmVsID0gUmVsYXRpb25J c0FjY2Vzc2libGVJbkxvZ2ljYWxEZWNvZGluZyhocmVsKTsKIAkJCXhscmVjLnNuYXBzaG90Q29u ZmxpY3RIb3Jpem9uID0gc25hcHNob3RDb25mbGljdEhvcml6b247CiAJCQl4bHJlYy5udHVwbGVz ID0gbmRlbGV0YWJsZTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL2hlYXBh bS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvaGVhcGFtLmMKaW5kZXggOGYxYzExYS4uYjEx ZGJhOCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvaGVhcGFtLmMKKysrIGIv c3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvaGVhcGFtLmMKQEAgLTI0MjgsNiArMjQyOCw4IEBAIGhl YXBfbXVsdGlfaW5zZXJ0KFJlbGF0aW9uIHJlbGF0aW9uLCBUdXBsZVRhYmxlU2xvdCAqKnNsb3Rz LCBpbnQgbnR1cGxlcywKIAlpbnQJCQlucGFnZXMgPSAwOwogCWludAkJCW5wYWdlc191c2VkID0g MDsKIAorCW1lbXNldCgmc2NyYXRjaCwgMCwgc2l6ZW9mKHNjcmF0Y2gpKTsKKwogCS8qIGN1cnJl bnRseSBub3QgbmVlZGVkICh0aHVzIHVuc3VwcG9ydGVkKSBmb3IgaGVhcF9tdWx0aV9pbnNlcnQo KSAqLwogCUFzc2VydCghKG9wdGlvbnMgJiBIRUFQX0lOU0VSVF9OT19MT0dJQ0FMKSk7CiAKQEAg LTY2NTQsNiArNjY1Niw3IEBAIGhlYXBfaW5wbGFjZV91cGRhdGVfYW5kX3VubG9jayhSZWxhdGlv biByZWxhdGlvbiwKIAkJQmxvY2tOdW1iZXIgYmxrbm87CiAJCVhMb2dSZWNQdHIJcmVjcHRyOwog CisJCW1lbXNldCgmeGxyZWMsIDAsIHNpemVvZih4bHJlYykpOwogCQl4bHJlYy5vZmZudW0gPSBJ dGVtUG9pbnRlckdldE9mZnNldE51bWJlcigmdHVwbGUtPnRfc2VsZik7CiAJCXhscmVjLmRiSWQg PSBNeURhdGFiYXNlSWQ7CiAJCXhscmVjLnRzSWQgPSBNeURhdGFiYXNlVGFibGVTcGFjZTsKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3BydW5laGVhcC5jIGIvc3JjL2JhY2tl bmQvYWNjZXNzL2hlYXAvcHJ1bmVoZWFwLmMKaW5kZXggNmJlZWI2OS4uNTRiNGE1YSAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvcHJ1bmVoZWFwLmMKKysrIGIvc3JjL2JhY2tl bmQvYWNjZXNzL2hlYXAvcHJ1bmVoZWFwLmMKQEAgLTIwNTgsNiArMjA1OCw3IEBAIGhlYXBfbG9n X2ZyZWV6ZV9jbXAoY29uc3Qgdm9pZCAqYXJnMSwgY29uc3Qgdm9pZCAqYXJnMikKIHN0YXRpYyBp bmxpbmUgdm9pZAogaGVhcF9sb2dfZnJlZXplX25ld19wbGFuKHhsaHBfZnJlZXplX3BsYW4gKnBs YW4sIEhlYXBUdXBsZUZyZWV6ZSAqZnJ6KQogeworCW1lbXNldChwbGFuLCAwLCBzaXplb2YoKnBs YW4pKTsKIAlwbGFuLT54bWF4ID0gZnJ6LT54bWF4OwogCXBsYW4tPnRfaW5mb21hc2syID0gZnJ6 LT50X2luZm9tYXNrMjsKIAlwbGFuLT50X2luZm9tYXNrID0gZnJ6LT50X2luZm9tYXNrOwpAQCAt MjE4Miw3ICsyMTgzLDkgQEAgbG9nX2hlYXBfcHJ1bmVfYW5kX2ZyZWV6ZShSZWxhdGlvbiByZWxh dGlvbiwgQnVmZmVyIGJ1ZmZlciwKIAogCUFzc2VydCgodm1mbGFncyAmIFZJU0lCSUxJVFlNQVBf VkFMSURfQklUUykgPT0gdm1mbGFncyk7CiAKLQl4bHJlYy5mbGFncyA9IDA7CisJbWVtc2V0KCZ4 bHJlYywgMCwgc2l6ZW9mKHhscmVjKSk7CisJbWVtc2V0KCZmcmVlemVfcGxhbnMsIDAsIHNpemVv ZihmcmVlemVfcGxhbnMpKTsKKwogCXJlZ2J1Zl9mbGFnc19oZWFwID0gUkVHQlVGX1NUQU5EQVJE OwogCiAJLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3Jld3JpdGVoZWFw LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC9yZXdyaXRlaGVhcC5jCmluZGV4IDZiMTlhYzMu LjZjOTRhZTEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3Jld3JpdGVoZWFw LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvcmV3cml0ZWhlYXAuYwpAQCAtODQyLDYg Kzg0Miw3IEBAIGxvZ2ljYWxfaGVhcF9yZXdyaXRlX2ZsdXNoX21hcHBpbmdzKFJld3JpdGVTdGF0 ZSBzdGF0ZSkKIAkJZWxzZQogCQkJZGJvaWQgPSBNeURhdGFiYXNlSWQ7CiAKKwkJbWVtc2V0KCZ4 bHJlYywgMCwgc2l6ZW9mKHhscmVjKSk7CiAJCXhscmVjLm51bV9tYXBwaW5ncyA9IG51bV9tYXBw aW5nczsKIAkJeGxyZWMubWFwcGVkX3JlbCA9IFJlbGF0aW9uR2V0UmVsaWQoc3RhdGUtPnJzX29s ZF9yZWwpOwogCQl4bHJlYy5tYXBwZWRfeGlkID0gc3JjLT54aWQ7CmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idGluc2VydC5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL25i dHJlZS9uYnRpbnNlcnQuYwppbmRleCA5MWJiMzdkLi44N2FjNzViIDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idGluc2VydC5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vz cy9uYnRyZWUvbmJ0aW5zZXJ0LmMKQEAgLTEzMzcsNiArMTMzNyw3IEBAIF9idF9pbnNlcnRvbnBn KFJlbGF0aW9uIHJlbCwKIAkJCVhMb2dSZWNQdHIJcmVjcHRyOwogCQkJdWludDE2CQl1cG9zdGlu Z29mZjsKIAorCQkJbWVtc2V0KCZ4bG1ldGEsIDAsIHNpemVvZih4bG1ldGEpKTsKIAkJCXhscmVj Lm9mZm51bSA9IG5ld2l0ZW1vZmY7CiAKIAkJCVhMb2dCZWdpbkluc2VydCgpOwpAQCAtMjYwMiw2 ICsyNjAzLDcgQEAgX2J0X25ld2xldmVsKFJlbGF0aW9uIHJlbCwgUmVsYXRpb24gaGVhcHJlbCwg QnVmZmVyIGxidWYsIEJ1ZmZlciByYnVmKQogCQlYTG9nUmVjUHRyCXJlY3B0cjsKIAkJeGxfYnRy ZWVfbWV0YWRhdGEgbWQ7CiAKKwkJbWVtc2V0KCZtZCwgMCwgc2l6ZW9mKG1kKSk7CiAJCXhscmVj LnJvb3RibGsgPSByb290YmxrbnVtOwogCQl4bHJlYy5sZXZlbCA9IG1ldGFkLT5idG1fbGV2ZWw7 CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0cGFnZS5jIGIvc3Jj L2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRwYWdlLmMKaW5kZXggOWFhNzgwNi4uMWZiNmNlZCAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRwYWdlLmMKKysrIGIvc3Jj L2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRwYWdlLmMKQEAgLTI4OCw2ICsyODgsNyBAQCBfYnRf c2V0X2NsZWFudXBfaW5mbyhSZWxhdGlvbiByZWwsIEJsb2NrTnVtYmVyIG51bV9kZWxwYWdlcykK IAkJeGxfYnRyZWVfbWV0YWRhdGEgbWQ7CiAJCVhMb2dSZWNQdHIJcmVjcHRyOwogCisJCW1lbXNl dCgmbWQsIDAsIHNpemVvZihtZCkpOwogCQlYTG9nQmVnaW5JbnNlcnQoKTsKIAkJWExvZ1JlZ2lz dGVyQnVmZmVyKDAsIG1ldGFidWYsIFJFR0JVRl9XSUxMX0lOSVQgfCBSRUdCVUZfU1RBTkRBUkQp OwogCkBAIC00NzYsNiArNDc3LDcgQEAgX2J0X2dldHJvb3QoUmVsYXRpb24gcmVsLCBSZWxhdGlv biBoZWFwcmVsLCBpbnQgYWNjZXNzKQogCQkJWExvZ1JlY1B0cglyZWNwdHI7CiAJCQl4bF9idHJl ZV9tZXRhZGF0YSBtZDsKIAorCQkJbWVtc2V0KCZtZCwgMCwgc2l6ZW9mKG1kKSk7CiAJCQlYTG9n QmVnaW5JbnNlcnQoKTsKIAkJCVhMb2dSZWdpc3RlckJ1ZmZlcigwLCByb290YnVmLCBSRUdCVUZf V0lMTF9JTklUKTsKIAkJCVhMb2dSZWdpc3RlckJ1ZmZlcigyLCBtZXRhYnVmLCBSRUdCVUZfV0lM TF9JTklUIHwgUkVHQlVGX1NUQU5EQVJEKTsKQEAgLTIyNTUsNiArMjI1Nyw3IEBAIF9idF9tYXJr X3BhZ2VfaGFsZmRlYWQoUmVsYXRpb24gcmVsLCBSZWxhdGlvbiBoZWFwcmVsLCBCdWZmZXIgbGVh ZmJ1ZiwKIAkJeGxfYnRyZWVfbWFya19wYWdlX2hhbGZkZWFkIHhscmVjOwogCQlYTG9nUmVjUHRy CXJlY3B0cjsKIAorCQltZW1zZXQoJnhscmVjLCAwLCBzaXplb2YoeGxyZWMpKTsKIAkJeGxyZWMu cG9mZnNldCA9IHBvZmZzZXQ7CiAJCXhscmVjLmxlYWZibGsgPSBsZWFmYmxrbm87CiAJCWlmICh0 b3BwYXJlbnQgIT0gbGVhZmJsa25vKQpAQCAtMjY3OCw2ICsyNjgxLDggQEAgX2J0X3VubGlua19o YWxmZGVhZF9wYWdlKFJlbGF0aW9uIHJlbCwgQnVmZmVyIGxlYWZidWYsIEJsb2NrTnVtYmVyIHNj YW5ibGtubywKIAkJdWludDgJCXhsaW5mbzsKIAkJWExvZ1JlY1B0cglyZWNwdHI7CiAKKwkJbWVt c2V0KCZ4bHJlYywgMCwgc2l6ZW9mKHhscmVjKSk7CisJCW1lbXNldCgmeGxtZXRhLCAwLCBzaXpl b2YoeGxtZXRhKSk7CiAJCVhMb2dCZWdpbkluc2VydCgpOwogCiAJCVhMb2dSZWdpc3RlckJ1ZmZl cigwLCBidWYsIFJFR0JVRl9XSUxMX0lOSVQpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNj ZXNzL3NwZ2lzdC9zcGdkb2luc2VydC5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3NwZ2lzdC9zcGdk b2luc2VydC5jCmluZGV4IDdjNzM3MWMuLjRjYzQ3NjggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L2FjY2Vzcy9zcGdpc3Qvc3BnZG9pbnNlcnQuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3Mvc3Bn aXN0L3NwZ2RvaW5zZXJ0LmMKQEAgLTQwMyw2ICs0MDMsOCBAQCBtb3ZlTGVhZnMoUmVsYXRpb24g aW5kZXgsIFNwR2lzdFN0YXRlICpzdGF0ZSwKIAljaGFyCSAgICpsZWFmZGF0YSwKIAkJCSAgICps ZWFmcHRyOwogCisJbWVtc2V0KCZ4bHJlYywgMCwgc2l6ZW9mKHhscmVjKSk7CisKIAkvKiBUaGlz IGRvZXNuJ3Qgd29yayBvbiByb290IHBhZ2UgKi8KIAlBc3NlcnQocGFyZW50LT5idWZmZXIgIT0g SW52YWxpZEJ1ZmZlcik7CiAJQXNzZXJ0KHBhcmVudC0+YnVmZmVyICE9IGN1cnJlbnQtPmJ1ZmZl cik7CkBAIC03MTAsNiArNzEyLDggQEAgZG9QaWNrU3BsaXQoUmVsYXRpb24gaW5kZXgsIFNwR2lz dFN0YXRlICpzdGF0ZSwKIAkJCQluVG9JbnNlcnQsCiAJCQkJbWF4VG9JbmNsdWRlOwogCisJbWVt c2V0KCZ4bHJlYywgMCwgc2l6ZW9mKHhscmVjKSk7CisKIAlpbi5sZXZlbCA9IGxldmVsOwogCiAJ LyoKQEAgLTE1MTQsNiArMTUxOCw4IEBAIHNwZ0FkZE5vZGVBY3Rpb24oUmVsYXRpb24gaW5kZXgs IFNwR2lzdFN0YXRlICpzdGF0ZSwKIAlTcEdpc3RJbm5lclR1cGxlIG5ld0lubmVyVHVwbGU7CiAJ c3BneGxvZ0FkZE5vZGUgeGxyZWM7CiAKKwltZW1zZXQoJnhscmVjLCAwLCBzaXplb2YoeGxyZWMp KTsKKwogCS8qIFNob3VsZCBub3QgYmUgYXBwbGllZCB0byBudWxscyAqLwogCUFzc2VydCghU3BH aXN0UGFnZVN0b3Jlc051bGxzKGN1cnJlbnQtPnBhZ2UpKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvYWNjZXNzL3NwZ2lzdC9zcGd2YWN1dW0uYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9zcGdp c3Qvc3BndmFjdXVtLmMKaW5kZXggNmI3MTE3Yi4uOWU2YWNiOCAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvYWNjZXNzL3NwZ2lzdC9zcGd2YWN1dW0uYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3Mv c3BnaXN0L3NwZ3ZhY3V1bS5jCkBAIC0xNDAsNiArMTQwLDcgQEAgdmFjdXVtTGVhZlBhZ2Uoc3Bn QnVsa0RlbGV0ZVN0YXRlICpiZHMsIFJlbGF0aW9uIGluZGV4LCBCdWZmZXIgYnVmZmVyLAogCU9m ZnNldE51bWJlciBpLAogCQkJCW1heCA9IFBhZ2VHZXRNYXhPZmZzZXROdW1iZXIocGFnZSk7CiAK KwltZW1zZXQoJnhscmVjLCAwLCBzaXplb2YoeGxyZWMpKTsKIAltZW1zZXQocHJlZGVjZXNzb3Is IDAsIHNpemVvZihwcmVkZWNlc3NvcikpOwogCW1lbXNldChkZWxldGFibGUsIDAsIHNpemVvZihk ZWxldGFibGUpKTsKIAluRGVsZXRhYmxlID0gMDsKQEAgLTQxNCw2ICs0MTUsOCBAQCB2YWN1dW1M ZWFmUm9vdChzcGdCdWxrRGVsZXRlU3RhdGUgKmJkcywgUmVsYXRpb24gaW5kZXgsIEJ1ZmZlciBi dWZmZXIpCiAJT2Zmc2V0TnVtYmVyIGksCiAJCQkJbWF4ID0gUGFnZUdldE1heE9mZnNldE51bWJl cihwYWdlKTsKIAorCW1lbXNldCgmeGxyZWMsIDAsIHNpemVvZih4bHJlYykpOworCiAJeGxyZWMu bkRlbGV0ZSA9IDA7CiAKIAkvKiBTY2FuIHBhZ2UsIGlkZW50aWZ5IHR1cGxlcyB0byBkZWxldGUs IGFjY3VtdWxhdGUgc3RhdHMgKi8KQEAgLTUwNSw2ICs1MDgsOCBAQCB2YWN1dW1SZWRpcmVjdEFu ZFBsYWNlaG9sZGVyKFJlbGF0aW9uIGluZGV4LCBSZWxhdGlvbiBoZWFwcmVsLCBCdWZmZXIgYnVm ZmVyKQogCXNwZ3hsb2dWYWN1dW1SZWRpcmVjdCB4bHJlYzsKIAlHbG9iYWxWaXNTdGF0ZSAqdmlz dGVzdDsKIAorCW1lbXNldCgmeGxyZWMsIDAsIHNpemVvZih4bHJlYykpOworCiAJeGxyZWMuaXND YXRhbG9nUmVsID0gUmVsYXRpb25Jc0FjY2Vzc2libGVJbkxvZ2ljYWxEZWNvZGluZyhoZWFwcmVs KTsKIAl4bHJlYy5uVG9QbGFjZWhvbGRlciA9IDA7CiAJeGxyZWMuc25hcHNob3RDb25mbGljdEhv cml6b24gPSBJbnZhbGlkVHJhbnNhY3Rpb25JZDsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2Fj Y2Vzcy90cmFuc2FtL3R3b3BoYXNlLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS90d29w aGFzZS5jCmluZGV4IDU1YjlmMzguLjQ0MDZlMzQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Fj Y2Vzcy90cmFuc2FtL3R3b3BoYXNlLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0v dHdvcGhhc2UuYwpAQCAtMTA0MCw2ICsxMDQwLDkgQEAgc2F2ZV9zdGF0ZV9kYXRhKGNvbnN0IHZv aWQgKmRhdGEsIHVpbnQzMiBsZW4pCiAJfQogCiAJbWVtY3B5KHJlY29yZHMudGFpbC0+ZGF0YSAr IHJlY29yZHMudGFpbC0+bGVuLCBkYXRhLCBsZW4pOworCS8qIFplcm8gTUFYQUxJR04gcGFkZGlu ZyB0byBhdm9pZCB1bmluaXRpYWxpemVkIGJ5dGVzIGluIFdBTCAqLworCWlmIChwYWRsZW4gPiBs ZW4pCisJCW1lbXNldChyZWNvcmRzLnRhaWwtPmRhdGEgKyByZWNvcmRzLnRhaWwtPmxlbiArIGxl biwgMCwgcGFkbGVuIC0gbGVuKTsKIAlyZWNvcmRzLnRhaWwtPmxlbiArPSBwYWRsZW47CiAJcmVj b3Jkcy5ieXRlc19mcmVlIC09IHBhZGxlbjsKIAlyZWNvcmRzLnRvdGFsX2xlbiArPSBwYWRsZW47 CkBAIC0xMDc3LDYgKzEwODAsNyBAQCBTdGFydFByZXBhcmUoR2xvYmFsVHJhbnNhY3Rpb24gZ3hh Y3QpCiAJcmVjb3Jkcy50b3RhbF9sZW4gPSAwOwogCiAJLyogQ3JlYXRlIGhlYWRlciAqLworCW1l bXNldCgmaGRyLCAwLCBzaXplb2YoaGRyKSk7CiAJaGRyLm1hZ2ljID0gVFdPUEhBU0VfTUFHSUM7 CiAJaGRyLnRvdGFsX2xlbiA9IDA7CQkJLyogRW5kUHJlcGFyZSB3aWxsIGZpbGwgdGhpcyBpbiAq LwogCWhkci54aWQgPSB4aWQ7CkBAIC0xMjc1LDYgKzEyNzksNyBAQCBSZWdpc3RlclR3b1BoYXNl UmVjb3JkKFR3b1BoYXNlUm1ncklkIHJtaWQsIHVpbnQxNiBpbmZvLAogewogCVR3b1BoYXNlUmVj b3JkT25EaXNrIHJlY29yZDsKIAorCW1lbXNldCgmcmVjb3JkLCAwLCBzaXplb2YocmVjb3JkKSk7 CiAJcmVjb3JkLnJtaWQgPSBybWlkOwogCXJlY29yZC5pbmZvID0gaW5mbzsKIAlyZWNvcmQubGVu ID0gbGVuOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jIGIv c3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jCmluZGV4IGI5YjY3OGYuLmY1YjM2MTYg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2cuYworKysgYi9zcmMv YmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9nLmMKQEAgLTUxNDksNiArNTE0OSw3IEBAIEJvb3RT dHJhcFhMT0codWludDMyIGRhdGFfY2hlY2tzdW1fdmVyc2lvbikKIAkgKiBzZWdtZW50IHdpdGgg bG9naWQ9MCBsb2dzZWc9MS4gVGhlIHZlcnkgZmlyc3QgV0FMIHNlZ21lbnQsIDAvMCwgaXMgbm90 CiAJICogdXNlZCwgc28gdGhhdCB3ZSBjYW4gdXNlIDAvMCB0byBtZWFuICJiZWZvcmUgYW55IHZh bGlkIFdBTCBzZWdtZW50Ii4KIAkgKi8KKwltZW1zZXQoJmNoZWNrUG9pbnQsIDAsIHNpemVvZihj aGVja1BvaW50KSk7CiAJY2hlY2tQb2ludC5yZWRvID0gd2FsX3NlZ21lbnRfc2l6ZSArIFNpemVP ZlhMb2dMb25nUEhEOwogCWNoZWNrUG9pbnQuVGhpc1RpbWVMaW5lSUQgPSBCb290c3RyYXBUaW1l TGluZUlEOwogCWNoZWNrUG9pbnQuUHJldlRpbWVMaW5lSUQgPSBCb290c3RyYXBUaW1lTGluZUlE OwpAQCAtODI1Miw2ICs4MjUzLDcgQEAgWExvZ1JlcG9ydFBhcmFtZXRlcnModm9pZCkKIAkJCXhs X3BhcmFtZXRlcl9jaGFuZ2UgeGxyZWM7CiAJCQlYTG9nUmVjUHRyCXJlY3B0cjsKIAorCQkJbWVt c2V0KCZ4bHJlYywgMCwgc2l6ZW9mKHhscmVjKSk7CiAJCQl4bHJlYy5NYXhDb25uZWN0aW9ucyA9 IE1heENvbm5lY3Rpb25zOwogCQkJeGxyZWMubWF4X3dvcmtlcl9wcm9jZXNzZXMgPSBtYXhfd29y a2VyX3Byb2Nlc3NlczsKIAkJCXhscmVjLm1heF93YWxfc2VuZGVycyA9IG1heF93YWxfc2VuZGVy czsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jIGIvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKaW5kZXggY2Q2ZDcyMC4uOWI1YWI5YyAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQv Y29tbWFuZHMvdGFibGVjbWRzLmMKQEAgLTIzMTgsNiArMjMxOCw4IEBAIEV4ZWN1dGVUcnVuY2F0 ZUd1dHMoTGlzdCAqZXhwbGljaXRfcmVscywKIAkJeGxfaGVhcF90cnVuY2F0ZSB4bHJlYzsKIAkJ aW50CQkJaSA9IDA7CiAKKwkJbWVtc2V0KCZ4bHJlYywgMCwgc2l6ZW9mKHhscmVjKSk7CisKIAkJ Lyogc2hvdWxkIG9ubHkgZ2V0IGhlcmUgaWYgZWZmZWN0aXZlX3dhbF9sZXZlbCBpcyAnbG9naWNh bCcgKi8KIAkJQXNzZXJ0KFhMb2dMb2dpY2FsSW5mb0FjdGl2ZSgpKTsKIApkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9tZXNzYWdlLmMgYi9zcmMvYmFja2VuZC9y ZXBsaWNhdGlvbi9sb2dpY2FsL21lc3NhZ2UuYwppbmRleCAwNjgyNWQ2Li42NGE0MWMzIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL21lc3NhZ2UuYworKysgYi9z cmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL21lc3NhZ2UuYwpAQCAtNDYsNiArNDYsOCBA QCBMb2dMb2dpY2FsTWVzc2FnZShjb25zdCBjaGFyICpwcmVmaXgsIGNvbnN0IGNoYXIgKm1lc3Nh Z2UsIHNpemVfdCBzaXplLAogCXhsX2xvZ2ljYWxfbWVzc2FnZSB4bHJlYzsKIAlYTG9nUmVjUHRy CWxzbjsKIAorCW1lbXNldCgmeGxyZWMsIDAsIHNpemVvZih4bHJlYykpOworCiAJLyoKIAkgKiBG b3JjZSB4aWQgdG8gYmUgYWxsb2NhdGVkIGlmIHdlJ3JlIGVtaXR0aW5nIGEgdHJhbnNhY3Rpb25h bCBtZXNzYWdlLgogCSAqLwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9n aWNhbC9vcmlnaW4uYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvb3JpZ2luLmMK aW5kZXggMjZhZmQ4Zi4uZGY5NzFmNSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRp b24vbG9naWNhbC9vcmlnaW4uYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2Fs L29yaWdpbi5jCkBAIC0xMDExLDYgKzEwMTEsNyBAQCByZXBsb3JpZ2luX2FkdmFuY2UoUmVwbE9y aWdpbklkIG5vZGUsCiAJewogCQl4bF9yZXBsb3JpZ2luX3NldCB4bHJlYzsKIAorCQltZW1zZXQo JnhscmVjLCAwLCBzaXplb2YoeGxyZWMpKTsKIAkJeGxyZWMucmVtb3RlX2xzbiA9IHJlbW90ZV9j b21taXQ7CiAJCXhscmVjLm5vZGVfaWQgPSBub2RlOwogCQl4bHJlYy5mb3JjZSA9IGdvX2JhY2t3 YXJkOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvc3RhbmRieS5jIGIvc3Jj L2JhY2tlbmQvc3RvcmFnZS9pcGMvc3RhbmRieS5jCmluZGV4IGYzYWQ5MGMuLjRhZTViZTIgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3N0YW5kYnkuYworKysgYi9zcmMvYmFj a2VuZC9zdG9yYWdlL2lwYy9zdGFuZGJ5LmMKQEAgLTEzNTcsNiArMTM1Nyw4IEBAIExvZ0N1cnJl bnRSdW5uaW5nWGFjdHMoUnVubmluZ1RyYW5zYWN0aW9ucyBDdXJyUnVubmluZ1hhY3RzKQogCXhs X3J1bm5pbmdfeGFjdHMgeGxyZWM7CiAJWExvZ1JlY1B0cglyZWNwdHI7CiAKKwltZW1zZXQoJnhs cmVjLCAwLCBzaXplb2YoeGxyZWMpKTsKKwogCXhscmVjLnhjbnQgPSBDdXJyUnVubmluZ1hhY3Rz LT54Y250OwogCXhscmVjLnN1YnhjbnQgPSBDdXJyUnVubmluZ1hhY3RzLT5zdWJ4Y250OwogCXhs cmVjLnN1YnhpZF9vdmVyZmxvdyA9IChDdXJyUnVubmluZ1hhY3RzLT5zdWJ4aWRfc3RhdHVzICE9 IFNVQlhJRFNfSU5fQVJSQVkpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZp dHkvcGdzdGF0X3JlbGF0aW9uLmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRf cmVsYXRpb24uYwppbmRleCBiYzhjNDNiLi4yNWQzMjllIDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYworKysgYi9zcmMvYmFja2VuZC91dGls cy9hY3Rpdml0eS9wZ3N0YXRfcmVsYXRpb24uYwpAQCAtNjk1LDYgKzY5NSw3IEBAIEF0UHJlcGFy ZV9QZ1N0YXRfUmVsYXRpb25zKFBnU3RhdF9TdWJYYWN0U3RhdHVzICp4YWN0X3N0YXRlKQogCQlQ Z1N0YXRfVGFibGVTdGF0dXMgKnRhYnN0YXQgUEdfVVNFRF9GT1JfQVNTRVJUU19PTkxZOwogCQlU d29QaGFzZVBnU3RhdFJlY29yZCByZWNvcmQ7CiAKKwkJbWVtc2V0KCZyZWNvcmQsIDAsIHNpemVv ZihyZWNvcmQpKTsKIAkJQXNzZXJ0KHRyYW5zLT5uZXN0X2xldmVsID09IDEpOwogCQlBc3NlcnQo dHJhbnMtPnVwcGVyID09IE5VTEwpOwogCQl0YWJzdGF0ID0gdHJhbnMtPnBhcmVudDsKZGlmZiAt LWdpdCBhL3NyYy90b29scy92YWxncmluZC5zdXBwIGIvc3JjL3Rvb2xzL3ZhbGdyaW5kLnN1cHAK aW5kZXggZDU2Nzk0Yi4uZjJhYjBjOCAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xzL3ZhbGdyaW5kLnN1 cHAKKysrIGIvc3JjL3Rvb2xzL3ZhbGdyaW5kLnN1cHAKQEAgLTIzLDIzICsyMyw2IEBACiAJZnVu OnBnc3RhdF93cml0ZV9zdGF0c2ZpbGVzCiB9CiAKLXsKLQlwYWRkaW5nX1hMb2dSZWNEYXRhX0NS QwotCU1lbWNoZWNrOlZhbHVlOAotCi0JZnVuOnBnX2NvbXBfY3JjMzJjKgotCWZ1bjpYTG9nUmVj b3JkQXNzZW1ibGUKLX0KLQotewotCXBhZGRpbmdfWExvZ1JlY0RhdGFfd3JpdGUKLQlNZW1jaGVj azpQYXJhbQotCXB3cml0ZTY0KGJ1ZikKLQotCS4uLgotCWZ1bjpYTG9nV3JpdGUKLX0KLQogewog CXBhZGRpbmdfcmVsY2FjaGUKIAlNZW1jaGVjazpQYXJhbQo= --00000000000000c836064d2683e3 Content-Type: text/x-patch; charset="US-ASCII"; name="hash-vacuum-one-page-test.patch" Content-Disposition: attachment; filename="hash-vacuum-one-page-test.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmtdut8z1 ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvaGFzaF9pbmRleC5vdXQgYi9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2hhc2hfaW5kZXgub3V0CmluZGV4IDA0MDM1NDAuLjI1 OGQ1MDEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvaGFzaF9pbmRleC5v dXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9oYXNoX2luZGV4Lm91dApAQCAtMzMz LDYgKzMzMywyNSBAQCBST0xMQkFDSzsKIElOU0VSVCBJTlRPIGhhc2hfY2xlYW51cF9oZWFwIFNF TEVDVCAxIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsIDUwKSBhcyBpOwogQ0hFQ0tQT0lOVDsKIFZB Q1VVTSBoYXNoX2NsZWFudXBfaGVhcDsKKy0tIFRlc3QgaW5zZXJ0LWRyaXZlbiBjbGVhbnVwIG9m IGRlYWQgaW5kZXggdHVwbGVzIChfaGFzaF92YWN1dW1fb25lX3BhZ2UpLgorVFJVTkNBVEUgaGFz aF9jbGVhbnVwX2hlYXA7CitJTlNFUlQgSU5UTyBoYXNoX2NsZWFudXBfaGVhcCBTRUxFQ1QgMSBG Uk9NIGdlbmVyYXRlX3NlcmllcygxLCAxMDAwKSBhcyBpOworREVMRVRFIEZST00gaGFzaF9jbGVh bnVwX2hlYXAKKyAgV0hFUkUgY3RpZCBJTiAoJygwLDUpJywnKDAsMTApJywnKDAsMTUpJywnKDAs MjApJywnKDAsMjUpJywKKyAgICAgICAgICAgICAgICAgJygwLDMwKScsJygwLDM1KScsJygwLDQw KScsJygwLDQ1KScsJygwLDUwKScpOworU0VUIGVuYWJsZV9zZXFzY2FuID0gb2ZmOworU0VUIGVu YWJsZV9iaXRtYXBzY2FuID0gb2ZmOworU0VMRUNUIGNvdW50KCopIEZST00gaGFzaF9jbGVhbnVw X2hlYXAgV0hFUkUga2V5Y29sID0gMTsKKyBjb3VudCAKKy0tLS0tLS0KKyAgIDk5MAorKDEgcm93 KQorCitJTlNFUlQgSU5UTyBoYXNoX2NsZWFudXBfaGVhcCBTRUxFQ1QgMSBGUk9NIGdlbmVyYXRl X3NlcmllcygxLCAyMDApIGFzIGk7CitSRVNFVCBlbmFibGVfc2Vxc2NhbjsKK1JFU0VUIGVuYWJs ZV9iaXRtYXBzY2FuOwogLS0gQ2xlYW4gdXAuCiBEUk9QIFRBQkxFIGhhc2hfY2xlYW51cF9oZWFw OwogLS0gSW5kZXggb24gdGVtcCB0YWJsZS4KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mv c3FsL2hhc2hfaW5kZXguc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvaGFzaF9pbmRleC5zcWwK aW5kZXggNjA1NzFmNi4uMWM4NWQ5OCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwv aGFzaF9pbmRleC5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvaGFzaF9pbmRleC5zcWwK QEAgLTMxNCw2ICszMTQsMjEgQEAgSU5TRVJUIElOVE8gaGFzaF9jbGVhbnVwX2hlYXAgU0VMRUNU IDEgRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwgNTApIGFzIGk7CiBDSEVDS1BPSU5UOwogVkFDVVVN IGhhc2hfY2xlYW51cF9oZWFwOwogCistLSBUZXN0IGluc2VydC1kcml2ZW4gY2xlYW51cCBvZiBk ZWFkIGluZGV4IHR1cGxlcyAoX2hhc2hfdmFjdXVtX29uZV9wYWdlKS4KK1RSVU5DQVRFIGhhc2hf Y2xlYW51cF9oZWFwOworSU5TRVJUIElOVE8gaGFzaF9jbGVhbnVwX2hlYXAgU0VMRUNUIDEgRlJP TSBnZW5lcmF0ZV9zZXJpZXMoMSwgMTAwMCkgYXMgaTsKK0RFTEVURSBGUk9NIGhhc2hfY2xlYW51 cF9oZWFwCisgIFdIRVJFIGN0aWQgSU4gKCcoMCw1KScsJygwLDEwKScsJygwLDE1KScsJygwLDIw KScsJygwLDI1KScsCisgICAgICAgICAgICAgICAgICcoMCwzMCknLCcoMCwzNSknLCcoMCw0MCkn LCcoMCw0NSknLCcoMCw1MCknKTsKK1NFVCBlbmFibGVfc2Vxc2NhbiA9IG9mZjsKK1NFVCBlbmFi bGVfYml0bWFwc2NhbiA9IG9mZjsKK1NFTEVDVCBjb3VudCgqKSBGUk9NIGhhc2hfY2xlYW51cF9o ZWFwIFdIRVJFIGtleWNvbCA9IDE7CitJTlNFUlQgSU5UTyBoYXNoX2NsZWFudXBfaGVhcCBTRUxF Q1QgMSBGUk9NIGdlbmVyYXRlX3NlcmllcygxLCAyMDApIGFzIGk7CitSRVNFVCBlbmFibGVfc2Vx c2NhbjsKK1JFU0VUIGVuYWJsZV9iaXRtYXBzY2FuOworCiAtLSBDbGVhbiB1cC4KIERST1AgVEFC TEUgaGFzaF9jbGVhbnVwX2hlYXA7CiAK --00000000000000c836064d2683e3--