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.94.2) (envelope-from ) id 1rosL0-003rBH-96 for pgsql-bugs@arkaria.postgresql.org; Mon, 25 Mar 2024 21:58:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rosKy-008UXu-Ru for pgsql-bugs@arkaria.postgresql.org; Mon, 25 Mar 2024 21:58:37 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rosKy-008UXm-Bh for pgsql-bugs@lists.postgresql.org; Mon, 25 Mar 2024 21:58:37 +0000 Received: from dd25110.kasserver.com ([85.13.146.49]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rosKu-006TRO-Tw for pgsql-bugs@lists.postgresql.org; Mon, 25 Mar 2024 21:58:36 +0000 Received: from [192.168.0.101] (ip-037-201-153-175.um10.pools.vodafone-ip.de [37.201.153.175]) by dd25110.kasserver.com (Postfix) with ESMTPSA id 701B5E1A0085; Mon, 25 Mar 2024 22:58:31 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=technowledgy.de; s=kas202308201259; t=1711403911; bh=Y0Cimg5lftAghP6n6rrsMLzl7D2Gs72GPsdSThIsYeY=; h=Date:From:Subject:To:Cc:References:In-Reply-To:From; b=O+A6UQvPCa0qHQZIMJVC9YKJ0P8nxMPzuR2x2GXH1T2hLULlWl6IMXFfcyCsPh/6J g4K7tFZuCG6pd3OAbTun8lGjEvn0ZNwj2ZAihfFdRkSXBTAHXBVtFdiyek3sCIq8ZC ElJHyEXWM1przsLiIpstbxN/NyS+KmFlUXEH7DckJ+y+LBtrT/pUdyENqj/V4/OPZh ykyG7pobzmoY8ZVcIFc6cIO70JuJ8sGmBUxgz10rKdYE8hLsWRknT6YtTkh2cmy7oU lroHrS2GRdjA0jkVJM6Bi6w8wDnoEtJwwWYHS8Aog9horIaNm9xCKO+skA6VL41Kn9 QyGAwSx0FemMw== Content-Type: multipart/mixed; boundary="------------fdupEiZzFiH0fvcnu4gZWymp" Message-ID: <2293691d-2adb-4502-b956-73e79dc43c55@technowledgy.de> Date: Mon, 25 Mar 2024 22:58:30 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: walther@technowledgy.de Subject: Re: Regression tests fail with musl libc because libpq.so can't be loaded Content-Language: en-US To: Bruce Momjian Cc: Thomas Munro , Peter Eisentraut , Christophe Pettus , Andrew Dunstan , PostgreSQL Bugs , Tom Lane , Robert Haas References: <477fa513-6bf0-456d-8d24-1e22a19df671@technowledgy.de> <36690fcf-f0c8-4d60-af49-6a7efa0e2b14@technowledgy.de> In-Reply-To: X-Spamd-Bar: - List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------fdupEiZzFiH0fvcnu4gZWymp Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Bruce Momjian: > With no one "hoping this patch dies in a fire"*, I have updated it with > more details, which I now think is committable to master. Is this > something to backpatch? Seems too rare a bug to me. I would like to see this backpatched to be able to run the regression tests easily on all stable branches. I have taken your's/Thomas' patch and extended it with a few more taking in many of the ideas in this thread: 0001 Don't clobber LD_* This is the patch you posted. This applies cleanly all the way down to v12. This fixes the bug and allows running most of the tests with musl - yeah! I also confirmed, that this will not create practical problems with library/postgres docker image, where this is likely used the most. While "postgres" is called by default without any arguments here, plenty of environment variables are passed. The docker image does use LD_PRELOAD to trick initdb, but that's not set when running the postmaster, so not a problem here. This use-case also shows why the proposed patch to still partially clobber environ at this stage is better than to not clobber environ at all - in this case, the docker image would essentially have no ps status at all by default.- 0002 Allow setting PS_USE_NONE via CPPFLAGS This was proposed by Andrew and applies cleanly down to v12. Thus, it could be backpatched, too. First and foremost this would allow setting a buildfarm animal to use this flag to make sure this code path is actually build/tested at all. This is something that Thomas and Tom hinted at. 0003 Don't ever clobber environ again This is the approach I had previously posted as a PoC. This would not be backpatched, but I suggested this could go into v17 now. This avoids the undefined behavior and sets the table to eventually set ps status via argv by default and remove PS_USE_NONE later. Compared to the PoC patch, I decided not to pad argv[0], because this will break the ps status display for the postmaster itself. Instead exec is called with an additional argument consisting of exactly 255 spaces. I also tried avoiding the additional exec-call if postgres was called via pg_ctl, as suggested by Peter. This quickly turned out to be more invasive than I would have liked this to be, though. The current approach works very well, the environment doesn't need to be copied anymore and the workaround for /proc//environ in main.c can go away, too. 0004 Default to PS_USE_CLOBBER_ARGV This changes the default to display ps status on all other systems, too. This could potentially go in now as well, or be delayed to the beginning of the v18 cycle. In the unlikely event that this breaks something on a platform not considered here and we get a bug report, we can easily advise to compile with CPPFLAGS=-DPS_USE_NONE, which is still there at this stage. 0005 Remove PS_USE_NONE However, if no reports come in and no problems are detected with 0004, then this can be entirely removed. This for "later", whenever that is. Best, Wolfgang --------------fdupEiZzFiH0fvcnu4gZWymp Content-Type: text/x-patch; charset=UTF-8; name="0001-Don-t-clobber-LD_-environment-variables.patch" Content-Disposition: attachment; filename="0001-Don-t-clobber-LD_-environment-variables.patch" Content-Transfer-Encoding: base64 RnJvbSA1NWJjOGExMjc3M2Q1MWMwZWYwNzBkZmJiMjcxNGQwODgwMTM5MGY1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBXb2xmZ2FuZyBXYWx0aGVyIDx3YWx0aGVyQHRlY2hu b3dsZWRneS5kZT4KRGF0ZTogU3VuLCAyNCBNYXIgMjAyNCAxNzoxMjo0NSArMDEwMApTdWJq ZWN0OiBbUEFUQ0ggMS81XSBEb24ndCBjbG9iYmVyIExEXyogZW52aXJvbm1lbnQgdmFyaWFi bGVzCgpPdXIgUFNfVVNFX0NMT0JCRVJfQVJHViBjb2RlIHJlbG9jYXRlcyB0aGUgZW52aXJv bm1lbnQsIHdoaWNoIGl0c2VsZiBpcwphbGxvd2VkLCBpbiBvcmRlciB0byBzdGVhbCB0aGUg b2xkIHNwYWNlIHRvIG1ha2UgYSBiaWdnZXIgYXJndlswXSBmb3IKcHMvdG9wIHRvIHNob3cs IHdoaWNoIGlzIHByb2JhYmx5IGZvcm1hbGx5IHVuZGVmaW5lZCBiZWhhdmlvci4KClVuZm9y dHVuYXRlbHkgdGhhdCBjb3JydXB0cyBtdXNsJ3MgY29weSBvZiBMRF9MSUJSQVJZX1BBVEgg aWYgc2V0LApiZWNhdXNlIGl0IHN0YXNoZXMgYSBwb2ludGVyIHRvIHRoZSBpbml0aWFsIHZh bHVlIGJlZm9yZSBtYWluKCkgYmVnaW5zLgpJdCBwcm9iYWJseSBkb2Vzbid0IG1hdHRlciBm b3IgaW5zdGFsbGVkIHNlcnZlcnMgYnV0IGJyZWFrcyB0aGUKcmVncmVzc2lvbiB0ZXN0cy4K CkhlcmUgd2UgbG9vayBvdXQgZm9yIHZhcmlhYmxlcyBuYW1lZCBMRF8qIHdoaWxlIGNvbXB1 dGluZyBob3cgbXVjaCBzcGFjZQp0byBzdGVhbCwgc28gd2UgY2FuIGF2b2lkIGNsb2JiZXJp bmcgdGhlbS4gIE5vIGNoYW5nZSBpbiBiZWhhdmlvdXIgaWYKbm90IGZvdW5kLCBidXQgb3Ro ZXJ3aXNlIHlvdSBtaWdodCBwb3RlbnRpYWxseSBnZXQgcHMgc3RhdHVzIG1lc3NhZ2VzCnRy dW5jYXRlZCB0byBhIHNtYWxsZXIgc2l6ZSB0aGFuIGJlZm9yZSBkZXBlbmRpbmcgb24gdGhl IGxlbmd0aCBvZgpwcmVjZWRpbmcgY2xvYmJlcmFibGUgdmFyaWFibGVzLiAgTXVzbCBkb2Vz IG5vdCBkZWZpbmUgYW55IGNvbXBpbGVyCnN5bWJvbHMsIHNvIHdlIGRvIHRoaXMgZm9yIGFu eSBMaW51eCBsaWJjIHdlIGRvbid0IGtub3cgaXMgc2FmZS4gIFRoZQp0cnVuY2F0aW9uIHNp emUgc2hvdWxkbid0IGJlIHRvbyBzbWFsbCBvciBhdCBsZWFzdCBoYXMgYW4gZWFzeSBtaXRp Z2F0aW9uOgpkZWZpbmUgYSBkdW1teSB2YXJpYWJsZS4KClJlcG9ydGVkLWJ5OiBXb2xmZ2Fu ZyBXYWx0aGVyIDx3YWx0aGVyQHRlY2hub3dsZWRneS5kZT4KRGlzY3Vzc2lvbjogaHR0cHM6 Ly9wb3N0Z3IuZXMvbS9mZGRkMWNkNi1kYzE2LTQwYTItOWViNS1kN2ZlZjIxMDE0ODglNDB0 ZWNobm93bGVkZ3kuZGUKLS0tCiBzcmMvYmFja2VuZC91dGlscy9taXNjL3BzX3N0YXR1cy5j IHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwg MzEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3V0aWxzL21pc2MvcHNfc3RhdHVzLmMgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL3Bz X3N0YXR1cy5jCmluZGV4IDVkODI5ZTZlNDgzLi43NTMyYWYxN2RiYiAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wc19zdGF0dXMuYworKysgYi9zcmMvYmFja2VuZC91 dGlscy9taXNjL3BzX3N0YXR1cy5jCkBAIC0xNTEsNyArMTUxLDM3IEBAIHNhdmVfcHNfZGlz cGxheV9hcmdzKGludCBhcmdjLCBjaGFyICoqYXJndikKIAkJZm9yIChpID0gMDsgZW52aXJv bltpXSAhPSBOVUxMOyBpKyspCiAJCXsKIAkJCWlmIChlbmRfb2ZfYXJlYSArIDEgPT0gZW52 aXJvbltpXSkKLQkJCQllbmRfb2ZfYXJlYSA9IGVudmlyb25baV0gKyBzdHJsZW4oZW52aXJv bltpXSk7CisJCQl7CisKKyNpZiBkZWZpbmVkKF9fbGludXhfXykgJiYgKCEgZGVmaW5lZChf X0dMSUJDX18pICYmICEgZGVmaW5lZChfX1VDTElCQ19fICkpCisJCQkJLyoKKwkJCQkgKiBU aGUgbXVzbCBydW50aW1lIGxpbmtlciBzdG9yZXMgcG9pbnRlcnMgdG8gdmFyaWFibGUgdmFs dWVzCisJCQkJICogd2hpY2ggYXJlIGRlZmluZWQgaW4gdGhlIHByb2Nlc3MncyBlbnZpcm9u bWVudC4gVGhlcmVmb3JlLAorCQkJCSAqIGluIHRoZXNlIGNhc2VzIHdlIGNhbm5vdCBvdmVy d3JpdGUgc3VjaCB2YXJpYWJsZSB2YWx1ZXMKKwkJCQkgKiB3aGVuIHNldHRpbmcgdGhlIHBy b2Nlc3MgdGl0bGUgb3IgZHluYW1pYyBsaW5raW5nIChkbG9wZW4pCisJCQkJICogbWlnaHQg ZmFpbC4gIEhlcmUsIHdlIHRydW5jYXRlIHRoZSB1cGRhdGUgb2YgdGhlIHByb2Nlc3MKKwkJ CQkgKiB0aXRsZSB3aGVuIGVpdGhlciBvZiB0d28gaW1wb3J0YW50IGR5bmFtaWMgbGlua2lu ZworCQkJCSAqIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgc2V0LiAgTXVzbCBkb2VzIG5v dCBkZWZpbmUgYW55CisJCQkJICogY29tcGlsZXIgc3ltYm9scywgc28gd2UgaGF2ZSB0byBk byB0aGlzIGZvciBhbnkgTGludXggbGliYworCQkJCSAqIHdlIGRvbid0IGtub3cgaXMgc2Fm ZS4KKwkJCQkgKi8KKwkJCQlpZiAoc3Ryc3RyKGVudmlyb25baV0sICJMRF9MSUJSQVJZX1BB VEg9IikgPT0gZW52aXJvbltpXSB8fAorCQkJCQlzdHJzdHIoZW52aXJvbltpXSwgIkxEX1BS RUxPQUQ9IikgPT0gZW52aXJvbltpXSkKKwkJCQl7CisJCQkJCS8qCisJCQkJCSAqIFdlIGNh biBvdmVyd3JpdGUgdGhlIG5hbWUsIGJ1dCBzdG9wIGF0IHRoZSBlcXVhbHMgc2lnbi4KKwkJ CQkJICogRnV0dXJlIGxvb3BzIHdpbGwgbm90IGZpbmQgY29udGlndW91cyBzcGFjZSwgYnV0 IHdlCisJCQkJCSAqIGRvbid0IGJyZWFrIGVhcmx5IGJlY2F1c2Ugd2Ugd2FudCB0byBjb3Vu dCB0aGUgdG90YWwKKwkJCQkJICogbnVtYmVyLgorCQkJCQkgKi8KKwkJCQkJZW5kX29mX2Fy ZWEgPSBzdHJjaHIoZW52aXJvbltpXSwgJz0nKTsKKwkJCQl9CisJCQkJZWxzZQorI2VuZGlm CisJCQkJeworCQkJCQllbmRfb2ZfYXJlYSA9IGVudmlyb25baV0gKyBzdHJsZW4oZW52aXJv bltpXSk7CisJCQkJfQorCQkJfQogCQl9CiAKIAkJcHNfYnVmZmVyID0gYXJndlswXTsKLS0g CjIuNDQuMAoK --------------fdupEiZzFiH0fvcnu4gZWymp Content-Type: text/x-patch; charset=UTF-8; name="0002-Allow-disabling-ps-status-display-via-CPPFLAGS.patch" Content-Disposition: attachment; filename*0="0002-Allow-disabling-ps-status-display-via-CPPFLAGS.patch" Content-Transfer-Encoding: base64 RnJvbSAyNmI2NWEyZjRhMzM0NjNiMjhkMTU0MTkxNTlmNDk1NjlhNjFkMDAzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBXb2xmZ2FuZyBXYWx0aGVyIDx3YWx0aGVyQHRlY2hu b3dsZWRneS5kZT4KRGF0ZTogTW9uLCAyNSBNYXIgMjAyNCAyMTowODozOSArMDEwMApTdWJq ZWN0OiBbUEFUQ0ggMi81XSBBbGxvdyBkaXNhYmxpbmcgcHMgc3RhdHVzIGRpc3BsYXkgdmlh IENQUEZMQUdTCgpUaGUgUFNfVVNFX05PTkUgaXMgZGVlbWVkIHRoZSBzYWZlc3QgY2hvaWNl IGFuZCB0aHVzIHRoZSBkZWZhdWx0IGlmIG5vbmUgb2YKdGhlIG90aGVyIG9wdGlvbnMgY2Fu IHNhZmVseSBiZSB0YWtlbi4gIEhvd2V2ZXIgdGhpcyBvcHRpb24gaXMgYWxzbyByYXJlbHkK dGVzdGVkLCBpZiBhdCBhbGwuCgpUaGlzIGNoYW5nZSBhbGxvd3MgdG8gZXhwbGljaXRseSBi dWlsZCB3aXRoIENQUEZMQUdTPS1EUFNfVVNFX05PTkUgZm9yIHR3bwpyZWFzb25zOgotIFRo aXMgY2FuIGJlIHVzZWQgdG8gaGF2ZSBhbiBhbmltYWwgaW4gdGhlIGJ1aWxkZmFybSBhY3R1 YWxseSBidWlsZCB0aGlzCiAgY29kZSBwYXRoLgotIFRoaXMgd2lsbCBhbGxvdyB1cyB0byBw b3NzaWJseSBjaGFuZ2UgdGhlIGRlZmF1bHQgdG8gUFNfVVNFX0NMT0JCRVJfQVJHVgogIGxh dGVyIGFuZCBzdGlsbCBoYXZlIGFuIGVzY2FwZSBoYXRjaCBpbiBjYXNlIHVzZXJzIHJlcG9y dCBwcm9ibGVtcyB3aXRoCiAgdGhhdCBkZWZhdWx0LgoKU3VnZ2VzdGVkIGJ5IEFuZHJldyBE dW5zdGFuLgotLS0KIHNyYy9iYWNrZW5kL3V0aWxzL21pc2MvcHNfc3RhdHVzLmMgfCAzICsr KwogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL3V0aWxzL21pc2MvcHNfc3RhdHVzLmMgYi9zcmMvYmFja2VuZC91dGlscy9taXNj L3BzX3N0YXR1cy5jCmluZGV4IDc1MzJhZjE3ZGJiLi5kMzUxM2IyMjY5MyAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wc19zdGF0dXMuYworKysgYi9zcmMvYmFja2Vu ZC91dGlscy9taXNjL3BzX3N0YXR1cy5jCkBAIC00Niw2ICs0Niw4IEBAIGJvb2wJCXVwZGF0 ZV9wcm9jZXNzX3RpdGxlID0gREVGQVVMVF9VUERBVEVfUFJPQ0VTU19USVRMRTsKICAqCSAg IGRvbid0IHVwZGF0ZSBwcyBkaXNwbGF5CiAgKgkgICAoVGhpcyBpcyB0aGUgZGVmYXVsdCwg YXMgaXQgaXMgc2FmZXN0LikKICAqLworI2lmbmRlZiBQU19VU0VfTk9ORQorCiAjaWYgZGVm aW5lZChIQVZFX1NFVFBST0NUSVRMRV9GQVNUKQogI2RlZmluZSBQU19VU0VfU0VUUFJPQ1RJ VExFX0ZBU1QKICNlbGlmIGRlZmluZWQoSEFWRV9TRVRQUk9DVElUTEUpCkBAIC01OCw2ICs2 MCw3IEBAIGJvb2wJCXVwZGF0ZV9wcm9jZXNzX3RpdGxlID0gREVGQVVMVF9VUERBVEVfUFJP Q0VTU19USVRMRTsKICNkZWZpbmUgUFNfVVNFX05PTkUKICNlbmRpZgogCisjZW5kaWYJCQkJ CQkJLyogbm90IFBTX1VTRV9OT05FICovCiAKIC8qIERpZmZlcmVudCBzeXN0ZW1zIHdhbnQg dGhlIGJ1ZmZlciBwYWRkZWQgZGlmZmVyZW50bHkgKi8KICNpZiBkZWZpbmVkKF9fbGludXhf XykgfHwgZGVmaW5lZChfX2Rhcndpbl9fKQotLSAKMi40NC4wCgo= --------------fdupEiZzFiH0fvcnu4gZWymp Content-Type: text/x-patch; charset=UTF-8; name="0003-Don-t-clobber-any-environment-variables-for-ps-statu.patch" Content-Disposition: attachment; filename*0="0003-Don-t-clobber-any-environment-variables-for-ps-statu.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAyODM0Y2JiYmRkMDc5NDM0NmViNmY3OGU5Nzk5YzU2M2IxOGIxMzVjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBXb2xmZ2FuZyBXYWx0aGVyIDx3YWx0aGVyQHRlY2hu b3dsZWRneS5kZT4KRGF0ZTogTW9uLCAyNSBNYXIgMjAyNCAyMjowNzowOSArMDEwMApTdWJq ZWN0OiBbUEFUQ0ggMy81XSBEb24ndCBjbG9iYmVyIGFueSBlbnZpcm9ubWVudCB2YXJpYWJs ZXMgZm9yIHBzIHN0YXR1cwoKQ2xvYmJlcmluZyB0aGUgZW52aXJvbm1lbnQgYXJlYSBmb3Ig cHMgc3RhdHVzIGlzIGZvcm1hbGx5IHVuZGVmaW5lZApiZWhhdmlvciBhbmQgdGh1cyBtYWtl cyB1cCBhIGJhZCBkZWZhdWx0LgoKSGVyZSB3ZSByZXBsYWNlIHRoZSBjbG9iYmVyaW5nIG9m IHRoZSBlbnZpcm9ubWVudCB3aXRoIGEgZGlmZmVyZW50Cm1lY2hhbmlzdW0gdG8gaW5jcmVh c2UgdGhlIGF2YWlsYWJsZSBhcmd2IGFyZWEgZm9yIHBzIHN0YXR1czogSWYKdGhlIGdpdmVu IGFyZ3VtZW50cyBoYXZlIG5vdCBiZWVuIGxvbmcgZW5vdWdoLCB5ZXQsIHdlIGV4ZWMgb3Vy c2VsZgp3aXRoIGFuIGV4dHJhIGFyZ3VtZW50IG9mIHNwYWNlcy4gVGhpcyBhcmd1bWVudCBv ZiBzcGFjZXMgaXMgdGhlbgpyZW1vdmVkIGFnYWluIGZvciBmdXJ0aGVyIHByb2Nlc3Npbmcs IGJ1dCB0aGUgYWRkaXRpb25hbCBzcGFjZSBpcwp1c2VkIGZvciBwcyBzdGF0dXMuCgpUaGlz IGEgbW9yZSBwb3J0YWJsZSBhcHByb2FjaCwgYmVjYXVzZSBpdCBkb2Vzbid0IHJlbHkgb24g dW5kZWZpbmVkCmJlaGF2aW9yIGFuZCBjYW4gcG9zc2libHkgYmUgbWFkZSB0aGUgZGVmYXVs dCBpbnN0ZWFkIG9mIFBTX1VTRV9OT05FCmxhdGVyLiBJdCBhbHNvIGFsbG93cyB0byByZW1v dmUgdGhlIHdvcmthcm91bmQgZm9yIFVCU2FuIGluIG1haW4uYwphbmQgbWFrZXMgL3Byb2Mv PHBpZD4vZW52aXJvbiB3b3JrIGFnYWluLgotLS0KIHNyYy9iYWNrZW5kL21haW4vbWFpbi5j ICAgICAgICAgICAgfCAgNDEgKystLS0tLS0tLS0KIHNyYy9iYWNrZW5kL3V0aWxzL21pc2Mv cHNfc3RhdHVzLmMgfCAxMTQgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIHNyYy9p bmNsdWRlL3V0aWxzL3BzX3N0YXR1cy5oICAgICAgfCAgIDIgKy0KIDMgZmlsZXMgY2hhbmdl ZCwgNTggaW5zZXJ0aW9ucygrKSwgOTkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvbWFpbi9tYWluLmMgYi9zcmMvYmFja2VuZC9tYWluL21haW4uYwppbmRleCBi ZmQwYzVlZDY1OC4uZjJlMzMzZDc0ZWIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL21haW4v bWFpbi5jCisrKyBiL3NyYy9iYWNrZW5kL21haW4vbWFpbi5jCkBAIC04MCwxNCArODAsMTYg QEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogCSAqIFJlbWVtYmVyIHRoZSBwaHlz aWNhbCBsb2NhdGlvbiBvZiB0aGUgaW5pdGlhbGx5IGdpdmVuIGFyZ3ZbXSBhcnJheSBmb3IK IAkgKiBwb3NzaWJsZSB1c2UgYnkgcHMgZGlzcGxheS4gIE9uIHNvbWUgcGxhdGZvcm1zLCB0 aGUgYXJndltdIHN0b3JhZ2UgbXVzdAogCSAqIGJlIG92ZXJ3cml0dGVuIGluIG9yZGVyIHRv IHNldCB0aGUgcHJvY2VzcyB0aXRsZSBmb3IgcHMuIEluIHN1Y2ggY2FzZXMKLQkgKiBzYXZl X3BzX2Rpc3BsYXlfYXJncyBtYWtlcyBhbmQgcmV0dXJucyBhIG5ldyBjb3B5IG9mIHRoZSBh cmd2W10gYXJyYXkuCisJICogc2F2ZV9wc19kaXNwbGF5X2FyZ3MgbWFrZXMgYSBuZXcgY29w eSBvZiB0aGUgYXJndltdIGFycmF5LgogCSAqCi0JICogc2F2ZV9wc19kaXNwbGF5X2FyZ3Mg bWF5IGFsc28gbW92ZSB0aGUgZW52aXJvbm1lbnQgc3RyaW5ncyB0byBtYWtlCi0JICogZXh0 cmEgcm9vbS4gVGhlcmVmb3JlIHRoaXMgc2hvdWxkIGJlIGRvbmUgYXMgZWFybHkgYXMgcG9z c2libGUgZHVyaW5nCi0JICogc3RhcnR1cCwgdG8gYXZvaWQgZW50YW5nbGVtZW50cyB3aXRo IGNvZGUgdGhhdCBtaWdodCBzYXZlIGEgZ2V0ZW52KCkKLQkgKiByZXN1bHQgcG9pbnRlci4K KwkgKiBzYXZlX3BzX2Rpc3BsYXlfYXJncyBtYXkgYWxzbyBleGVjIG91cnNlbGYgYWdhaW4g d2l0aCBhbiBleHRyYSBhcmd1bWVudAorCSAqIHRvIGluY3JlYXNlIHRoZSBhdmFpbGFibGUg YXJndiBhcmVhLiAgVGhlcmVmb3JlIHRoaXMgc2hvdWxkIGJlIGRvbmUgYXMKKwkgKiBlYXJs eSBhcyBwb3NzaWJsZSBkdXJpbmcgc3RhcnR1cCwgdG8gYXZvaWQgZG9pbmcgbW9yZSB0aGlu Z3MgdGhhbgorCSAqIG5lY2Vzc2FyeSB0d2ljZS4gIE9uY2UgY2FsbGVkIHdpdGggYW4gdGhl IGV4dHJhIGFyZ3VtZW50LCB0aGlzIHdpbGwgYmUKKwkgKiByZW1vdmVkIGFnYWluIGJ5IHNh dmVfcHNfZGlzcGxheV9hcmdzLCB3aGljaCB0aGVuIHJldHVybnMgdGhlIG5ldworCSAqIG51 bWJlciBmb3IgYXJnYy4KIAkgKi8KLQlhcmd2ID0gc2F2ZV9wc19kaXNwbGF5X2FyZ3MoYXJn YywgYXJndik7CisJYXJnYyA9IHNhdmVfcHNfZGlzcGxheV9hcmdzKGFyZ2MsIGFyZ3YpOwog CiAJLyoKIAkgKiBGaXJlIHVwIGVzc2VudGlhbCBzdWJzeXN0ZW1zOiBlcnJvciBhbmQgbWVt b3J5IG1hbmFnZW1lbnQKQEAgLTQxNCwzMCArNDE2LDMgQEAgY2hlY2tfcm9vdChjb25zdCBj aGFyICpwcm9nbmFtZSkKIAl9CiAjZW5kaWYJCQkJCQkJLyogV0lOMzIgKi8KIH0KLQotLyoK LSAqIEF0IGxlYXN0IG9uIGxpbnV4LCBzZXRfcHNfZGlzcGxheSgpIGJyZWFrcyAvcHJvYy8k cGlkL2Vudmlyb24uIFRoZQotICogc2FuaXRpemVyIGxpYnJhcnkgdXNlcyAvcHJvYy8kcGlk L2Vudmlyb24gdG8gaW1wbGVtZW50IGdldGVudigpIGFzIGl0IHdhbnRzCi0gKiB0byB3b3Jr IGluZGVwZW5kZW50IG9mIGxpYmMuIFdoZW4ganVzdCB1c2luZyB1bmRlZmluZWQgYW5kIGFs aWdubWVudAotICogc2FuaXRpemVycywgdGhlIHNhbml0aXplciBsaWJyYXJ5IGlzIG9ubHkg aW5pdGlhbGl6ZWQgd2hlbiB0aGUgZmlyc3QgZXJyb3IKLSAqIG9jY3VycywgYnkgd2hpY2gg dGltZSB3ZSd2ZSBvZnRlbiBhbHJlYWR5IGNhbGxlZCBzZXRfcHNfZGlzcGxheSgpLAotICog cHJldmVudGluZyB0aGUgc2FuaXRpemVyIGxpYnJhcmllcyBmcm9tIHNlZWluZyB0aGUgb3B0 aW9ucy4KLSAqCi0gKiBXZSBjYW4gd29yayBhcm91bmQgdGhhdCBieSBkZWZpbmluZyBfX3Vi c2FuX2RlZmF1bHRfb3B0aW9ucywgYSB3ZWFrIHN5bWJvbAotICogbGlic2FuaXRpemVyIHVz ZXMgdG8gZ2V0IGRlZmF1bHRzIGZyb20gdGhlIGFwcGxpY2F0aW9uLCBhbmQgcmV0dXJuCi0g KiBnZXRlbnYoIlVCU0FOX09QVElPTlMiKS4gQnV0IG9ubHkgaWYgbWFpbiBhbHJlYWR5IHdh cyByZWFjaGVkLCBzbyB0aGF0IHdlCi0gKiBkb24ndCBlbmQgdXAgcmVseWluZyBvbiBhIG5v dC15ZXQtd29ya2luZyBnZXRlbnYoKS4KLSAqCi0gKiBBcyB0aGlzIGZ1bmN0aW9uIHdvbid0 IGdldCBjYWxsZWQgd2hlbiBub3QgcnVubmluZyBhIHNhbml0aXplciwgaXQgZG9lc24ndAot ICogc2VlbSBuZWNlc3NhcnkgdG8gb25seSBjb21waWxlIGl0IGNvbmRpdGlvbmFsbHkuCi0g Ki8KLWNvbnN0IGNoYXIgKl9fdWJzYW5fZGVmYXVsdF9vcHRpb25zKHZvaWQpOwotY29uc3Qg Y2hhciAqCi1fX3Vic2FuX2RlZmF1bHRfb3B0aW9ucyh2b2lkKQotewotCS8qIGRvbid0IGNh bGwgbGliYyBiZWZvcmUgaXQncyBndWFyYW50ZWVkIHRvIGJlIGluaXRpYWxpemVkICovCi0J aWYgKCFyZWFjaGVkX21haW4pCi0JCXJldHVybiAiIjsKLQotCXJldHVybiBnZXRlbnYoIlVC U0FOX09QVElPTlMiKTsKLX0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2Mv cHNfc3RhdHVzLmMgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL3BzX3N0YXR1cy5jCmluZGV4 IGQzNTEzYjIyNjkzLi5jMTE2MWU4NTUwNyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRp bHMvbWlzYy9wc19zdGF0dXMuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL3BzX3N0 YXR1cy5jCkBAIC0yMyw4ICsyMyw2IEBACiAjaW5jbHVkZSAidXRpbHMvZ3VjLmgiCiAjaW5j bHVkZSAidXRpbHMvcHNfc3RhdHVzLmgiCiAKLWV4dGVybiBjaGFyICoqZW52aXJvbjsKLQog LyogR1VDIHZhcmlhYmxlICovCiBib29sCQl1cGRhdGVfcHJvY2Vzc190aXRsZSA9IERFRkFV TFRfVVBEQVRFX1BST0NFU1NfVElUTEU7CiAKQEAgLTM4LDcgKzM2LDcgQEAgYm9vbAkJdXBk YXRlX3Byb2Nlc3NfdGl0bGUgPSBERUZBVUxUX1VQREFURV9QUk9DRVNTX1RJVExFOwogICoJ ICAgdXNlIHRoZSBmdW5jdGlvbiBzZXRwcm9jdGl0bGUoY29uc3QgY2hhciAqLCAuLi4pCiAg KgkgICAob3RoZXIgQlNEcykKICAqIFBTX1VTRV9DTE9CQkVSX0FSR1YKLSAqCSAgIHdyaXRl IG92ZXIgdGhlIGFyZ3YgYW5kIGVudmlyb25tZW50IGFyZWEKKyAqCSAgIHdyaXRlIG92ZXIg dGhlIGFyZ3YgYXJlYQogICoJICAgKExpbnV4IGFuZCBtb3N0IFN5c1YtbGlrZSBzeXN0ZW1z KQogICogUFNfVVNFX1dJTjMyCiAgKgkgICBwdXNoIHRoZSBzdHJpbmcgb3V0IGFzIHRoZSBu YW1lIG9mIGEgV2luZG93cyBldmVudApAQCAtNzgsNiArNzYsNyBAQCBib29sCQl1cGRhdGVf cHJvY2Vzc190aXRsZSA9IERFRkFVTFRfVVBEQVRFX1BST0NFU1NfVElUTEU7CiBzdGF0aWMg Y2hhciBwc19idWZmZXJbUFNfQlVGRkVSX1NJWkVdOwogc3RhdGljIGNvbnN0IHNpemVfdCBw c19idWZmZXJfc2l6ZSA9IFBTX0JVRkZFUl9TSVpFOwogI2Vsc2UJCQkJCQkJLyogUFNfVVNF X0NMT0JCRVJfQVJHViAqLworI2RlZmluZSBQU19CVUZGRVJfTUlOX1NJWkUgMjU2CiBzdGF0 aWMgY2hhciAqcHNfYnVmZmVyOwkJCS8qIHdpbGwgcG9pbnQgdG8gYXJndiBhcmVhICovCiBz dGF0aWMgc2l6ZV90IHBzX2J1ZmZlcl9zaXplOwkvKiBzcGFjZSBkZXRlcm1pbmVkIGF0IHJ1 biB0aW1lICovCiBzdGF0aWMgc2l6ZV90IGxhc3Rfc3RhdHVzX2xlbjsJLyogdXNlIHRvIG1p bmltaXplIGxlbmd0aCBvZiBjbG9iYmVyICovCkBAIC0xMDcsMTUgKzEwNiwxMyBAQCBzdGF0 aWMgY2hhciAqKnNhdmVfYXJndjsKICAqIElmIG5lZWRlZCwgd2UgbWFrZSBhIGNvcHkgb2Yg dGhlIG9yaWdpbmFsIGFyZ3ZbXSBhcnJheSB0byBwcmVzZXJ2ZSBpdAogICogZnJvbSBiZWlu ZyBjbG9iYmVyZWQgYnkgc3Vic2VxdWVudCBwc19kaXNwbGF5IGFjdGlvbnMuCiAgKgotICog KFRoZSBvcmlnaW5hbCBhcmd2W10gd2lsbCBub3QgYmUgb3ZlcndyaXR0ZW4gYnkgdGhpcyBy b3V0aW5lLCBidXQgbWF5IGJlCi0gKiBvdmVyd3JpdHRlbiBkdXJpbmcgaW5pdF9wc19kaXNw bGF5LiAgQWxzbywgdGhlIHBoeXNpY2FsIGxvY2F0aW9uIG9mIHRoZQotICogZW52aXJvbm1l bnQgc3RyaW5ncyBtYXkgYmUgbW92ZWQsIHNvIHRoaXMgc2hvdWxkIGJlIGNhbGxlZCBiZWZv cmUgYW55IGNvZGUKLSAqIHRoYXQgbWlnaHQgdHJ5IHRvIGhhbmcgb250byBhIGdldGVudigp IHJlc3VsdC4pCisgKiBUaGUgb3JpZ2luYWwgYXJndltdIHdpbGwgbm90IGJlIG92ZXJ3cml0 dGVuIGJ5IHRoaXMgcm91dGluZSwgYnV0IG1heSBiZQorICogb3ZlcndyaXR0ZW4gZHVyaW5n IGluaXRfcHNfZGlzcGxheS4KICAqCiAgKiBOb3RlIHRoYXQgaW4gY2FzZSBvZiBmYWlsdXJl IHRoaXMgY2Fubm90IGNhbGwgZWxvZygpIGFzIHRoYXQgaXMgbm90CiAgKiBpbml0aWFsaXpl ZCB5ZXQuICBXZSByZWx5IG9uIHdyaXRlX3N0ZGVycigpIGluc3RlYWQuCiAgKi8KLWNoYXIJ ICAqKgoraW50CiBzYXZlX3BzX2Rpc3BsYXlfYXJncyhpbnQgYXJnYywgY2hhciAqKmFyZ3Yp CiB7CiAJc2F2ZV9hcmdjID0gYXJnYzsKQEAgLTEyNSwxMSArMTIyLDkgQEAgc2F2ZV9wc19k aXNwbGF5X2FyZ3MoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCiAJLyoKIAkgKiBJZiB3ZSdy ZSBnb2luZyB0byBvdmVyd3JpdGUgdGhlIGFyZ3YgYXJlYSwgY291bnQgdGhlIGF2YWlsYWJs ZSBzcGFjZS4KLQkgKiBBbHNvIG1vdmUgdGhlIGVudmlyb25tZW50IHRvIG1ha2UgYWRkaXRp b25hbCByb29tLgogCSAqLwogCXsKIAkJY2hhcgkgICAqZW5kX29mX2FyZWEgPSBOVUxMOwot CQljaGFyCSAgKipuZXdfZW52aXJvbjsKIAkJaW50CQkJaTsKIAogCQkvKgpAQCAtMTQ1LDcx ICsxNDAsNjAgQEAgc2F2ZV9wc19kaXNwbGF5X2FyZ3MoaW50IGFyZ2MsIGNoYXIgKiphcmd2 KQogCQl7CiAJCQlwc19idWZmZXIgPSBOVUxMOwogCQkJcHNfYnVmZmVyX3NpemUgPSAwOwot CQkJcmV0dXJuIGFyZ3Y7Ci0JCX0KLQotCQkvKgotCQkgKiBjaGVjayBmb3IgY29udGlndW91 cyBlbnZpcm9uIHN0cmluZ3MgZm9sbG93aW5nIGFyZ3YKLQkJICovCi0JCWZvciAoaSA9IDA7 IGVudmlyb25baV0gIT0gTlVMTDsgaSsrKQotCQl7Ci0JCQlpZiAoZW5kX29mX2FyZWEgKyAx ID09IGVudmlyb25baV0pCi0JCQl7Ci0KLSNpZiBkZWZpbmVkKF9fbGludXhfXykgJiYgKCEg ZGVmaW5lZChfX0dMSUJDX18pICYmICEgZGVmaW5lZChfX1VDTElCQ19fICkpCi0JCQkJLyoK LQkJCQkgKiBUaGUgbXVzbCBydW50aW1lIGxpbmtlciBzdG9yZXMgcG9pbnRlcnMgdG8gdmFy aWFibGUgdmFsdWVzCi0JCQkJICogd2hpY2ggYXJlIGRlZmluZWQgaW4gdGhlIHByb2Nlc3Mn cyBlbnZpcm9ubWVudC4gVGhlcmVmb3JlLAotCQkJCSAqIGluIHRoZXNlIGNhc2VzIHdlIGNh bm5vdCBvdmVyd3JpdGUgc3VjaCB2YXJpYWJsZSB2YWx1ZXMKLQkJCQkgKiB3aGVuIHNldHRp bmcgdGhlIHByb2Nlc3MgdGl0bGUgb3IgZHluYW1pYyBsaW5raW5nIChkbG9wZW4pCi0JCQkJ ICogbWlnaHQgZmFpbC4gIEhlcmUsIHdlIHRydW5jYXRlIHRoZSB1cGRhdGUgb2YgdGhlIHBy b2Nlc3MKLQkJCQkgKiB0aXRsZSB3aGVuIGVpdGhlciBvZiB0d28gaW1wb3J0YW50IGR5bmFt aWMgbGlua2luZwotCQkJCSAqIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgc2V0LiAgTXVz bCBkb2VzIG5vdCBkZWZpbmUgYW55Ci0JCQkJICogY29tcGlsZXIgc3ltYm9scywgc28gd2Ug aGF2ZSB0byBkbyB0aGlzIGZvciBhbnkgTGludXggbGliYwotCQkJCSAqIHdlIGRvbid0IGtu b3cgaXMgc2FmZS4KLQkJCQkgKi8KLQkJCQlpZiAoc3Ryc3RyKGVudmlyb25baV0sICJMRF9M SUJSQVJZX1BBVEg9IikgPT0gZW52aXJvbltpXSB8fAotCQkJCQlzdHJzdHIoZW52aXJvbltp XSwgIkxEX1BSRUxPQUQ9IikgPT0gZW52aXJvbltpXSkKLQkJCQl7Ci0JCQkJCS8qCi0JCQkJ CSAqIFdlIGNhbiBvdmVyd3JpdGUgdGhlIG5hbWUsIGJ1dCBzdG9wIGF0IHRoZSBlcXVhbHMg c2lnbi4KLQkJCQkJICogRnV0dXJlIGxvb3BzIHdpbGwgbm90IGZpbmQgY29udGlndW91cyBz cGFjZSwgYnV0IHdlCi0JCQkJCSAqIGRvbid0IGJyZWFrIGVhcmx5IGJlY2F1c2Ugd2Ugd2Fu dCB0byBjb3VudCB0aGUgdG90YWwKLQkJCQkJICogbnVtYmVyLgotCQkJCQkgKi8KLQkJCQkJ ZW5kX29mX2FyZWEgPSBzdHJjaHIoZW52aXJvbltpXSwgJz0nKTsKLQkJCQl9Ci0JCQkJZWxz ZQotI2VuZGlmCi0JCQkJewotCQkJCQllbmRfb2ZfYXJlYSA9IGVudmlyb25baV0gKyBzdHJs ZW4oZW52aXJvbltpXSk7Ci0JCQkJfQotCQkJfQorCQkJcmV0dXJuIGFyZ2M7CiAJCX0KIAog CQlwc19idWZmZXIgPSBhcmd2WzBdOwogCQlsYXN0X3N0YXR1c19sZW4gPSBwc19idWZmZXJf c2l6ZSA9IGVuZF9vZl9hcmVhIC0gYXJndlswXTsKKwl9CiAKLQkJLyoKLQkJICogbW92ZSB0 aGUgZW52aXJvbm1lbnQgb3V0IG9mIHRoZSB3YXkKLQkJICovCi0JCW5ld19lbnZpcm9uID0g KGNoYXIgKiopIG1hbGxvYygoaSArIDEpICogc2l6ZW9mKGNoYXIgKikpOwotCQlpZiAoIW5l d19lbnZpcm9uKQotCQl7Ci0JCQl3cml0ZV9zdGRlcnIoIm91dCBvZiBtZW1vcnlcbiIpOwot CQkJZXhpdCgxKTsKLQkJfQotCQlmb3IgKGkgPSAwOyBlbnZpcm9uW2ldICE9IE5VTEw7IGkr KykKKwkvKgorCSAqIElmIHRoZSBhcmd2IGFyZWEgd2Fzbid0IGJpZyBlbm91Z2gsIGFsc28g ZXhlYyBvdXJzZWxmIGFuIGFkZGl0aW9uYWwKKwkgKiBhcmd1bWVudCB0byBtYWtlIG1vcmUg cm9vbS4KKwkgKgorCSAqIENyZWF0ZSBhIG5ldyBhcmd1bWVudCB3aGljaCBpcyBqdXN0IGEg YmlnIG51bWJlciBvZiBzcGFjZXMuIFdoaWxlIHRoaXMKKwkgKiBjb3VsZCB0ZWNobmljYWxs eSBiZSBhIHZhbGlkIGZpbGVuYW1lIGFuZCB0aHVzIGEgdmFsaWQgYXJndW1lbnQgdG8gb25l CisJICogb2YgdGhlIG90aGVyIG9wdGlvbnMsIGl0IHNob3VsZCBzdGlsbCBiZSBzYWZlIGVu b3VnaCB0byBicmVhayB0aGUgY2FzZQorCSAqIG9mIHBhc3NpbmcgZXhhY3RseSAyNTYgc3Bh Y2VzIGFzIGEgcGF0aC4gSWYgc29tZW9uZSByZWFsbHkgd2FudHMgdG8gZG8KKwkgKiB0aGF0 LCB0aGV5IGNvdWxkIHdvcmsgYXJvdW5kIHRoaXMsIGJ5IGp1c3QgYWRkaW5nIGFub3RoZXIg YXJndW1lbnQKKwkgKiBhZnRlciB0aGF0LCBiZWNhdXNlIHdlIG1hdGNoIHRoZSB2ZXJ5IGxh c3QgYXJndW1lbnQgdG8gdGhpcyBwYXR0ZXJuLgorCSAqLworCXsKKwkJY2hhcgkgICAqZXh0 cmFfYXJnOworCisJCWV4dHJhX2FyZyA9IChjaGFyICopIG1hbGxvYyhQU19CVUZGRVJfTUlO X1NJWkUpOworCQlNZW1TZXQoZXh0cmFfYXJnLCAnICcsIFBTX0JVRkZFUl9NSU5fU0laRSAt IDEpOworCQlleHRyYV9hcmdbUFNfQlVGRkVSX01JTl9TSVpFIC0gMV0gPSBOVUxMOworCisJ CWlmIChwc19idWZmZXJfc2l6ZSA8PSBQU19CVUZGRVJfTUlOX1NJWkUpCiAJCXsKLQkJCW5l d19lbnZpcm9uW2ldID0gc3RyZHVwKGVudmlyb25baV0pOwotCQkJaWYgKCFuZXdfZW52aXJv bltpXSkKKwkJCWNoYXIJICAqKnBhZGRlZF9hcmd2OworCQkJaW50CQkJaTsKKworCQkJcGFk ZGVkX2FyZ3YgPSAoY2hhciAqKikgbWFsbG9jKChhcmdjICsgMikgKiBzaXplb2YoY2hhciAq KSk7CisJCQlpZiAoIXBhZGRlZF9hcmd2KQogCQkJewogCQkJCXdyaXRlX3N0ZGVycigib3V0 IG9mIG1lbW9yeVxuIik7CiAJCQkJZXhpdCgxKTsKIAkJCX0KKwkJCWZvciAoaSA9IDA7IGkg PCBhcmdjOyBpKyspCisJCQkJcGFkZGVkX2FyZ3ZbaV0gPSBhcmd2W2ldOworCQkJcGFkZGVk X2FyZ3ZbYXJnY10gPSBleHRyYV9hcmc7CisJCQlwYWRkZWRfYXJndlthcmdjICsgMV0gPSBO VUxMOworCisJCQlleGVjdnAoYXJndlswXSwgcGFkZGVkX2FyZ3YpOworCQkJd3JpdGVfc3Rk ZXJyKCJleGVjIGZhaWxlZDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7CisJCQlleGl0KDEp OworCQl9CisJCWVsc2UgaWYgKHN0cmNtcChhcmd2W2FyZ2MgLSAxXSwgZXh0cmFfYXJnKSA9 PSAwKQorCQl7CisJCQkvKgorCQkJICogVG8gaGlkZSB0aGUgZXh0cmFfYXJnIHNwYWNlcyBv biB0aGUgcHMgb3V0cHV0IGZvciB0aGUKKwkJCSAqIHBvc3RtYXN0ZXIsIHdlIG5lZWQgdG8g b3ZlcndyaXRlIHRoZW0gd2l0aCBQU19QQURESU5HLgorCQkJICovCisJCQlNZW1TZXQoYXJn dlthcmdjIC0gMV0sIFBTX1BBRERJTkcsIFBTX0JVRkZFUl9NSU5fU0laRSAtIDEpOworCQkJ c2F2ZV9hcmdjID0gLS1hcmdjOwogCQl9Ci0JCW5ld19lbnZpcm9uW2ldID0gTlVMTDsKLQkJ ZW52aXJvbiA9IG5ld19lbnZpcm9uOwogCX0KIAogCS8qCkBAIC0yNTgsNyArMjQyLDcgQEAg c2F2ZV9wc19kaXNwbGF5X2FyZ3MoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCX0KICNlbmRp ZgkJCQkJCQkvKiBQU19VU0VfQ0xPQkJFUl9BUkdWICovCiAKLQlyZXR1cm4gYXJndjsKKwly ZXR1cm4gYXJnYzsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL3Bz X3N0YXR1cy5oIGIvc3JjL2luY2x1ZGUvdXRpbHMvcHNfc3RhdHVzLmgKaW5kZXggZmY1YTJi MmI4YTIuLjdjZDJjY2U4ZjJjIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS91dGlscy9wc19z dGF0dXMuaAorKysgYi9zcmMvaW5jbHVkZS91dGlscy9wc19zdGF0dXMuaApAQCAtMjEsNyAr MjEsNyBAQAogCiBleHRlcm4gUEdETExJTVBPUlQgYm9vbCB1cGRhdGVfcHJvY2Vzc190aXRs ZTsKIAotZXh0ZXJuIGNoYXIgKipzYXZlX3BzX2Rpc3BsYXlfYXJncyhpbnQgYXJnYywgY2hh ciAqKmFyZ3YpOworZXh0ZXJuIGludAlzYXZlX3BzX2Rpc3BsYXlfYXJncyhpbnQgYXJnYywg Y2hhciAqKmFyZ3YpOwogCiBleHRlcm4gdm9pZCBpbml0X3BzX2Rpc3BsYXkoY29uc3QgY2hh ciAqZml4ZWRfcGFydCk7CiAKLS0gCjIuNDQuMAoK --------------fdupEiZzFiH0fvcnu4gZWymp Content-Type: text/x-patch; charset=UTF-8; name="0004-Update-ps-status-on-all-systems-by-default.patch" Content-Disposition: attachment; filename="0004-Update-ps-status-on-all-systems-by-default.patch" Content-Transfer-Encoding: base64 RnJvbSA3OGQwYWViY2UzZmEyNzIyZDFiNmVlZjBjOTM3MjUxZThiNTAwNWNhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBXb2xmZ2FuZyBXYWx0aGVyIDx3YWx0aGVyQHRlY2hu b3dsZWRneS5kZT4KRGF0ZTogTW9uLCAyNSBNYXIgMjAyNCAyMjoxODoxMSArMDEwMApTdWJq ZWN0OiBbUEFUQ0ggNC81XSBVcGRhdGUgcHMgc3RhdHVzIG9uIGFsbCBzeXN0ZW1zIGJ5IGRl ZmF1bHQKCldpdGggdGhlIG5ldyBhcHByb2FjaCwgUFNfVVNFX0NMT0JCRVJfQVJHViBkb2Vz IG5vdCBvdmVyd3JpdGUgYW55CmVudmlyb25tZW50IHZhcmlhYmxlcyBhbnltb3JlIGFuZCBj YW4gYmUgbWFkZSB0aGUgZGVmYXVsdC4KCkZvciB0aGUgdW5saWtlbHkgZXZlbnQgdGhhdCBh IHN5c3RlbSBjb3VsZCBoYXZlIHByb2JsZW1zIG90aGVyIHRoYW4KdGhlIHBzIHN0YXR1cyBu b3Qgd29ya2luZyB3aXRoIHRoaXMsIFBTX1VTRV9OT05FIGlzIGtlcHQgZm9yIHRoZQptb21l bnQuIFRoaXMgY2FuIHN0aWxsIGJlIGV4cGxpY2l0bHkgZW5hYmxlZCB2aWEgQ1BQRkxBR1Mu Ci0tLQogc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wc19zdGF0dXMuYyB8IDEyICsrKysrLS0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9taXNjL3BzX3N0YXR1cy5jIGIvc3Jj L2JhY2tlbmQvdXRpbHMvbWlzYy9wc19zdGF0dXMuYwppbmRleCBjMTE2MWU4NTUwNy4uZDFk ZjFiMzllZTAgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcHNfc3RhdHVz LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wc19zdGF0dXMuYwpAQCAtMzUsMTQg KzM1LDE0IEBAIGJvb2wJCXVwZGF0ZV9wcm9jZXNzX3RpdGxlID0gREVGQVVMVF9VUERBVEVf UFJPQ0VTU19USVRMRTsKICAqIFBTX1VTRV9TRVRQUk9DVElUTEUKICAqCSAgIHVzZSB0aGUg ZnVuY3Rpb24gc2V0cHJvY3RpdGxlKGNvbnN0IGNoYXIgKiwgLi4uKQogICoJICAgKG90aGVy IEJTRHMpCi0gKiBQU19VU0VfQ0xPQkJFUl9BUkdWCi0gKgkgICB3cml0ZSBvdmVyIHRoZSBh cmd2IGFyZWEKLSAqCSAgIChMaW51eCBhbmQgbW9zdCBTeXNWLWxpa2Ugc3lzdGVtcykKICAq IFBTX1VTRV9XSU4zMgogICoJICAgcHVzaCB0aGUgc3RyaW5nIG91dCBhcyB0aGUgbmFtZSBv ZiBhIFdpbmRvd3MgZXZlbnQKKyAqIFBTX1VTRV9DTE9CQkVSX0FSR1YKKyAqCSAgIHdyaXRl IG92ZXIgdGhlIGFyZ3YgYXJlYQorICoJICAgKFRoaXMgaXMgdGhlIGRlZmF1bHQpCiAgKiBQ U19VU0VfTk9ORQogICoJICAgZG9uJ3QgdXBkYXRlIHBzIGRpc3BsYXkKLSAqCSAgIChUaGlz IGlzIHRoZSBkZWZhdWx0LCBhcyBpdCBpcyBzYWZlc3QuKQorICoJICAgKFRoaXMgY2FuIGJl IGVuYWJsZWQgbWFudWFsbHkgd2l0aCBDUFBGTEFHUz0tRFBTX1VTRV9OT05FLikKICAqLwog I2lmbmRlZiBQU19VU0VfTk9ORQogCkBAIC01MCwxMiArNTAsMTAgQEAgYm9vbAkJdXBkYXRl X3Byb2Nlc3NfdGl0bGUgPSBERUZBVUxUX1VQREFURV9QUk9DRVNTX1RJVExFOwogI2RlZmlu ZSBQU19VU0VfU0VUUFJPQ1RJVExFX0ZBU1QKICNlbGlmIGRlZmluZWQoSEFWRV9TRVRQUk9D VElUTEUpCiAjZGVmaW5lIFBTX1VTRV9TRVRQUk9DVElUTEUKLSNlbGlmIGRlZmluZWQoX19s aW51eF9fKSB8fCBkZWZpbmVkKF9fc3VuKSB8fCBkZWZpbmVkKF9fZGFyd2luX18pCi0jZGVm aW5lIFBTX1VTRV9DTE9CQkVSX0FSR1YKICNlbGlmIGRlZmluZWQoV0lOMzIpCiAjZGVmaW5l IFBTX1VTRV9XSU4zMgogI2Vsc2UKLSNkZWZpbmUgUFNfVVNFX05PTkUKKyNkZWZpbmUgUFNf VVNFX0NMT0JCRVJfQVJHVgogI2VuZGlmCiAKICNlbmRpZgkJCQkJCQkvKiBub3QgUFNfVVNF X05PTkUgKi8KLS0gCjIuNDQuMAoK --------------fdupEiZzFiH0fvcnu4gZWymp Content-Type: text/x-patch; charset=UTF-8; name="0005-Remove-obsolete-way-of-disabling-ps-status.patch" Content-Disposition: attachment; filename="0005-Remove-obsolete-way-of-disabling-ps-status.patch" Content-Transfer-Encoding: base64 RnJvbSA1N2JlMDA3YTMyZTA5NjNkYjAwM2E1YWM5Y2EzY2ZiYzBkZWVmOTc0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBXb2xmZ2FuZyBXYWx0aGVyIDx3YWx0aGVyQHRlY2hu b3dsZWRneS5kZT4KRGF0ZTogTW9uLCAyNSBNYXIgMjAyNCAyMjoyMToxMCArMDEwMApTdWJq ZWN0OiBbUEFUQ0ggNS81XSBSZW1vdmUgb2Jzb2xldGUgd2F5IG9mIGRpc2FibGluZyBwcyBz dGF0dXMKClRoaXMgY2FuIGJlIGNvbW1pdHRlZCBvbmNlIGl0J3MgY2xlYXIgdGhhdCBub2Jv ZHkgYWN0dWFsbHkgbmVlZHMgaXQuCi0tLQogc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wc19z dGF0dXMuYyB8IDMwIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDMwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxz L21pc2MvcHNfc3RhdHVzLmMgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL3BzX3N0YXR1cy5j CmluZGV4IGQxZGYxYjM5ZWUwLi41ZDYxMjU5Y2MyMiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvdXRpbHMvbWlzYy9wc19zdGF0dXMuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9taXNj L3BzX3N0YXR1cy5jCkBAIC00MCwxMiArNDAsNyBAQCBib29sCQl1cGRhdGVfcHJvY2Vzc190 aXRsZSA9IERFRkFVTFRfVVBEQVRFX1BST0NFU1NfVElUTEU7CiAgKiBQU19VU0VfQ0xPQkJF Ul9BUkdWCiAgKgkgICB3cml0ZSBvdmVyIHRoZSBhcmd2IGFyZWEKICAqCSAgIChUaGlzIGlz IHRoZSBkZWZhdWx0KQotICogUFNfVVNFX05PTkUKLSAqCSAgIGRvbid0IHVwZGF0ZSBwcyBk aXNwbGF5Ci0gKgkgICAoVGhpcyBjYW4gYmUgZW5hYmxlZCBtYW51YWxseSB3aXRoIENQUEZM QUdTPS1EUFNfVVNFX05PTkUuKQogICovCi0jaWZuZGVmIFBTX1VTRV9OT05FCi0KICNpZiBk ZWZpbmVkKEhBVkVfU0VUUFJPQ1RJVExFX0ZBU1QpCiAjZGVmaW5lIFBTX1VTRV9TRVRQUk9D VElUTEVfRkFTVAogI2VsaWYgZGVmaW5lZChIQVZFX1NFVFBST0NUSVRMRSkKQEAgLTU2LDgg KzUxLDYgQEAgYm9vbAkJdXBkYXRlX3Byb2Nlc3NfdGl0bGUgPSBERUZBVUxUX1VQREFURV9Q Uk9DRVNTX1RJVExFOwogI2RlZmluZSBQU19VU0VfQ0xPQkJFUl9BUkdWCiAjZW5kaWYKIAot I2VuZGlmCQkJCQkJCS8qIG5vdCBQU19VU0VfTk9ORSAqLwotCiAvKiBEaWZmZXJlbnQgc3lz dGVtcyB3YW50IHRoZSBidWZmZXIgcGFkZGVkIGRpZmZlcmVudGx5ICovCiAjaWYgZGVmaW5l ZChfX2xpbnV4X18pIHx8IGRlZmluZWQoX19kYXJ3aW5fXykKICNkZWZpbmUgUFNfUEFERElO RyAnXDAnCkBAIC02Niw4ICs1OSw2IEBAIGJvb2wJCXVwZGF0ZV9wcm9jZXNzX3RpdGxlID0g REVGQVVMVF9VUERBVEVfUFJPQ0VTU19USVRMRTsKICNlbmRpZgogCiAKLSNpZm5kZWYgUFNf VVNFX05PTkUKLQogI2lmbmRlZiBQU19VU0VfQ0xPQkJFUl9BUkdWCiAvKiBhbGwgYnV0IG9u ZSBvcHRpb24gbmVlZCBhIGJ1ZmZlciB0byB3cml0ZSB0aGVpciBwcyBsaW5lIGluICovCiAj ZGVmaW5lIFBTX0JVRkZFUl9TSVpFIDI1NgpAQCAtOTIsOCArODMsNiBAQCBzdGF0aWMgc2l6 ZV90IHBzX2J1ZmZlcl9ub3N1ZmZpeF9sZW47CiAKIHN0YXRpYyB2b2lkIGZsdXNoX3BzX2Rp c3BsYXkodm9pZCk7CiAKLSNlbmRpZgkJCQkJCQkvKiBub3QgUFNfVVNFX05PTkUgKi8KLQog Lyogc2F2ZSB0aGUgb3JpZ2luYWwgYXJndltdIGxvY2F0aW9uIGhlcmUgKi8KIHN0YXRpYyBp bnQJc2F2ZV9hcmdjOwogc3RhdGljIGNoYXIgKipzYXZlX2FyZ3Y7CkBAIC0yNTQsMTUgKzI0 MywxMiBAQCBzYXZlX3BzX2Rpc3BsYXlfYXJncyhpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiB2 b2lkCiBpbml0X3BzX2Rpc3BsYXkoY29uc3QgY2hhciAqZml4ZWRfcGFydCkKIHsKLSNpZm5k ZWYgUFNfVVNFX05PTkUKIAlib29sCQlzYXZlX3VwZGF0ZV9wcm9jZXNzX3RpdGxlOwotI2Vu ZGlmCiAKIAlBc3NlcnQoZml4ZWRfcGFydCB8fCBNeUJhY2tlbmRUeXBlKTsKIAlpZiAoIWZp eGVkX3BhcnQpCiAJCWZpeGVkX3BhcnQgPSBHZXRCYWNrZW5kVHlwZURlc2MoTXlCYWNrZW5k VHlwZSk7CiAKLSNpZm5kZWYgUFNfVVNFX05PTkUKIAkvKiBubyBwcyBkaXNwbGF5IGZvciBz dGFuZC1hbG9uZSBiYWNrZW5kICovCiAJaWYgKCFJc1VuZGVyUG9zdG1hc3RlcikKIAkJcmV0 dXJuOwpAQCAtMzE4LDEwICszMDQsOCBAQCBpbml0X3BzX2Rpc3BsYXkoY29uc3QgY2hhciAq Zml4ZWRfcGFydCkKIAl1cGRhdGVfcHJvY2Vzc190aXRsZSA9IHRydWU7CiAJc2V0X3BzX2Rp c3BsYXkoIiIpOwogCXVwZGF0ZV9wcm9jZXNzX3RpdGxlID0gc2F2ZV91cGRhdGVfcHJvY2Vz c190aXRsZTsKLSNlbmRpZgkJCQkJCQkvKiBub3QgUFNfVVNFX05PTkUgKi8KIH0KIAotI2lm bmRlZiBQU19VU0VfTk9ORQogLyoKICAqIHVwZGF0ZV9wc19kaXNwbGF5X3ByZWNoZWNrCiAg KgkJSGVscGVyIGZ1bmN0aW9uIHRvIGRldGVybWluZSBpZiB1cGRhdGluZyB0aGUgcHJvY2Vz cyB0aXRsZSBpcwpAQCAtMzQ2LDcgKzMzMCw2IEBAIHVwZGF0ZV9wc19kaXNwbGF5X3ByZWNo ZWNrKHZvaWQpCiAKIAlyZXR1cm4gdHJ1ZTsKIH0KLSNlbmRpZgkJCQkJCQkvKiBub3QgUFNf VVNFX05PTkUgKi8KIAogLyoKICAqIHNldF9wc19kaXNwbGF5X3N1ZmZpeApAQCAtMzU2LDcg KzMzOSw2IEBAIHVwZGF0ZV9wc19kaXNwbGF5X3ByZWNoZWNrKHZvaWQpCiB2b2lkCiBzZXRf cHNfZGlzcGxheV9zdWZmaXgoY29uc3QgY2hhciAqc3VmZml4KQogewotI2lmbmRlZiBQU19V U0VfTk9ORQogCXNpemVfdAkJbGVuOwogCiAJLyogZmlyc3QsIGNoZWNrIGlmIHdlIG5lZWQg dG8gdXBkYXRlIHRoZSBwcm9jZXNzIHRpdGxlICovCkBAIC0zOTgsNyArMzgwLDYgQEAgc2V0 X3BzX2Rpc3BsYXlfc3VmZml4KGNvbnN0IGNoYXIgKnN1ZmZpeCkKIAogCS8qIGFuZCBzZXQg dGhlIG5ldyB0aXRsZSAqLwogCWZsdXNoX3BzX2Rpc3BsYXkoKTsKLSNlbmRpZgkJCQkJCQkv KiBub3QgUFNfVVNFX05PTkUgKi8KIH0KIAogLyoKQEAgLTQwOCw3ICszODksNiBAQCBzZXRf cHNfZGlzcGxheV9zdWZmaXgoY29uc3QgY2hhciAqc3VmZml4KQogdm9pZAogc2V0X3BzX2Rp c3BsYXlfcmVtb3ZlX3N1ZmZpeCh2b2lkKQogewotI2lmbmRlZiBQU19VU0VfTk9ORQogCS8q IGZpcnN0LCBjaGVjayBpZiB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgcHJvY2VzcyB0aXRsZSAq LwogCWlmICghdXBkYXRlX3BzX2Rpc3BsYXlfcHJlY2hlY2soKSkKIAkJcmV0dXJuOwpAQCAt NDI2LDcgKzQwNiw2IEBAIHNldF9wc19kaXNwbGF5X3JlbW92ZV9zdWZmaXgodm9pZCkKIAog CS8qIGFuZCBzZXQgdGhlIG5ldyB0aXRsZSAqLwogCWZsdXNoX3BzX2Rpc3BsYXkoKTsKLSNl bmRpZgkJCQkJCQkvKiBub3QgUFNfVVNFX05PTkUgKi8KIH0KIAogLyoKQEAgLTQ0MCw3ICs0 MTksNiBAQCBzZXRfcHNfZGlzcGxheV93aXRoX2xlbihjb25zdCBjaGFyICphY3Rpdml0eSwg c2l6ZV90IGxlbikKIHsKIAlBc3NlcnQoc3RybGVuKGFjdGl2aXR5KSA9PSBsZW4pOwogCi0j aWZuZGVmIFBTX1VTRV9OT05FCiAJLyogZmlyc3QsIGNoZWNrIGlmIHdlIG5lZWQgdG8gdXBk YXRlIHRoZSBwcm9jZXNzIHRpdGxlICovCiAJaWYgKCF1cGRhdGVfcHNfZGlzcGxheV9wcmVj aGVjaygpKQogCQlyZXR1cm47CkBAIC00NjYsMTAgKzQ0NCw4IEBAIHNldF9wc19kaXNwbGF5 X3dpdGhfbGVuKGNvbnN0IGNoYXIgKmFjdGl2aXR5LCBzaXplX3QgbGVuKQogCiAJLyogVHJh bnNtaXQgbmV3IHNldHRpbmcgdG8ga2VybmVsLCBpZiBuZWNlc3NhcnkgKi8KIAlmbHVzaF9w c19kaXNwbGF5KCk7Ci0jZW5kaWYJCQkJCQkJLyogbm90IFBTX1VTRV9OT05FICovCiB9CiAK LSNpZm5kZWYgUFNfVVNFX05PTkUKIHN0YXRpYyB2b2lkCiBmbHVzaF9wc19kaXNwbGF5KHZv aWQpCiB7CkBAIC01MDYsNyArNDgyLDYgQEAgZmx1c2hfcHNfZGlzcGxheSh2b2lkKQogCX0K ICNlbmRpZgkJCQkJCQkvKiBQU19VU0VfV0lOMzIgKi8KIH0KLSNlbmRpZgkJCQkJCQkvKiBu b3QgUFNfVVNFX05PTkUgKi8KIAogLyoKICAqIFJldHVybnMgd2hhdCdzIGN1cnJlbnRseSBp biB0aGUgcHMgZGlzcGxheSwgaW4gY2FzZSBzb21lb25lIG5lZWRzCkBAIC01MjYsMTIgKzUw MSw3IEBAIGdldF9wc19kaXNwbGF5KGludCAqZGlzcGxlbikKIAl9CiAjZW5kaWYKIAotI2lm bmRlZiBQU19VU0VfTk9ORQogCSpkaXNwbGVuID0gKGludCkgKHBzX2J1ZmZlcl9jdXJfbGVu IC0gcHNfYnVmZmVyX2ZpeGVkX3NpemUpOwogCiAJcmV0dXJuIHBzX2J1ZmZlciArIHBzX2J1 ZmZlcl9maXhlZF9zaXplOwotI2Vsc2UKLQkqZGlzcGxlbiA9IDA7Ci0JcmV0dXJuICIiOwot I2VuZGlmCiB9Ci0tIAoyLjQ0LjAKCg== --------------fdupEiZzFiH0fvcnu4gZWymp--