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 1wZkiJ-001G9h-13 for pgsql-hackers@arkaria.postgresql.org; Wed, 17 Jun 2026 07:29:31 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wZkiI-0052cZ-0n for pgsql-hackers@arkaria.postgresql.org; Wed, 17 Jun 2026 07:29:30 +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.96) (envelope-from ) id 1wZkiH-0052cR-2p for pgsql-hackers@lists.postgresql.org; Wed, 17 Jun 2026 07:29:29 +0000 Received: from mail-ej1-x632.google.com ([2a00:1450:4864:20::632]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wZkiF-00000000sCL-3CDt for pgsql-hackers@lists.postgresql.org; Wed, 17 Jun 2026 07:29:29 +0000 Received: by mail-ej1-x632.google.com with SMTP id a640c23a62f3a-bec3ffb95dbso792528366b.0 for ; Wed, 17 Jun 2026 00:29:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1781681365; cv=none; d=google.com; s=arc-20240605; b=U0izZXEs4ZhpxzcOsyHOQnUtfzzohKsfJbqa77DzM1tDCHKDLtkkFShCRXQXHPgS1r 8Tg+wMBYyUEa4LjE11/i2e78oxarCtZn7VB+hZQ3Fepn+osFCV4y+/GTH3VLKzT80Mnw 3LVnyOH/fcgJKx2T2AZsuZr3Av29t+R3Ps5c3mwvdN5d8+Pg315ZsitRWIeMs/g0U1O0 ZR5TpboLlIZ5LsaxAZYPBKkF0SePMJVHPAym2VA1K8fKVDdkWx1FXAuV7P7G0PuIwwip uYQAZ+5pkdtv0EBAZrYq3bs9LZ1EmADqZR8K6M7+AXNeBcQlp91+oTUQZPrP9cbJjLgn 9Hyw== 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=j9wpCdcHH+6KmbACEJiK/C3e9SjrvNeJl5ar/FzNYLo=; fh=YQm6ChKV16d547q9zW4K1bwRCHCo4Og6TTTq8i/zlM4=; b=A0bzNvoNeT9hk6txpT1+IlKVMwUFoujX2HSVSQCXMiWR2ZEdJPfhLeRc8s89ounnag 3j1opEJ20hCPCkQXsj/ElviTySb9BxumqT+HnZqdxifZscqnKE0TNV7mEXNKiSAeu6Ml eJR0gFzZ9EvLgejIhtJ6gyXYFY6VGfOxzh05WIytVAmoz+0mDyDOH6sSSYxKMCmI7Vj7 rkZPWHQSsf/Piy+VuohcJI9AWu9HL1+GtIwJk/V3VabBpEd7LC9G8sMGI5lIVKmYSxJo FlVTLsi2cZ1uMk0bBanzjxppmgXqTM5n6+R3NXT4Afjlz0rXF9S42HnU1ollU37gfna4 pr5A==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781681365; x=1782286165; darn=lists.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=j9wpCdcHH+6KmbACEJiK/C3e9SjrvNeJl5ar/FzNYLo=; b=YwN/3w3oyDC5yU/gd727pvlaWQAIQnw+1VQFo4Jn0p8fgkLsEQ0WNYtAOxh5u1W6GB l35XR8EZ8nAUXtEAQIDJQg1mwnvNrkg0kJOnWjNo76kNL6yi+3gPCt7vZn9bWWKEZ72n anx2a6EMREeni2Yu9XCAYKBFdwBBlRKuOuO+0dJCckWT2TtzqGeMi0foUUCpohUoAug2 dSAS6HrfkU+VU7ph8cO3MaFC9YvZo7ezycZGuyVDiP8ncsa4UdbY2yy21NsedZQWqSxy 4sev47Yspeh3RvpQvAr9omhQwF9toe03y78Q5jkdqjEbxLr0uMJbh++doOQrFkKfkz6w tZ8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781681365; x=1782286165; 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=j9wpCdcHH+6KmbACEJiK/C3e9SjrvNeJl5ar/FzNYLo=; b=Htac3Lo/f5JheTy2FtDSyKCPWfuEy82d/w/ZWGp5RL9+tEpGdga103dwzPnrVvt14G xB9zcn399M95tIGyU+KxKJazzRzB+/bwrVcm+vQ8mraRt6KOXsG76ZIpoCIKDpN26K0F 7PJRitMVARRoF2tAg4wiz+x3NgVh6HVO9IEwvrY5Mk1zXBe2EsvwZaowt83EYO5corUe ymDbc1uNuyQEWJF+qyr15NmWvI5cvZkfrXosEq482X6vLerDw6J9U9V01TBuYCcIpZ83 ta4dI6iHdv6xs9abmW1tjCa7iLQPlYPNJe42k170s1/82t/VMXFyyoTt9mVURV3Fofj2 jTjA== X-Forwarded-Encrypted: i=1; AFNElJ9aEc1Gq1LZQ+0ynZLC/gVIDmmJt9gtrJQiE+LNEb9z4cLTQkdRNQBxWhPZGK8PU23uEb7dcYBHk+26Uq3T@lists.postgresql.org X-Gm-Message-State: AOJu0YwX0Gow+5eUL0e/kZ53xFfQ+kWPM0251qRNpHDTLsVTQz2IooPO 7prZIWzZAQbfEJqQIAZHGXARRakF4J0rn231WuqmCRy4Q8VgeYYkFeR9JzCnQUTmPIOndWTyOb8 UbCsWD/8+dD/z8SH6i3/h8gziv7ja7nQ= X-Gm-Gg: Acq92OFNI0n2y+c1XZekyHA8bTMD51N5C7RM/2luHgsA7+FULyU4Td4+3AFy94QCepI e2ANuAnoeJy0PqOdTiuUBno8bu51D/V7zgPM4fMKWr5X+dxrt5u2U0FpNpvzC6/dZh6aimxv2kT R4sJceRjVd5M50OpZaXUnbHmUm1gwOU5gj7QDX1hVR33U4ZOe9efp/5ilhiG9DMIkFjcYt03erz 2ZbsJ4+/38zHUOrzW51niirZPPyGKIsC3LxJffxUjOQGgKZ4zauIR7ioa/We69VPkZDAV0Q9Nvh uof4A0R7ku7qhGN75bdAR5c7ssjEW+cLIjLsXo8wKYDeC1HrcS9CyCEL/sr04uYJ8shYbA2mjxT QwAYOukB/tmSEJHpFaIkc2sfKKE4= X-Received: by 2002:a17:907:989:b0:bd5:18e8:1ac1 with SMTP id a640c23a62f3a-c05a61054ebmr178831966b.5.1781681365102; Wed, 17 Jun 2026 00:29:25 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Xuneng Zhou Date: Wed, 17 Jun 2026 15:29:09 +0800 X-Gm-Features: AVVi8CcRbHtY9iHVBalpT7C281S_P-ITZUheW4mEVpyZxZZQT6KmAHbyZ9JaHbQ Message-ID: Subject: Re: Fix race in ReplicationSlotRelease for ephemeral slots To: Fujii Masao Cc: Amit Kapila , "Zhijie Hou (Fujitsu)" , Srinath Reddy Sadipiralla , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000df25fc06546e0427" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000df25fc06546e0427 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Jun 16, 2026 at 8:46=E2=80=AFPM Fujii Masao = wrote: > > On Fri, Jun 12, 2026 at 7:54=E2=80=AFPM Amit Kapila wrote: > > I feel even if there is an argument to do such a refactoring, it can > > be done separately. We can push forward with 0001 and then do more > > discussion for 0002, if required. I can take care of 0001 unless > > Fujii-San wishes to take care of it? > > Yeah, please feel free to work on 0001. > > Regarding 0002, since the race is very rare and non-fatal, I'm okay > with accepting the risk rather than adding more refactoring just to > avoid it. > > I'm a bit tempted to add a source comment explaining the risk and > why we accept it, though, so other developers can understand > the tradeoff. For example: > > diff --git a/src/backend/replication/logical/slotsync.c > b/src/backend/replication/logical/slotsync.c > index 05637344363..ca49f20e7d9 100644 > --- a/src/backend/replication/logical/slotsync.c > +++ b/src/backend/replication/logical/slotsync.c > @@ -560,6 +560,12 @@ drop_local_obsolete_slots(List *remote_slot_list) > * the same shared memory as that of > 'local_slot'. Thus check if > * local_slot is still the synced one before > performing the actual > * drop. > + * > + * Because local_slot still points to a > reusable slot-array entry, > + * fields such as name or database OID could > already be stale here. > + * That could cause an incorrect cleanup > decision for this cycle or > + * briefly lock an unrelated database. We > accept that risk because > + * this race is rare and non-fatal. > */ > SpinLockAcquire(&local_slot->mutex); > synced_slot =3D local_slot->in_use && > local_slot->data.synced; Thanks for suggesting the comment! It helps to clarify the situation and the trade-off we made here. I tweaked it a bit and added it to the patches prepared by Zhijie. -- Regards, Xuneng Zhou HighGo Software Co., Ltd. --000000000000df25fc06546e0427 Content-Type: application/octet-stream; name="v3_PG17-0001-Avoid-stale-slot-access-after-dropping-obsol.patch" Content-Disposition: attachment; filename="v3_PG17-0001-Avoid-stale-slot-access-after-dropping-obsol.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mqhr2awh2 RnJvbSBiMjc5ZmExZGUyNmRiNGFmNzIxOGJjNmEwNDFlNmU5ZTkxOGExODAyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBhbHRlcmVnbzY1NSA8ODI0NjYyNTI2QHFxLmNvbT4KRGF0ZTog V2VkLCAxNyBKdW4gMjAyNiAxNDo1MzoyOCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjNfUEcxN10g QXZvaWQgc3RhbGUgc2xvdCBhY2Nlc3MgYWZ0ZXIgZHJvcHBpbmcgb2Jzb2xldGUKIHN5bmNlZCBz bG90cwoKZHJvcF9sb2NhbF9vYnNvbGV0ZV9zbG90cygpIGtlcHQgdXNpbmcgbG9jYWxfc2xvdCBh ZnRlciBjYWxsaW5nClJlcGxpY2F0aW9uU2xvdERyb3BBY3F1aXJlZCgpLiAgT25jZSB0aGUgZHJv cCBjb21wbGV0ZXMsIHRoZSBzbG90IGFycmF5IGVudHJ5IGNhbgpiZSByZXVzZWQgYnkgYW5vdGhl ciBiYWNrZW5kLCBzbyBsYXRlciByZWFkcyBvZiBsb2NhbF9zbG90LT5kYXRhIGNvdWxkIHJlZmVy IHRvIGEKZGlmZmVyZW50IHNsb3QuCgpDb3B5IHRoZSBzbG90IG5hbWUgYW5kIGRhdGFiYXNlIE9J RCBiZWZvcmUgZHJvcHBpbmcgdGhlIHNsb3QsIGFuZCB1c2UgdGhvc2UKc2F2ZWQgdmFsdWVzIGZv ciB1bmxvY2tpbmcgYW5kIGxvZ2dpbmcgYWZ0ZXIgdGhlIGRyb3AuCgpBdXRob3I6IFh1bmVuZyBa aG91IDx4dW5lbmd6aG91QGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IFpoaWppZSBIb3UgPGhvdXpq LmZuc3RAZnVqaXRzdS5jb20+ClJldmlld2VkLWJ5OiBBbWl0IEthcGlsYSA8YW1pdC5rYXBpbGEx NkBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBGdWppaSBNYXNhbyA8bWFzYW8uZnVqaWlAZ21haWwu Y29tPgotLS0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvc2xvdHN5bmMuYyB8IDMz ICsrKysrKysrKysrKysrKy0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCsp LCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9s b2dpY2FsL3Nsb3RzeW5jLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Nsb3Rz eW5jLmMKaW5kZXggMDUxYjFjODY2YjUuLjE5ZTBiZTIwYjcyIDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Nsb3RzeW5jLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVw bGljYXRpb24vbG9naWNhbC9zbG90c3luYy5jCkBAIC00MjMsNiArNDIzLDcgQEAgZHJvcF9sb2Nh bF9vYnNvbGV0ZV9zbG90cyhMaXN0ICpyZW1vdGVfc2xvdF9saXN0KQogCQkvKiBEcm9wIHRoZSBs b2NhbCBzbG90IGlmIGl0IGlzIG5vdCByZXF1aXJlZCB0byBiZSByZXRhaW5lZC4gKi8KIAkJaWYg KCFsb2NhbF9zeW5jX3Nsb3RfcmVxdWlyZWQobG9jYWxfc2xvdCwgcmVtb3RlX3Nsb3RfbGlzdCkp CiAJCXsKKwkJCU9pZAkJCXNsb3RfZGF0YWJhc2UgPSBsb2NhbF9zbG90LT5kYXRhLmRhdGFiYXNl OwogCQkJYm9vbAkJc3luY2VkX3Nsb3Q7CiAKIAkJCS8qCkBAIC00MzAsOCArNDMxLDggQEAgZHJv cF9sb2NhbF9vYnNvbGV0ZV9zbG90cyhMaXN0ICpyZW1vdGVfc2xvdF9saXN0KQogCQkJICogUmVw bGljYXRpb25TbG90c0Ryb3BEQlNsb3RzKCksIHRyeWluZyB0byBkcm9wIHRoZSBzYW1lIHNsb3QK IAkJCSAqIGR1cmluZyBhIGRyb3AtZGF0YWJhc2Ugb3BlcmF0aW9uLgogCQkJICovCi0JCQlMb2Nr U2hhcmVkT2JqZWN0KERhdGFiYXNlUmVsYXRpb25JZCwgbG9jYWxfc2xvdC0+ZGF0YS5kYXRhYmFz ZSwKLQkJCQkJCQkgMCwgQWNjZXNzU2hhcmVMb2NrKTsKKwkJCUxvY2tTaGFyZWRPYmplY3QoRGF0 YWJhc2VSZWxhdGlvbklkLCBzbG90X2RhdGFiYXNlLCAwLAorCQkJCQkJCSBBY2Nlc3NTaGFyZUxv Y2spOwogCiAJCQkvKgogCQkJICogSW4gdGhlIHNtYWxsIHdpbmRvdyBiZXR3ZWVuIGdldHRpbmcg dGhlIHNsb3QgdG8gZHJvcCBhbmQKQEAgLTQ0MSw2ICs0NDIsMTYgQEAgZHJvcF9sb2NhbF9vYnNv bGV0ZV9zbG90cyhMaXN0ICpyZW1vdGVfc2xvdF9saXN0KQogCQkJICogdGhlIHNhbWUgc2hhcmVk IG1lbW9yeSBhcyB0aGF0IG9mICdsb2NhbF9zbG90Jy4gVGh1cyBjaGVjayBpZgogCQkJICogbG9j YWxfc2xvdCBpcyBzdGlsbCB0aGUgc3luY2VkIG9uZSBiZWZvcmUgcGVyZm9ybWluZyBhY3R1YWwK IAkJCSAqIGRyb3AuCisJCQkgKgorCQkJICogV2UgY2Fubm90IGNsb3NlIHRoaXMgd2luZG93IGJ5 IGhvbGRpbmcKKwkJCSAqIFJlcGxpY2F0aW9uU2xvdENvbnRyb2xMb2NrIHdoaWxlIHRha2luZyB0 aGUgZGF0YWJhc2UgbG9jaywKKwkJCSAqIGJlY2F1c2UgdGhlIGRhdGFiYXNlLWRyb3AgcGF0aCBo b2xkcyB0aGUgZGF0YWJhc2UgbG9jayBhbmQgdGhlbgorCQkJICogc2NhbnMgcmVwbGljYXRpb24g c2xvdHMuIFRoZXJlZm9yZSwgbG9jYWxfc2xvdCBtYXkgYWxyZWFkeQorCQkJICogcmVmZXIgdG8g YSByZXVzZWQgc2xvdC1hcnJheSBlbnRyeSBoZXJlLCBhbmQgZmllbGRzIHN1Y2ggYXMKKwkJCSAq IG5hbWUgb3IgZGF0YWJhc2UgT0lEIGNvdWxkIGFscmVhZHkgYmUgc3RhbGUuIFRoYXQgY291bGQg Y2F1c2UKKwkJCSAqIGFuIGluY29ycmVjdCBjbGVhbnVwIGRlY2lzaW9uIGZvciB0aGlzIGN5Y2xl IG9yIGJyaWVmbHkgbG9jayBhbgorCQkJICogdW5yZWxhdGVkIGRhdGFiYXNlLiBXZSBhY2NlcHQg dGhhdCByaXNrIGJlY2F1c2UgdGhpcyByYWNlIGlzCisJCQkgKiByYXJlIGFuZCBub24tZmF0YWwu CiAJCQkgKi8KIAkJCVNwaW5Mb2NrQWNxdWlyZSgmbG9jYWxfc2xvdC0+bXV0ZXgpOwogCQkJc3lu Y2VkX3Nsb3QgPSBsb2NhbF9zbG90LT5pbl91c2UgJiYgbG9jYWxfc2xvdC0+ZGF0YS5zeW5jZWQ7 CkBAIC00NDgsMTcgKzQ1OSwxOSBAQCBkcm9wX2xvY2FsX29ic29sZXRlX3Nsb3RzKExpc3QgKnJl bW90ZV9zbG90X2xpc3QpCiAKIAkJCWlmIChzeW5jZWRfc2xvdCkKIAkJCXsKLQkJCQlSZXBsaWNh dGlvblNsb3RBY3F1aXJlKE5hbWVTdHIobG9jYWxfc2xvdC0+ZGF0YS5uYW1lKSwgdHJ1ZSk7CisJ CQkJTmFtZURhdGEJc2xvdF9uYW1lID0gbG9jYWxfc2xvdC0+ZGF0YS5uYW1lOworCisJCQkJUmVw bGljYXRpb25TbG90QWNxdWlyZShOYW1lU3RyKHNsb3RfbmFtZSksIHRydWUpOwogCQkJCVJlcGxp Y2F0aW9uU2xvdERyb3BBY3F1aXJlZCgpOwotCQkJfQogCi0JCQlVbmxvY2tTaGFyZWRPYmplY3Qo RGF0YWJhc2VSZWxhdGlvbklkLCBsb2NhbF9zbG90LT5kYXRhLmRhdGFiYXNlLAotCQkJCQkJCSAg IDAsIEFjY2Vzc1NoYXJlTG9jayk7CisJCQkJZXJlcG9ydChMT0csCisJCQkJCQllcnJtc2coImRy b3BwZWQgcmVwbGljYXRpb24gc2xvdCBcIiVzXCIgb2YgZGF0YWJhc2Ugd2l0aCBPSUQgJXUiLAor CQkJCQkJCSAgIE5hbWVTdHIoc2xvdF9uYW1lKSwKKwkJCQkJCQkgICBzbG90X2RhdGFiYXNlKSk7 CisJCQl9CiAKLQkJCWVyZXBvcnQoTE9HLAotCQkJCQllcnJtc2coImRyb3BwZWQgcmVwbGljYXRp b24gc2xvdCBcIiVzXCIgb2YgZGF0YWJhc2Ugd2l0aCBPSUQgJXUiLAotCQkJCQkJICAgTmFtZVN0 cihsb2NhbF9zbG90LT5kYXRhLm5hbWUpLAotCQkJCQkJICAgbG9jYWxfc2xvdC0+ZGF0YS5kYXRh YmFzZSkpOworCQkJVW5sb2NrU2hhcmVkT2JqZWN0KERhdGFiYXNlUmVsYXRpb25JZCwgc2xvdF9k YXRhYmFzZSwgMCwKKwkJCQkJCQkgICBBY2Nlc3NTaGFyZUxvY2spOwogCQl9CiAJfQogfQotLSAK Mi41MS4wCgo= --000000000000df25fc06546e0427 Content-Type: application/octet-stream; name="v3-0001-Avoid-stale-slot-access-after-dropping-obsolete-s.patch" Content-Disposition: attachment; filename="v3-0001-Avoid-stale-slot-access-after-dropping-obsolete-s.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mqhr2aw70 RnJvbSA4Nzg5ODg5Nzk5NTJkMDQ4M2Q5YjkxNjI2MTg3NTM3YjFiZjRmMDQ0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBhbHRlcmVnbzY1NSA8ODI0NjYyNTI2QHFxLmNvbT4KRGF0ZTog V2VkLCAxNyBKdW4gMjAyNiAxNDo0MzoxNCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjNdIEF2b2lk IHN0YWxlIHNsb3QgYWNjZXNzIGFmdGVyIGRyb3BwaW5nIG9ic29sZXRlIHN5bmNlZAogc2xvdHMK CmRyb3BfbG9jYWxfb2Jzb2xldGVfc2xvdHMoKSBrZXB0IHVzaW5nIGxvY2FsX3Nsb3QgYWZ0ZXIg Y2FsbGluZwpSZXBsaWNhdGlvblNsb3REcm9wQWNxdWlyZWQoKS4gIE9uY2UgdGhlIGRyb3AgY29t cGxldGVzLCB0aGUgc2xvdCBhcnJheSBlbnRyeSBjYW4KYmUgcmV1c2VkIGJ5IGFub3RoZXIgYmFj a2VuZCwgc28gbGF0ZXIgcmVhZHMgb2YgbG9jYWxfc2xvdC0+ZGF0YSBjb3VsZCByZWZlciB0byBh CmRpZmZlcmVudCBzbG90LgoKQ29weSB0aGUgc2xvdCBuYW1lIGFuZCBkYXRhYmFzZSBPSUQgYmVm b3JlIGRyb3BwaW5nIHRoZSBzbG90LCBhbmQgdXNlIHRob3NlCnNhdmVkIHZhbHVlcyBmb3IgdW5s b2NraW5nIGFuZCBsb2dnaW5nIGFmdGVyIHRoZSBkcm9wLgoKQXV0aG9yOiBYdW5lbmcgWmhvdSA8 eHVuZW5nemhvdUBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBaaGlqaWUgSG91IDxob3V6ai5mbnN0 QGZ1aml0c3UuY29tPgpSZXZpZXdlZC1ieTogQW1pdCBLYXBpbGEgPGFtaXQua2FwaWxhMTZAZ21h aWwuY29tPgpSZXZpZXdlZC1ieTogRnVqaWkgTWFzYW8gPG1hc2FvLmZ1amlpQGdtYWlsLmNvbT4K LS0tCiBzcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Nsb3RzeW5jLmMgfCAzMyArKysr KysrKysrKysrKystLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgMTAg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNh bC9zbG90c3luYy5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9zbG90c3luYy5j CmluZGV4IDk2MTA3Yzk0NzVkLi5hMjJkMDUxNWQ0OCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv cmVwbGljYXRpb24vbG9naWNhbC9zbG90c3luYy5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0 aW9uL2xvZ2ljYWwvc2xvdHN5bmMuYwpAQCAtNTQxLDYgKzU0MSw3IEBAIGRyb3BfbG9jYWxfb2Jz b2xldGVfc2xvdHMoTGlzdCAqcmVtb3RlX3Nsb3RfbGlzdCkKIAkJLyogRHJvcCB0aGUgbG9jYWwg c2xvdCBpZiBpdCBpcyBub3QgcmVxdWlyZWQgdG8gYmUgcmV0YWluZWQuICovCiAJCWlmICghbG9j YWxfc3luY19zbG90X3JlcXVpcmVkKGxvY2FsX3Nsb3QsIHJlbW90ZV9zbG90X2xpc3QpKQogCQl7 CisJCQlPaWQJCQlzbG90X2RhdGFiYXNlID0gbG9jYWxfc2xvdC0+ZGF0YS5kYXRhYmFzZTsKIAkJ CWJvb2wJCXN5bmNlZF9zbG90OwogCiAJCQkvKgpAQCAtNTQ4LDggKzU0OSw4IEBAIGRyb3BfbG9j YWxfb2Jzb2xldGVfc2xvdHMoTGlzdCAqcmVtb3RlX3Nsb3RfbGlzdCkKIAkJCSAqIFJlcGxpY2F0 aW9uU2xvdHNEcm9wREJTbG90cygpLCB0cnlpbmcgdG8gZHJvcCB0aGUgc2FtZSBzbG90CiAJCQkg KiBkdXJpbmcgYSBkcm9wLWRhdGFiYXNlIG9wZXJhdGlvbi4KIAkJCSAqLwotCQkJTG9ja1NoYXJl ZE9iamVjdChEYXRhYmFzZVJlbGF0aW9uSWQsIGxvY2FsX3Nsb3QtPmRhdGEuZGF0YWJhc2UsCi0J CQkJCQkJIDAsIEFjY2Vzc1NoYXJlTG9jayk7CisJCQlMb2NrU2hhcmVkT2JqZWN0KERhdGFiYXNl UmVsYXRpb25JZCwgc2xvdF9kYXRhYmFzZSwgMCwKKwkJCQkJCQkgQWNjZXNzU2hhcmVMb2NrKTsK IAogCQkJLyoKIAkJCSAqIEluIHRoZSBzbWFsbCB3aW5kb3cgYmV0d2VlbiBnZXR0aW5nIHRoZSBz bG90IHRvIGRyb3AgYW5kCkBAIC01NTksNiArNTYwLDE2IEBAIGRyb3BfbG9jYWxfb2Jzb2xldGVf c2xvdHMoTGlzdCAqcmVtb3RlX3Nsb3RfbGlzdCkKIAkJCSAqIHRoZSBzYW1lIHNoYXJlZCBtZW1v cnkgYXMgdGhhdCBvZiAnbG9jYWxfc2xvdCcuIFRodXMgY2hlY2sgaWYKIAkJCSAqIGxvY2FsX3Ns b3QgaXMgc3RpbGwgdGhlIHN5bmNlZCBvbmUgYmVmb3JlIHBlcmZvcm1pbmcgdGhlIGFjdHVhbAog CQkJICogZHJvcC4KKwkJCSAqCisJCQkgKiBXZSBjYW5ub3QgY2xvc2UgdGhpcyB3aW5kb3cgYnkg aG9sZGluZworCQkJICogUmVwbGljYXRpb25TbG90Q29udHJvbExvY2sgd2hpbGUgdGFraW5nIHRo ZSBkYXRhYmFzZSBsb2NrLAorCQkJICogYmVjYXVzZSB0aGUgZGF0YWJhc2UtZHJvcCBwYXRoIGhv bGRzIHRoZSBkYXRhYmFzZSBsb2NrIGFuZCB0aGVuCisJCQkgKiBzY2FucyByZXBsaWNhdGlvbiBz bG90cy4gVGhlcmVmb3JlLCBsb2NhbF9zbG90IG1heSBhbHJlYWR5CisJCQkgKiByZWZlciB0byBh IHJldXNlZCBzbG90LWFycmF5IGVudHJ5IGhlcmUsIGFuZCBmaWVsZHMgc3VjaCBhcworCQkJICog bmFtZSBvciBkYXRhYmFzZSBPSUQgY291bGQgYWxyZWFkeSBiZSBzdGFsZS4gVGhhdCBjb3VsZCBj YXVzZQorCQkJICogYW4gaW5jb3JyZWN0IGNsZWFudXAgZGVjaXNpb24gZm9yIHRoaXMgY3ljbGUg b3IgYnJpZWZseSBsb2NrIGFuCisJCQkgKiB1bnJlbGF0ZWQgZGF0YWJhc2UuIFdlIGFjY2VwdCB0 aGF0IHJpc2sgYmVjYXVzZSB0aGlzIHJhY2UgaXMKKwkJCSAqIHJhcmUgYW5kIG5vbi1mYXRhbC4K IAkJCSAqLwogCQkJU3BpbkxvY2tBY3F1aXJlKCZsb2NhbF9zbG90LT5tdXRleCk7CiAJCQlzeW5j ZWRfc2xvdCA9IGxvY2FsX3Nsb3QtPmluX3VzZSAmJiBsb2NhbF9zbG90LT5kYXRhLnN5bmNlZDsK QEAgLTU2NiwyMyArNTc3LDI1IEBAIGRyb3BfbG9jYWxfb2Jzb2xldGVfc2xvdHMoTGlzdCAqcmVt b3RlX3Nsb3RfbGlzdCkKIAogCQkJaWYgKHN5bmNlZF9zbG90KQogCQkJeworCQkJCU5hbWVEYXRh CXNsb3RfbmFtZSA9IGxvY2FsX3Nsb3QtPmRhdGEubmFtZTsKKwogCQkJCS8qCiAJCQkJICogTm93 IGFjcXVpcmUgYW5kIGRyb3AgdGhlIHNsb3QuICBOb3RlIHdlIHB1cnBvc2VseSBkb24ndAogCQkJ CSAqIHJlcXVlc3QgbG9naWNhbCBkZWNvZGluZyB0byBiZSBkaXNhYmxlZCBoZXJlOiBzaW5jZSB0 aGlzIGlzCiAJCQkJICogYSBzdGFuZGJ5LCB3aGljaCBkZXJpdmVzIGl0cyBsb2dpY2FsIGRlY29k aW5nIHN0YXRlIGZyb20KIAkJCQkgKiB0aGUgcHJpbWFyeSwgaXQgd291bGQgYmUgd3JvbmcgdG8g ZG8gc28uCiAJCQkJICovCi0JCQkJUmVwbGljYXRpb25TbG90QWNxdWlyZShOYW1lU3RyKGxvY2Fs X3Nsb3QtPmRhdGEubmFtZSksIHRydWUsIGZhbHNlKTsKKwkJCQlSZXBsaWNhdGlvblNsb3RBY3F1 aXJlKE5hbWVTdHIoc2xvdF9uYW1lKSwgdHJ1ZSwgZmFsc2UpOwogCQkJCVJlcGxpY2F0aW9uU2xv dERyb3BBY3F1aXJlZChmYWxzZSk7Ci0JCQl9CiAKLQkJCVVubG9ja1NoYXJlZE9iamVjdChEYXRh YmFzZVJlbGF0aW9uSWQsIGxvY2FsX3Nsb3QtPmRhdGEuZGF0YWJhc2UsCi0JCQkJCQkJICAgMCwg QWNjZXNzU2hhcmVMb2NrKTsKKwkJCQllcmVwb3J0KExPRywKKwkJCQkJCWVycm1zZygiZHJvcHBl ZCByZXBsaWNhdGlvbiBzbG90IFwiJXNcIiBvZiBkYXRhYmFzZSB3aXRoIE9JRCAldSIsCisJCQkJ CQkJICAgTmFtZVN0cihzbG90X25hbWUpLAorCQkJCQkJCSAgIHNsb3RfZGF0YWJhc2UpKTsKKwkJ CX0KIAotCQkJZXJlcG9ydChMT0csCi0JCQkJCWVycm1zZygiZHJvcHBlZCByZXBsaWNhdGlvbiBz bG90IFwiJXNcIiBvZiBkYXRhYmFzZSB3aXRoIE9JRCAldSIsCi0JCQkJCQkgICBOYW1lU3RyKGxv Y2FsX3Nsb3QtPmRhdGEubmFtZSksCi0JCQkJCQkgICBsb2NhbF9zbG90LT5kYXRhLmRhdGFiYXNl KSk7CisJCQlVbmxvY2tTaGFyZWRPYmplY3QoRGF0YWJhc2VSZWxhdGlvbklkLCBzbG90X2RhdGFi YXNlLCAwLAorCQkJCQkJCSAgIEFjY2Vzc1NoYXJlTG9jayk7CiAJCX0KIAl9CiB9Ci0tIAoyLjUx LjAKCg== --000000000000df25fc06546e0427 Content-Type: application/octet-stream; name="v3_PG18-0001-Avoid-stale-slot-access-after-dropping-obsol.patch" Content-Disposition: attachment; filename="v3_PG18-0001-Avoid-stale-slot-access-after-dropping-obsol.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mqhr2awe1 RnJvbSAzM2MzMTYwNTAyY2JmM2Y1MzQ3Zjg2YzZjNWJmYWFjMmIxYjUxNTQ3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBhbHRlcmVnbzY1NSA8ODI0NjYyNTI2QHFxLmNvbT4KRGF0ZTog V2VkLCAxNyBKdW4gMjAyNiAxNToyNjoyMCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjNfUEcxOF0g QXZvaWQgc3RhbGUgc2xvdCBhY2Nlc3MgYWZ0ZXIgZHJvcHBpbmcgb2Jzb2xldGUKIHN5bmNlZCBz bG90cwoKZHJvcF9sb2NhbF9vYnNvbGV0ZV9zbG90cygpIGtlcHQgdXNpbmcgbG9jYWxfc2xvdCBh ZnRlciBjYWxsaW5nClJlcGxpY2F0aW9uU2xvdERyb3BBY3F1aXJlZCgpLiAgT25jZSB0aGUgZHJv cCBjb21wbGV0ZXMsIHRoZSBzbG90IGFycmF5IGVudHJ5IGNhbgpiZSByZXVzZWQgYnkgYW5vdGhl ciBiYWNrZW5kLCBzbyBsYXRlciByZWFkcyBvZiBsb2NhbF9zbG90LT5kYXRhIGNvdWxkIHJlZmVy IHRvIGEKZGlmZmVyZW50IHNsb3QuCgpDb3B5IHRoZSBzbG90IG5hbWUgYW5kIGRhdGFiYXNlIE9J RCBiZWZvcmUgZHJvcHBpbmcgdGhlIHNsb3QsIGFuZCB1c2UgdGhvc2UKc2F2ZWQgdmFsdWVzIGZv ciB1bmxvY2tpbmcgYW5kIGxvZ2dpbmcgYWZ0ZXIgdGhlIGRyb3AuCgpBdXRob3I6IFh1bmVuZyBa aG91IDx4dW5lbmd6aG91QGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IFpoaWppZSBIb3UgPGhvdXpq LmZuc3RAZnVqaXRzdS5jb20+ClJldmlld2VkLWJ5OiBBbWl0IEthcGlsYSA8YW1pdC5rYXBpbGEx NkBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBGdWppaSBNYXNhbyA8bWFzYW8uZnVqaWlAZ21haWwu Y29tPgotLS0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvc2xvdHN5bmMuYyB8IDMz ICsrKysrKysrKysrKysrKy0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCsp LCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9s b2dpY2FsL3Nsb3RzeW5jLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Nsb3Rz eW5jLmMKaW5kZXggNjFiMmU5Mzk2YWEuLjk5NzZmZGNjZjQxIDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Nsb3RzeW5jLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVw bGljYXRpb24vbG9naWNhbC9zbG90c3luYy5jCkBAIC00MzksNiArNDM5LDcgQEAgZHJvcF9sb2Nh bF9vYnNvbGV0ZV9zbG90cyhMaXN0ICpyZW1vdGVfc2xvdF9saXN0KQogCQkvKiBEcm9wIHRoZSBs b2NhbCBzbG90IGlmIGl0IGlzIG5vdCByZXF1aXJlZCB0byBiZSByZXRhaW5lZC4gKi8KIAkJaWYg KCFsb2NhbF9zeW5jX3Nsb3RfcmVxdWlyZWQobG9jYWxfc2xvdCwgcmVtb3RlX3Nsb3RfbGlzdCkp CiAJCXsKKwkJCU9pZAkJCXNsb3RfZGF0YWJhc2UgPSBsb2NhbF9zbG90LT5kYXRhLmRhdGFiYXNl OwogCQkJYm9vbAkJc3luY2VkX3Nsb3Q7CiAKIAkJCS8qCkBAIC00NDYsOCArNDQ3LDggQEAgZHJv cF9sb2NhbF9vYnNvbGV0ZV9zbG90cyhMaXN0ICpyZW1vdGVfc2xvdF9saXN0KQogCQkJICogUmVw bGljYXRpb25TbG90c0Ryb3BEQlNsb3RzKCksIHRyeWluZyB0byBkcm9wIHRoZSBzYW1lIHNsb3QK IAkJCSAqIGR1cmluZyBhIGRyb3AtZGF0YWJhc2Ugb3BlcmF0aW9uLgogCQkJICovCi0JCQlMb2Nr U2hhcmVkT2JqZWN0KERhdGFiYXNlUmVsYXRpb25JZCwgbG9jYWxfc2xvdC0+ZGF0YS5kYXRhYmFz ZSwKLQkJCQkJCQkgMCwgQWNjZXNzU2hhcmVMb2NrKTsKKwkJCUxvY2tTaGFyZWRPYmplY3QoRGF0 YWJhc2VSZWxhdGlvbklkLCBzbG90X2RhdGFiYXNlLCAwLAorCQkJCQkJCSBBY2Nlc3NTaGFyZUxv Y2spOwogCiAJCQkvKgogCQkJICogSW4gdGhlIHNtYWxsIHdpbmRvdyBiZXR3ZWVuIGdldHRpbmcg dGhlIHNsb3QgdG8gZHJvcCBhbmQKQEAgLTQ1Nyw2ICs0NTgsMTYgQEAgZHJvcF9sb2NhbF9vYnNv bGV0ZV9zbG90cyhMaXN0ICpyZW1vdGVfc2xvdF9saXN0KQogCQkJICogdGhlIHNhbWUgc2hhcmVk IG1lbW9yeSBhcyB0aGF0IG9mICdsb2NhbF9zbG90Jy4gVGh1cyBjaGVjayBpZgogCQkJICogbG9j YWxfc2xvdCBpcyBzdGlsbCB0aGUgc3luY2VkIG9uZSBiZWZvcmUgcGVyZm9ybWluZyBhY3R1YWwK IAkJCSAqIGRyb3AuCisJCQkgKgorCQkJICogV2UgY2Fubm90IGNsb3NlIHRoaXMgd2luZG93IGJ5 IGhvbGRpbmcKKwkJCSAqIFJlcGxpY2F0aW9uU2xvdENvbnRyb2xMb2NrIHdoaWxlIHRha2luZyB0 aGUgZGF0YWJhc2UgbG9jaywKKwkJCSAqIGJlY2F1c2UgdGhlIGRhdGFiYXNlLWRyb3AgcGF0aCBo b2xkcyB0aGUgZGF0YWJhc2UgbG9jayBhbmQgdGhlbgorCQkJICogc2NhbnMgcmVwbGljYXRpb24g c2xvdHMuIFRoZXJlZm9yZSwgbG9jYWxfc2xvdCBtYXkgYWxyZWFkeQorCQkJICogcmVmZXIgdG8g YSByZXVzZWQgc2xvdC1hcnJheSBlbnRyeSBoZXJlLCBhbmQgZmllbGRzIHN1Y2ggYXMKKwkJCSAq IG5hbWUgb3IgZGF0YWJhc2UgT0lEIGNvdWxkIGFscmVhZHkgYmUgc3RhbGUuIFRoYXQgY291bGQg Y2F1c2UKKwkJCSAqIGFuIGluY29ycmVjdCBjbGVhbnVwIGRlY2lzaW9uIGZvciB0aGlzIGN5Y2xl IG9yIGJyaWVmbHkgbG9jayBhbgorCQkJICogdW5yZWxhdGVkIGRhdGFiYXNlLiBXZSBhY2NlcHQg dGhhdCByaXNrIGJlY2F1c2UgdGhpcyByYWNlIGlzCisJCQkgKiByYXJlIGFuZCBub24tZmF0YWwu CiAJCQkgKi8KIAkJCVNwaW5Mb2NrQWNxdWlyZSgmbG9jYWxfc2xvdC0+bXV0ZXgpOwogCQkJc3lu Y2VkX3Nsb3QgPSBsb2NhbF9zbG90LT5pbl91c2UgJiYgbG9jYWxfc2xvdC0+ZGF0YS5zeW5jZWQ7 CkBAIC00NjQsMTcgKzQ3NSwxOSBAQCBkcm9wX2xvY2FsX29ic29sZXRlX3Nsb3RzKExpc3QgKnJl bW90ZV9zbG90X2xpc3QpCiAKIAkJCWlmIChzeW5jZWRfc2xvdCkKIAkJCXsKLQkJCQlSZXBsaWNh dGlvblNsb3RBY3F1aXJlKE5hbWVTdHIobG9jYWxfc2xvdC0+ZGF0YS5uYW1lKSwgdHJ1ZSwgZmFs c2UpOworCQkJCU5hbWVEYXRhCXNsb3RfbmFtZSA9IGxvY2FsX3Nsb3QtPmRhdGEubmFtZTsKKwor CQkJCVJlcGxpY2F0aW9uU2xvdEFjcXVpcmUoTmFtZVN0cihzbG90X25hbWUpLCB0cnVlLCBmYWxz ZSk7CiAJCQkJUmVwbGljYXRpb25TbG90RHJvcEFjcXVpcmVkKCk7Ci0JCQl9CiAKLQkJCVVubG9j a1NoYXJlZE9iamVjdChEYXRhYmFzZVJlbGF0aW9uSWQsIGxvY2FsX3Nsb3QtPmRhdGEuZGF0YWJh c2UsCi0JCQkJCQkJICAgMCwgQWNjZXNzU2hhcmVMb2NrKTsKKwkJCQllcmVwb3J0KExPRywKKwkJ CQkJCWVycm1zZygiZHJvcHBlZCByZXBsaWNhdGlvbiBzbG90IFwiJXNcIiBvZiBkYXRhYmFzZSB3 aXRoIE9JRCAldSIsCisJCQkJCQkJICAgTmFtZVN0cihzbG90X25hbWUpLAorCQkJCQkJCSAgIHNs b3RfZGF0YWJhc2UpKTsKKwkJCX0KIAotCQkJZXJlcG9ydChMT0csCi0JCQkJCWVycm1zZygiZHJv cHBlZCByZXBsaWNhdGlvbiBzbG90IFwiJXNcIiBvZiBkYXRhYmFzZSB3aXRoIE9JRCAldSIsCi0J CQkJCQkgICBOYW1lU3RyKGxvY2FsX3Nsb3QtPmRhdGEubmFtZSksCi0JCQkJCQkgICBsb2NhbF9z bG90LT5kYXRhLmRhdGFiYXNlKSk7CisJCQlVbmxvY2tTaGFyZWRPYmplY3QoRGF0YWJhc2VSZWxh dGlvbklkLCBzbG90X2RhdGFiYXNlLCAwLAorCQkJCQkJCSAgIEFjY2Vzc1NoYXJlTG9jayk7CiAJ CX0KIAl9CiB9Ci0tIAoyLjUxLjAKCg== --000000000000df25fc06546e0427--