Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k980h-0000M0-4f for pgsql-hackers@arkaria.postgresql.org; Fri, 21 Aug 2020 14:27:15 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1k980g-0000RX-4S for pgsql-hackers@arkaria.postgresql.org; Fri, 21 Aug 2020 14:27:14 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k980f-0000RP-LR for pgsql-hackers@lists.postgresql.org; Fri, 21 Aug 2020 14:27:13 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k980c-000641-45 for pgsql-hackers@postgresql.org; Fri, 21 Aug 2020 14:27:12 +0000 Received: from oss.nttdata.com (localhost [127.0.0.1]) by oss.nttdata.com (Postfix) with ESMTP id 2F7F9604E0; Fri, 21 Aug 2020 23:27:06 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.102.3 at oss.nttdata.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_dcbd8645e132a78f85dc8bbb59922f06" Date: Fri, 21 Aug 2020 23:27:06 +0900 From: torikoshia To: Kasahara Tatsuhito Cc: Fujii Masao , Andres Freund , Tom Lane , Michael Paquier , PostgreSQL-development , Robert Haas Subject: Re: Creating a function for exposing memory usage of backend process In-Reply-To: References: <34517933-7e90-f644-f606-86d7132b240b@oss.nttdata.com> <0b339b06646e2c56a3aa081699322346@oss.nttdata.com> <261eebda3e1909475162b968e5a4ad2b@oss.nttdata.com> <66ae5b88-208d-96fa-c20a-fb539b597859@oss.nttdata.com> <20200819135545.GC19121@paquier.xyz> <1414992.1597849297@sss.pgh.pa.us> <20200819225343.c7rxteydi35nhrdp@alap3.anarazel.de> <1554676.1597886946@sss.pgh.pa.us> <20200820014301.5pr7qjugnvpovu62@alap3.anarazel.de> Message-ID: X-Sender: torikoshia@oss.nttdata.com User-Agent: Roundcube Webmail/1.1.9 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --=_dcbd8645e132a78f85dc8bbb59922f06 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed Thanks for all your comments! Thankfully it seems that this feature is regarded as not meaningless one, I'm going to do some improvements. On Wed, Aug 19, 2020 at 10:56 PM Michael Paquier wrote: > On Wed, Aug 19, 2020 at 06:12:02PM +0900, Fujii Masao wrote: >> On 2020/08/19 17:40, torikoshia wrote: >>> Yes, I didn't add regression tests because of the unstability of the >>> output. >>> I thought it would be OK since other views like pg_stat_slru and >>> pg_shmem_allocations >>> didn't have tests for their outputs. >> >> You're right. > > If you can make a test with something minimal and with a stable > output, adding a test is helpful IMO, or how can you make easily sure > that this does not get broken, particularly in the event of future > refactorings, or even with platform-dependent behaviors? OK. Added a regression test on sysviews.sql. (0001-Added-a-regression-test-for-pg_backend_memory_contex.patch) Fujii-san gave us an example, but I added more simple one considering the simplicity of other tests on that. On Thu, Aug 20, 2020 at 12:02 AM Tom Lane wrote: > Michael Paquier writes: > > By the way, I was looking at the code that has been committed, and I > > think that it is awkward to have a SQL function in mcxt.c, which is a > > rather low-level interface. I think that this new code should be > > moved to its own file, one suggestion for a location I have being > > src/backend/utils/adt/mcxtfuncs.c. > > I agree with that, Thanks for pointing out. Added a patch for relocating the codes to mcxtfuncs.c. (patches/0001-Rellocated-the-codes-for-pg_backend_memory_contexts-.patch) > On Thu, Aug 20, 2020 at 11:09 AM Fujii Masao > wrote: > On 2020/08/20 0:01, Tom Lane wrote: >> Given the lack of clear use-case, and the possibility (admittedly >> not strong) that this is still somehow a security hazard, I think >> we should revert it. If it stays, I'd like to see restrictions >> on who can read the view. > For example, allowing only the role with pg_monitor to see this view? Attached a patch adding that restriction. (0001-Restrict-the-access-to-pg_backend_memory_contexts-to.patch) Of course, this restriction makes pg_backend_memory_contexts hard to use when the user of the target session is not granted pg_monitor because the scope of this view is session local. In this case, I imagine additional operations something like temporarily granting pg_monitor to that user. Thoughts? Regards, -- Atsushi Torikoshi NTT DATA CORPORATION --=_dcbd8645e132a78f85dc8bbb59922f06 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=0001-Added-a-regression-test-for-pg_backend_memory_contex.patch Content-Disposition: attachment; filename=0001-Added-a-regression-test-for-pg_backend_memory_contex.patch; size=1499 RnJvbSAyM2ZlNTQxZDViZDNjZWFkNzg3YmI3YzYzOGYwMDg2YjljMmUxM2ViIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBdHN1c2hpIFRvcmlrb3NoaSA8dG9yaWtvc2hpYUBvc3MubnR0 ZGF0YS5jb20+CkRhdGU6IEZyaSwgMjEgQXVnIDIwMjAgMjE6MjI6MTAgKzA5MDAKU3ViamVjdDog W1BBVENIXSBBZGRlZCBhIHJlZ3Jlc3Npb24gdGVzdCBmb3IgcGdfYmFja2VuZF9tZW1vcnlfY29u dGV4dHMuCgotLS0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3lzdmlld3Mub3V0IHwgNyAr KysrKysrCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9zeXN2aWV3cy5zcWwgICAgICB8IDMgKysrCiAy IGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3N5c3ZpZXdzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv c3lzdmlld3Mub3V0CmluZGV4IDA2YzRjM2U0NzYuLjA2ZTA5ZmQxMGIgMTAwNjQ0Ci0tLSBhL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3lzdmlld3Mub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvc3lzdmlld3Mub3V0CkBAIC0xOSw2ICsxOSwxMyBAQCBzZWxlY3QgY291bnQo KikgPj0gMCBhcyBvayBmcm9tIHBnX2F2YWlsYWJsZV9leHRlbnNpb25zOwogIHQKICgxIHJvdykK IAorLS0gVGhlcmUgd2lsbCBzdXJlbHkgYmUgYXQgbGVhc3Qgb25lIGNvbnRleHQuCitzZWxlY3Qg Y291bnQoKikgPiAwIGFzIG9rIGZyb20gcGdfYmFja2VuZF9tZW1vcnlfY29udGV4dHM7Cisgb2sg CistLS0tCisgdAorKDEgcm93KQorCiAtLSBBdCBpbnRyb2R1Y3Rpb24sIHBnX2NvbmZpZyBoYWQg MjMgZW50cmllczsgaXQgbWF5IGdyb3cKIHNlbGVjdCBjb3VudCgqKSA+IDIwIGFzIG9rIGZyb20g cGdfY29uZmlnOwogIG9rIApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3lzdmll d3Muc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3lzdmlld3Muc3FsCmluZGV4IDI4ZTQxMmI3 MzUuLjJjM2I4OGM4NTUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N5c3ZpZXdz LnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zeXN2aWV3cy5zcWwKQEAgLTEyLDYgKzEy LDkgQEAgc2VsZWN0IGNvdW50KCopID49IDAgYXMgb2sgZnJvbSBwZ19hdmFpbGFibGVfZXh0ZW5z aW9uX3ZlcnNpb25zOwogCiBzZWxlY3QgY291bnQoKikgPj0gMCBhcyBvayBmcm9tIHBnX2F2YWls YWJsZV9leHRlbnNpb25zOwogCistLSBUaGVyZSB3aWxsIHN1cmVseSBiZSBhdCBsZWFzdCBvbmUg Y29udGV4dC4KK3NlbGVjdCBjb3VudCgqKSA+IDAgYXMgb2sgZnJvbSBwZ19iYWNrZW5kX21lbW9y eV9jb250ZXh0czsKKwogLS0gQXQgaW50cm9kdWN0aW9uLCBwZ19jb25maWcgaGFkIDIzIGVudHJp ZXM7IGl0IG1heSBncm93CiBzZWxlY3QgY291bnQoKikgPiAyMCBhcyBvayBmcm9tIHBnX2NvbmZp ZzsKIAotLSAKMi4xOC4xCgo= --=_dcbd8645e132a78f85dc8bbb59922f06 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=0001-Rellocated-the-codes-for-pg_backend_memory_contexts-.patch Content-Disposition: attachment; filename=0001-Rellocated-the-codes-for-pg_backend_memory_contexts-.patch; size=10334 RnJvbSA0ZWVlNzM5MzM4NzRmYmFiOTE2NDNlNzQ2MTcxN2JhOTAzOGQ4ZDc2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBdHN1c2hpIFRvcmlrb3NoaSA8dG9yaWtvc2hpYUBvc3MubnR0 ZGF0YS5jb20+CkRhdGU6IEZyaSwgMjEgQXVnIDIwMjAgMTk6MDE6MzggKzA5MDAKU3ViamVjdDog W1BBVENIXSBSZWxsb2NhdGVkIHRoZSBjb2RlcyBmb3IgcGdfYmFja2VuZF9tZW1vcnlfY29udGV4 dHMgaW4gbWN4dC5jCiB0byBzcmMvYmFja2VuZC91dGlscy9hZHQvbWN4dGZ1bmNzLmMgYXMgdGhl eSBhcmUgbG93IGxvdy1sZXZlbCBpbnRlcmZhY2UuCgotLS0KIHNyYy9iYWNrZW5kL3V0aWxzL2Fk dC9NYWtlZmlsZSAgICB8ICAgMSArCiBzcmMvYmFja2VuZC91dGlscy9hZHQvbWN4dGZ1bmNzLmMg fCAxNTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBzcmMvYmFja2VuZC91dGlscy9t bWdyL21jeHQuYyAgICAgfCAxMzcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDMgZmlsZXMg Y2hhbmdlZCwgMTU4IGluc2VydGlvbnMoKyksIDEzNyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmMvYmFja2VuZC91dGlscy9hZHQvbWN4dGZ1bmNzLmMKCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC91dGlscy9hZHQvTWFrZWZpbGUgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvTWFr ZWZpbGUKaW5kZXggNWQyYWNhOGNmZS4uNTRkNWMzNzk0NyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L01ha2VmaWxlCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9NYWtlZmls ZQpAQCAtNTcsNiArNTcsNyBAQCBPQkpTID0gXAogCWxvY2tmdW5jcy5vIFwKIAltYWMubyBcCiAJ bWFjOC5vIFwKKwltY3h0ZnVuY3MubyBcCiAJbWlzYy5vIFwKIAluYW1lLm8gXAogCW5ldHdvcmsu byBcCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvbWN4dGZ1bmNzLmMgYi9zcmMv YmFja2VuZC91dGlscy9hZHQvbWN4dGZ1bmNzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMC4uNTBlMWIwN2ZmMAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9iYWNrZW5kL3V0 aWxzL2FkdC9tY3h0ZnVuY3MuYwpAQCAtMCwwICsxLDE1NyBAQAorLyotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisgKgorICogbWN4dGZ1bmNzLmMKKyAqCSAgRnVuY3Rpb25zIHRvIHNob3cgYmFja2VuZCBtZW1v cnkgY29udGV4dC4KKyAqCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTYtMjAyMCwgUG9z dGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQgR3JvdXAKKyAqIFBvcnRpb25zIENvcHlyaWdodCAo YykgMTk5NCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCisgKgorICoK KyAqIElERU5USUZJQ0FUSU9OCisgKgkgIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9tY3h0ZnVuY3Mu YworICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKKyNpbmNsdWRlICJwb3N0Z3Jlcy5oIgor CisjaW5jbHVkZSAiZnVuY2FwaS5oIgorI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgorI2luY2x1ZGUg Im1iL3BnX3djaGFyLmgiCisjaW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCIKKworLyogLS0tLS0t LS0tLQorICogVGhlIG1heCBieXRlcyBmb3Igc2hvd2luZyBpZGVudGlmaWVycyBvZiBNZW1vcnlD b250ZXh0LgorICogLS0tLS0tLS0tLQorICovCisjZGVmaW5lIE1FTU9SWV9DT05URVhUX0lERU5U X0RJU1BMQVlfU0laRQkxMDI0CisKKy8qCisgKiBQdXRNZW1vcnlDb250ZXh0c1N0YXRzVHVwbGVT dG9yZQorICoJCU9uZSByZWN1cnNpb24gbGV2ZWwgZm9yIHBnX2dldF9iYWNrZW5kX21lbW9yeV9j b250ZXh0cy4KKyAqLworc3RhdGljIHZvaWQKK1B1dE1lbW9yeUNvbnRleHRzU3RhdHNUdXBsZVN0 b3JlKFR1cGxlc3RvcmVzdGF0ZSAqdHVwc3RvcmUsCisJCQkJCQkJCVR1cGxlRGVzYyB0dXBkZXNj LCBNZW1vcnlDb250ZXh0IGNvbnRleHQsCisJCQkJCQkJCWNvbnN0IGNoYXIgKnBhcmVudCwgaW50 IGxldmVsKQoreworI2RlZmluZSBQR19HRVRfQkFDS0VORF9NRU1PUllfQ09OVEVYVFNfQ09MUwk5 CisKKwlEYXR1bQkJdmFsdWVzW1BHX0dFVF9CQUNLRU5EX01FTU9SWV9DT05URVhUU19DT0xTXTsK Kwlib29sCQludWxsc1tQR19HRVRfQkFDS0VORF9NRU1PUllfQ09OVEVYVFNfQ09MU107CisJTWVt b3J5Q29udGV4dENvdW50ZXJzIHN0YXQ7CisJTWVtb3J5Q29udGV4dCBjaGlsZDsKKwljb25zdCBj aGFyICpuYW1lOworCWNvbnN0IGNoYXIgKmlkZW50OworCisJQXNzZXJ0QXJnKE1lbW9yeUNvbnRl eHRJc1ZhbGlkKGNvbnRleHQpKTsKKworCW5hbWUgPSBjb250ZXh0LT5uYW1lOworCWlkZW50ID0g Y29udGV4dC0+aWRlbnQ7CisKKwkvKgorCSAqIFRvIGJlIGNvbnNpc3RlbnQgd2l0aCBsb2dnaW5n IG91dHB1dCwgd2UgbGFiZWwgZHluYWhhc2ggY29udGV4dHMKKwkgKiB3aXRoIGp1c3QgdGhlIGhh c2ggdGFibGUgbmFtZSBhcyB3aXRoIE1lbW9yeUNvbnRleHRTdGF0c1ByaW50KCkuCisJICovCisJ aWYgKGlkZW50ICYmIHN0cmNtcChuYW1lLCAiZHluYWhhc2giKSA9PSAwKQorCXsKKwkJbmFtZSA9 IGlkZW50OworCQlpZGVudCA9IE5VTEw7CisJfQorCisJLyogRXhhbWluZSB0aGUgY29udGV4dCBp dHNlbGYgKi8KKwltZW1zZXQoJnN0YXQsIDAsIHNpemVvZihzdGF0KSk7CisJKCpjb250ZXh0LT5t ZXRob2RzLT5zdGF0cykgKGNvbnRleHQsIE5VTEwsICh2b2lkICopICZsZXZlbCwgJnN0YXQpOwor CisJbWVtc2V0KHZhbHVlcywgMCwgc2l6ZW9mKHZhbHVlcykpOworCW1lbXNldChudWxscywgMCwg c2l6ZW9mKG51bGxzKSk7CisKKwlpZiAobmFtZSkKKwkJdmFsdWVzWzBdID0gQ1N0cmluZ0dldFRl eHREYXR1bShuYW1lKTsKKwllbHNlCisJCW51bGxzWzBdID0gdHJ1ZTsKKworCWlmIChpZGVudCkK Kwl7CisJCWludAkJaWRsZW4gPSBzdHJsZW4oaWRlbnQpOworCQljaGFyCQljbGlwcGVkX2lkZW50 W01FTU9SWV9DT05URVhUX0lERU5UX0RJU1BMQVlfU0laRV07CisKKwkJLyoKKwkJICogU29tZSBp ZGVudGlmaWVycyBzdWNoIGFzIFNRTCBxdWVyeSBzdHJpbmcgY2FuIGJlIHZlcnkgbG9uZywKKwkJ ICogdHJ1bmNhdGUgb3ZlcnNpemUgaWRlbnRpZmllcnMuCisJCSAqLworCQlpZiAoaWRsZW4gPj0g TUVNT1JZX0NPTlRFWFRfSURFTlRfRElTUExBWV9TSVpFKQorCQkJaWRsZW4gPSBwZ19tYmNsaXBs ZW4oaWRlbnQsIGlkbGVuLCBNRU1PUllfQ09OVEVYVF9JREVOVF9ESVNQTEFZX1NJWkUgLSAxKTsK KworCQltZW1jcHkoY2xpcHBlZF9pZGVudCwgaWRlbnQsIGlkbGVuKTsKKwkJY2xpcHBlZF9pZGVu dFtpZGxlbl0gPSAnXDAnOworCQl2YWx1ZXNbMV0gPSBDU3RyaW5nR2V0VGV4dERhdHVtKGNsaXBw ZWRfaWRlbnQpOworCX0KKwllbHNlCisJCW51bGxzWzFdID0gdHJ1ZTsKKworCWlmIChwYXJlbnQp CisJCXZhbHVlc1syXSA9IENTdHJpbmdHZXRUZXh0RGF0dW0ocGFyZW50KTsKKwllbHNlCisJCW51 bGxzWzJdID0gdHJ1ZTsKKworCXZhbHVlc1szXSA9IEludDMyR2V0RGF0dW0obGV2ZWwpOworCXZh bHVlc1s0XSA9IEludDY0R2V0RGF0dW0oc3RhdC50b3RhbHNwYWNlKTsKKwl2YWx1ZXNbNV0gPSBJ bnQ2NEdldERhdHVtKHN0YXQubmJsb2Nrcyk7CisJdmFsdWVzWzZdID0gSW50NjRHZXREYXR1bShz dGF0LmZyZWVzcGFjZSk7CisJdmFsdWVzWzddID0gSW50NjRHZXREYXR1bShzdGF0LmZyZWVjaHVu a3MpOworCXZhbHVlc1s4XSA9IEludDY0R2V0RGF0dW0oc3RhdC50b3RhbHNwYWNlIC0gc3RhdC5m cmVlc3BhY2UpOworCXR1cGxlc3RvcmVfcHV0dmFsdWVzKHR1cHN0b3JlLCB0dXBkZXNjLCB2YWx1 ZXMsIG51bGxzKTsKKworCWZvciAoY2hpbGQgPSBjb250ZXh0LT5maXJzdGNoaWxkOyBjaGlsZCAh PSBOVUxMOyBjaGlsZCA9IGNoaWxkLT5uZXh0Y2hpbGQpCisJeworCQlQdXRNZW1vcnlDb250ZXh0 c1N0YXRzVHVwbGVTdG9yZSh0dXBzdG9yZSwgdHVwZGVzYywKKwkJCQkJCQkJICBjaGlsZCwgbmFt ZSwgbGV2ZWwgKyAxKTsKKwl9Cit9CisKKy8qCisgKiBwZ19nZXRfYmFja2VuZF9tZW1vcnlfY29u dGV4dHMKKyAqCQlTUUwgU1JGIHNob3dpbmcgYmFja2VuZCBtZW1vcnkgY29udGV4dC4KKyAqLwor RGF0dW0KK3BnX2dldF9iYWNrZW5kX21lbW9yeV9jb250ZXh0cyhQR19GVU5DVElPTl9BUkdTKQor eworCVJldHVyblNldEluZm8gKnJzaW5mbyA9IChSZXR1cm5TZXRJbmZvICopIGZjaW5mby0+cmVz dWx0aW5mbzsKKwlUdXBsZURlc2MJdHVwZGVzYzsKKwlUdXBsZXN0b3Jlc3RhdGUgKnR1cHN0b3Jl OworCU1lbW9yeUNvbnRleHQgcGVyX3F1ZXJ5X2N0eDsKKwlNZW1vcnlDb250ZXh0IG9sZGNvbnRl eHQ7CisKKwkvKiBjaGVjayB0byBzZWUgaWYgY2FsbGVyIHN1cHBvcnRzIHVzIHJldHVybmluZyBh IHR1cGxlc3RvcmUgKi8KKwlpZiAocnNpbmZvID09IE5VTEwgfHwgIUlzQShyc2luZm8sIFJldHVy blNldEluZm8pKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfRkVBVFVS RV9OT1RfU1VQUE9SVEVEKSwKKwkJCQkgZXJybXNnKCJzZXQtdmFsdWVkIGZ1bmN0aW9uIGNhbGxl ZCBpbiBjb250ZXh0IHRoYXQgY2Fubm90IGFjY2VwdCBhIHNldCIpKSk7CisJaWYgKCEocnNpbmZv LT5hbGxvd2VkTW9kZXMgJiBTRlJNX01hdGVyaWFsaXplKSkKKwkJZXJlcG9ydChFUlJPUiwKKwkJ CQkoZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCisJCQkJIGVycm1zZygi bWF0ZXJpYWxpemUgbW9kZSByZXF1aXJlZCwgYnV0IGl0IGlzIG5vdCBhbGxvd2VkIGluIHRoaXMg Y29udGV4dCIpKSk7CisKKwkvKiBCdWlsZCBhIHR1cGxlIGRlc2NyaXB0b3IgZm9yIG91ciByZXN1 bHQgdHlwZSAqLworCWlmIChnZXRfY2FsbF9yZXN1bHRfdHlwZShmY2luZm8sIE5VTEwsICZ0dXBk ZXNjKSAhPSBUWVBFRlVOQ19DT01QT1NJVEUpCisJCWVsb2coRVJST1IsICJyZXR1cm4gdHlwZSBt dXN0IGJlIGEgcm93IHR5cGUiKTsKKworCXBlcl9xdWVyeV9jdHggPSByc2luZm8tPmVjb250ZXh0 LT5lY3h0X3Blcl9xdWVyeV9tZW1vcnk7CisJb2xkY29udGV4dCA9IE1lbW9yeUNvbnRleHRTd2l0 Y2hUbyhwZXJfcXVlcnlfY3R4KTsKKworCXR1cHN0b3JlID0gdHVwbGVzdG9yZV9iZWdpbl9oZWFw KHRydWUsIGZhbHNlLCB3b3JrX21lbSk7CisJcnNpbmZvLT5yZXR1cm5Nb2RlID0gU0ZSTV9NYXRl cmlhbGl6ZTsKKwlyc2luZm8tPnNldFJlc3VsdCA9IHR1cHN0b3JlOworCXJzaW5mby0+c2V0RGVz YyA9IHR1cGRlc2M7CisKKwlNZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xkY29udGV4dCk7CisKKwlQ dXRNZW1vcnlDb250ZXh0c1N0YXRzVHVwbGVTdG9yZSh0dXBzdG9yZSwgdHVwZGVzYywKKwkJCQkJ CQkJVG9wTWVtb3J5Q29udGV4dCwgTlVMTCwgMCk7CisKKwkvKiBjbGVhbiB1cCBhbmQgcmV0dXJu IHRoZSB0dXBsZXN0b3JlICovCisJdHVwbGVzdG9yZV9kb25lc3RvcmluZyh0dXBzdG9yZSk7CisK KwlyZXR1cm4gKERhdHVtKSAwOworfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvbW1n ci9tY3h0LmMgYi9zcmMvYmFja2VuZC91dGlscy9tbWdyL21jeHQuYwppbmRleCBkOWJiMjQ5OWRi Li44OGM3NmYyOTBjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9tbWdyL21jeHQuYwor KysgYi9zcmMvYmFja2VuZC91dGlscy9tbWdyL21jeHQuYwpAQCAtMjEsMTAgKzIxLDggQEAKIAog I2luY2x1ZGUgInBvc3RncmVzLmgiCiAKLSNpbmNsdWRlICJmdW5jYXBpLmgiCiAjaW5jbHVkZSAi bWIvcGdfd2NoYXIuaCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIKLSNpbmNsdWRlICJ1dGlscy9i dWlsdGlucy5oIgogI2luY2x1ZGUgInV0aWxzL21lbWRlYnVnLmgiCiAjaW5jbHVkZSAidXRpbHMv bWVtdXRpbHMuaCIKIApAQCAtNjksMTEgKzY3LDYgQEAgc3RhdGljIHZvaWQgTWVtb3J5Q29udGV4 dFN0YXRzUHJpbnQoTWVtb3J5Q29udGV4dCBjb250ZXh0LCB2b2lkICpwYXNzdGhydSwKICNkZWZp bmUgQXNzZXJ0Tm90SW5Dcml0aWNhbFNlY3Rpb24oY29udGV4dCkgXAogCUFzc2VydChDcml0U2Vj dGlvbkNvdW50ID09IDAgfHwgKGNvbnRleHQpLT5hbGxvd0luQ3JpdFNlY3Rpb24pCiAKLS8qIC0t LS0tLS0tLS0KLSAqIFRoZSBtYXggYnl0ZXMgZm9yIHNob3dpbmcgaWRlbnRpZmllcnMgb2YgTWVt b3J5Q29udGV4dC4KLSAqIC0tLS0tLS0tLS0KLSAqLwotI2RlZmluZSBNRU1PUllfQ09OVEVYVF9J REVOVF9ESVNQTEFZX1NJWkUJMTAyNAogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqCSAgRVhQ T1JURUQgUk9VVElORVMJCQkJCQkJCQkJCQkJCSAqCkBAIC0xMjI4LDEzMyArMTIyMSwzIEBAIHBj aG9tcChjb25zdCBjaGFyICppbikKIAkJbi0tOwogCXJldHVybiBwbnN0cmR1cChpbiwgbik7CiB9 Ci0KLS8qCi0gKiBQdXRNZW1vcnlDb250ZXh0c1N0YXRzVHVwbGVTdG9yZQotICoJCU9uZSByZWN1 cnNpb24gbGV2ZWwgZm9yIHBnX2dldF9iYWNrZW5kX21lbW9yeV9jb250ZXh0cy4KLSAqLwotc3Rh dGljIHZvaWQKLVB1dE1lbW9yeUNvbnRleHRzU3RhdHNUdXBsZVN0b3JlKFR1cGxlc3RvcmVzdGF0 ZSAqdHVwc3RvcmUsCi0JCQkJCQkJCVR1cGxlRGVzYyB0dXBkZXNjLCBNZW1vcnlDb250ZXh0IGNv bnRleHQsCi0JCQkJCQkJCWNvbnN0IGNoYXIgKnBhcmVudCwgaW50IGxldmVsKQotewotI2RlZmlu ZSBQR19HRVRfQkFDS0VORF9NRU1PUllfQ09OVEVYVFNfQ09MUwk5Ci0KLQlEYXR1bQkJdmFsdWVz W1BHX0dFVF9CQUNLRU5EX01FTU9SWV9DT05URVhUU19DT0xTXTsKLQlib29sCQludWxsc1tQR19H RVRfQkFDS0VORF9NRU1PUllfQ09OVEVYVFNfQ09MU107Ci0JTWVtb3J5Q29udGV4dENvdW50ZXJz IHN0YXQ7Ci0JTWVtb3J5Q29udGV4dCBjaGlsZDsKLQljb25zdCBjaGFyICpuYW1lOwotCWNvbnN0 IGNoYXIgKmlkZW50OwotCi0JQXNzZXJ0QXJnKE1lbW9yeUNvbnRleHRJc1ZhbGlkKGNvbnRleHQp KTsKLQotCW5hbWUgPSBjb250ZXh0LT5uYW1lOwotCWlkZW50ID0gY29udGV4dC0+aWRlbnQ7Ci0K LQkvKgotCSAqIFRvIGJlIGNvbnNpc3RlbnQgd2l0aCBsb2dnaW5nIG91dHB1dCwgd2UgbGFiZWwg ZHluYWhhc2ggY29udGV4dHMKLQkgKiB3aXRoIGp1c3QgdGhlIGhhc2ggdGFibGUgbmFtZSBhcyB3 aXRoIE1lbW9yeUNvbnRleHRTdGF0c1ByaW50KCkuCi0JICovCi0JaWYgKGlkZW50ICYmIHN0cmNt cChuYW1lLCAiZHluYWhhc2giKSA9PSAwKQotCXsKLQkJbmFtZSA9IGlkZW50OwotCQlpZGVudCA9 IE5VTEw7Ci0JfQotCi0JLyogRXhhbWluZSB0aGUgY29udGV4dCBpdHNlbGYgKi8KLQltZW1zZXQo JnN0YXQsIDAsIHNpemVvZihzdGF0KSk7Ci0JKCpjb250ZXh0LT5tZXRob2RzLT5zdGF0cykgKGNv bnRleHQsIE5VTEwsICh2b2lkICopICZsZXZlbCwgJnN0YXQpOwotCi0JbWVtc2V0KHZhbHVlcywg MCwgc2l6ZW9mKHZhbHVlcykpOwotCW1lbXNldChudWxscywgMCwgc2l6ZW9mKG51bGxzKSk7Ci0K LQlpZiAobmFtZSkKLQkJdmFsdWVzWzBdID0gQ1N0cmluZ0dldFRleHREYXR1bShuYW1lKTsKLQll bHNlCi0JCW51bGxzWzBdID0gdHJ1ZTsKLQotCWlmIChpZGVudCkKLQl7Ci0JCWludAkJaWRsZW4g PSBzdHJsZW4oaWRlbnQpOwotCQljaGFyCQljbGlwcGVkX2lkZW50W01FTU9SWV9DT05URVhUX0lE RU5UX0RJU1BMQVlfU0laRV07Ci0KLQkJLyoKLQkJICogU29tZSBpZGVudGlmaWVycyBzdWNoIGFz IFNRTCBxdWVyeSBzdHJpbmcgY2FuIGJlIHZlcnkgbG9uZywKLQkJICogdHJ1bmNhdGUgb3ZlcnNp emUgaWRlbnRpZmllcnMuCi0JCSAqLwotCQlpZiAoaWRsZW4gPj0gTUVNT1JZX0NPTlRFWFRfSURF TlRfRElTUExBWV9TSVpFKQotCQkJaWRsZW4gPSBwZ19tYmNsaXBsZW4oaWRlbnQsIGlkbGVuLCBN RU1PUllfQ09OVEVYVF9JREVOVF9ESVNQTEFZX1NJWkUgLSAxKTsKLQotCQltZW1jcHkoY2xpcHBl ZF9pZGVudCwgaWRlbnQsIGlkbGVuKTsKLQkJY2xpcHBlZF9pZGVudFtpZGxlbl0gPSAnXDAnOwot CQl2YWx1ZXNbMV0gPSBDU3RyaW5nR2V0VGV4dERhdHVtKGNsaXBwZWRfaWRlbnQpOwotCX0KLQll bHNlCi0JCW51bGxzWzFdID0gdHJ1ZTsKLQotCWlmIChwYXJlbnQpCi0JCXZhbHVlc1syXSA9IENT dHJpbmdHZXRUZXh0RGF0dW0ocGFyZW50KTsKLQllbHNlCi0JCW51bGxzWzJdID0gdHJ1ZTsKLQot CXZhbHVlc1szXSA9IEludDMyR2V0RGF0dW0obGV2ZWwpOwotCXZhbHVlc1s0XSA9IEludDY0R2V0 RGF0dW0oc3RhdC50b3RhbHNwYWNlKTsKLQl2YWx1ZXNbNV0gPSBJbnQ2NEdldERhdHVtKHN0YXQu bmJsb2Nrcyk7Ci0JdmFsdWVzWzZdID0gSW50NjRHZXREYXR1bShzdGF0LmZyZWVzcGFjZSk7Ci0J dmFsdWVzWzddID0gSW50NjRHZXREYXR1bShzdGF0LmZyZWVjaHVua3MpOwotCXZhbHVlc1s4XSA9 IEludDY0R2V0RGF0dW0oc3RhdC50b3RhbHNwYWNlIC0gc3RhdC5mcmVlc3BhY2UpOwotCXR1cGxl c3RvcmVfcHV0dmFsdWVzKHR1cHN0b3JlLCB0dXBkZXNjLCB2YWx1ZXMsIG51bGxzKTsKLQotCWZv ciAoY2hpbGQgPSBjb250ZXh0LT5maXJzdGNoaWxkOyBjaGlsZCAhPSBOVUxMOyBjaGlsZCA9IGNo aWxkLT5uZXh0Y2hpbGQpCi0JewotCQlQdXRNZW1vcnlDb250ZXh0c1N0YXRzVHVwbGVTdG9yZSh0 dXBzdG9yZSwgdHVwZGVzYywKLQkJCQkJCQkJICBjaGlsZCwgbmFtZSwgbGV2ZWwgKyAxKTsKLQl9 Ci19Ci0KLS8qCi0gKiBwZ19nZXRfYmFja2VuZF9tZW1vcnlfY29udGV4dHMKLSAqCQlTUUwgU1JG IHNob3dpbmcgYmFja2VuZCBtZW1vcnkgY29udGV4dC4KLSAqLwotRGF0dW0KLXBnX2dldF9iYWNr ZW5kX21lbW9yeV9jb250ZXh0cyhQR19GVU5DVElPTl9BUkdTKQotewotCVJldHVyblNldEluZm8g KnJzaW5mbyA9IChSZXR1cm5TZXRJbmZvICopIGZjaW5mby0+cmVzdWx0aW5mbzsKLQlUdXBsZURl c2MJdHVwZGVzYzsKLQlUdXBsZXN0b3Jlc3RhdGUgKnR1cHN0b3JlOwotCU1lbW9yeUNvbnRleHQg cGVyX3F1ZXJ5X2N0eDsKLQlNZW1vcnlDb250ZXh0IG9sZGNvbnRleHQ7Ci0KLQkvKiBjaGVjayB0 byBzZWUgaWYgY2FsbGVyIHN1cHBvcnRzIHVzIHJldHVybmluZyBhIHR1cGxlc3RvcmUgKi8KLQlp ZiAocnNpbmZvID09IE5VTEwgfHwgIUlzQShyc2luZm8sIFJldHVyblNldEluZm8pKQotCQllcmVw b3J0KEVSUk9SLAotCQkJCShlcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwK LQkJCQkgZXJybXNnKCJzZXQtdmFsdWVkIGZ1bmN0aW9uIGNhbGxlZCBpbiBjb250ZXh0IHRoYXQg Y2Fubm90IGFjY2VwdCBhIHNldCIpKSk7Ci0JaWYgKCEocnNpbmZvLT5hbGxvd2VkTW9kZXMgJiBT RlJNX01hdGVyaWFsaXplKSkKLQkJZXJlcG9ydChFUlJPUiwKLQkJCQkoZXJyY29kZShFUlJDT0RF X0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCi0JCQkJIGVycm1zZygibWF0ZXJpYWxpemUgbW9kZSBy ZXF1aXJlZCwgYnV0IGl0IGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dCIpKSk7Ci0KLQkv KiBCdWlsZCBhIHR1cGxlIGRlc2NyaXB0b3IgZm9yIG91ciByZXN1bHQgdHlwZSAqLwotCWlmIChn ZXRfY2FsbF9yZXN1bHRfdHlwZShmY2luZm8sIE5VTEwsICZ0dXBkZXNjKSAhPSBUWVBFRlVOQ19D T01QT1NJVEUpCi0JCWVsb2coRVJST1IsICJyZXR1cm4gdHlwZSBtdXN0IGJlIGEgcm93IHR5cGUi KTsKLQotCXBlcl9xdWVyeV9jdHggPSByc2luZm8tPmVjb250ZXh0LT5lY3h0X3Blcl9xdWVyeV9t ZW1vcnk7Ci0Jb2xkY29udGV4dCA9IE1lbW9yeUNvbnRleHRTd2l0Y2hUbyhwZXJfcXVlcnlfY3R4 KTsKLQotCXR1cHN0b3JlID0gdHVwbGVzdG9yZV9iZWdpbl9oZWFwKHRydWUsIGZhbHNlLCB3b3Jr X21lbSk7Ci0JcnNpbmZvLT5yZXR1cm5Nb2RlID0gU0ZSTV9NYXRlcmlhbGl6ZTsKLQlyc2luZm8t PnNldFJlc3VsdCA9IHR1cHN0b3JlOwotCXJzaW5mby0+c2V0RGVzYyA9IHR1cGRlc2M7Ci0KLQlN ZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xkY29udGV4dCk7Ci0KLQlQdXRNZW1vcnlDb250ZXh0c1N0 YXRzVHVwbGVTdG9yZSh0dXBzdG9yZSwgdHVwZGVzYywKLQkJCQkJCQkJVG9wTWVtb3J5Q29udGV4 dCwgTlVMTCwgMCk7Ci0KLQkvKiBjbGVhbiB1cCBhbmQgcmV0dXJuIHRoZSB0dXBsZXN0b3JlICov Ci0JdHVwbGVzdG9yZV9kb25lc3RvcmluZyh0dXBzdG9yZSk7Ci0KLQlyZXR1cm4gKERhdHVtKSAw OwotfQotLSAKMi4xOC4xCgo= --=_dcbd8645e132a78f85dc8bbb59922f06 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=0001-Restrict-the-access-to-pg_backend_memory_contexts-to.patch Content-Disposition: attachment; filename=0001-Restrict-the-access-to-pg_backend_memory_contexts-to.patch; size=2021 RnJvbSBmODE2YmE2YTk0MTI1YzIxM2I5ZTM4M2RiOWNkOWNkYjYyMzAzODFhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBdHN1c2hpIFRvcmlrb3NoaSA8dG9yaWtvc2hpYUBvc3MubnR0 ZGF0YS5jb20+CkRhdGU6IEZyaSwgMjEgQXVnIDIwMjAgMDk6MzE6MjkgKzA5MDAKU3ViamVjdDog W1BBVENIXSBSZXN0cmljdCB0aGUgYWNjZXNzIHRvIHBnX2JhY2tlbmRfbWVtb3J5X2NvbnRleHRz IHRvIG1lbWJlcnMKIG9mIHRoZSBwZ19tb25pdG9yIHJvbGUuCgotLS0KIGRvYy9zcmMvc2dtbC9j YXRhbG9ncy5zZ21sICAgICAgICAgICB8IDEgKwogc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1f dmlld3Muc3FsIHwgMyArKysKIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCgpkaWZm IC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwgYi9kb2Mvc3JjL3NnbWwvY2F0YWxv Z3Muc2dtbAppbmRleCAxMjMyYjI0ZTc0Li44YTQ1NWQzNmRjIDEwMDY0NAotLS0gYS9kb2Mvc3Jj L3NnbWwvY2F0YWxvZ3Muc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvY2F0YWxvZ3Muc2dtbApAQCAt OTU5Miw2ICs5NTkyLDcgQEAgU0NSQU0tU0hBLTI1NiQ8cmVwbGFjZWFibGU+Jmx0O2l0ZXJhdGlv biBjb3VudCZndDs8L3JlcGxhY2VhYmxlPjo8cmVwbGFjZWFibGU+JmwKICAgPHBhcmE+CiAgICBU aGUgdmlldyA8c3RydWN0bmFtZT5wZ19iYWNrZW5kX21lbW9yeV9jb250ZXh0czwvc3RydWN0bmFt ZT4gZGlzcGxheXMgYWxsCiAgICB0aGUgbWVtb3J5IGNvbnRleHRzIG9mIHRoZSBzZXJ2ZXIgcHJv Y2VzcyBhdHRhY2hlZCB0byB0aGUgY3VycmVudCBzZXNzaW9uLgorICAgQWNjZXNzIGlzIGdyYW50 ZWQgdG8gbWVtYmVycyBvZiB0aGUgPGxpdGVyYWw+cGdfbW9uaXRvcjwvbGl0ZXJhbD4gcm9sZS4K ICAgPC9wYXJhPgogICA8cGFyYT4KICAgIDxzdHJ1Y3RuYW1lPnBnX2JhY2tlbmRfbWVtb3J5X2Nv bnRleHRzPC9zdHJ1Y3RuYW1lPiBjb250YWlucyBvbmUgcm93CmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3Rl bV92aWV3cy5zcWwKaW5kZXggYmE1YTIzYWMyNS4uNWEzYTYwZWNlYSAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFs b2cvc3lzdGVtX3ZpZXdzLnNxbApAQCAtMTQ4Miw2ICsxNDgyLDggQEAgUkVWT0tFIEVYRUNVVEUg T04gRlVOQ1RJT04gcGdfc3RhdF9maWxlKHRleHQsYm9vbGVhbikgRlJPTSBwdWJsaWM7CiBSRVZP S0UgRVhFQ1VURSBPTiBGVU5DVElPTiBwZ19sc19kaXIodGV4dCkgRlJPTSBwdWJsaWM7CiBSRVZP S0UgRVhFQ1VURSBPTiBGVU5DVElPTiBwZ19sc19kaXIodGV4dCxib29sZWFuLGJvb2xlYW4pIEZS T00gcHVibGljOwogCitSRVZPS0UgRVhFQ1VURSBPTiBGVU5DVElPTiBwZ19nZXRfYmFja2VuZF9t ZW1vcnlfY29udGV4dHMoKSBGUk9NIHB1YmxpYzsKKwogLS0KIC0tIFdlIGFsc28gc2V0IHVwIHNv bWUgdGhpbmdzIGFzIGFjY2Vzc2libGUgdG8gc3RhbmRhcmQgcm9sZXMuCiAtLQpAQCAtMTQ5MCw2 ICsxNDkyLDcgQEAgR1JBTlQgRVhFQ1VURSBPTiBGVU5DVElPTiBwZ19sc193YWxkaXIoKSBUTyBw Z19tb25pdG9yOwogR1JBTlQgRVhFQ1VURSBPTiBGVU5DVElPTiBwZ19sc19hcmNoaXZlX3N0YXR1 c2RpcigpIFRPIHBnX21vbml0b3I7CiBHUkFOVCBFWEVDVVRFIE9OIEZVTkNUSU9OIHBnX2xzX3Rt cGRpcigpIFRPIHBnX21vbml0b3I7CiBHUkFOVCBFWEVDVVRFIE9OIEZVTkNUSU9OIHBnX2xzX3Rt cGRpcihvaWQpIFRPIHBnX21vbml0b3I7CitHUkFOVCBFWEVDVVRFIE9OIEZVTkNUSU9OIHBnX2dl dF9iYWNrZW5kX21lbW9yeV9jb250ZXh0cygpIFRPIHBnX21vbml0b3I7CiAKIEdSQU5UIHBnX3Jl YWRfYWxsX3NldHRpbmdzIFRPIHBnX21vbml0b3I7CiBHUkFOVCBwZ19yZWFkX2FsbF9zdGF0cyBU TyBwZ19tb25pdG9yOwotLSAKMi4xOC4xCgo= --=_dcbd8645e132a78f85dc8bbb59922f06--