postgres.git / summary / log / commit / refs
commit 9364f64a2a73cc5e0c85a8f09f8f6461809b4fcb
Author: Jeff Davis <jdavis@postgresql.org>
Date: Thu Oct 14 19:25:48 2021 +0000
First released in: 15.0, 9.6.24, 10.19, 11.14, 12.9, 13.5, 14.1
Check criticalSharedRelcachesBuilt in GetSharedSecurityLabel().
An extension may want to call GetSecurityLabel() on a shared object
before the shared relcaches are fully initialized. For instance, a
ClientAuthentication_hook might want to retrieve the security label on
a role.
Discussion: https://postgr.es/m/ecb7af0b26e3be1d96d291c8453a86f1f82d9061.camel@j-davis.com
Backpatch-through: 9.6
src/backend/commands/seclabel.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/backend/commands/seclabel.c b/src/backend/commands/seclabel.c
index 5f16d6cf1c1..492b14d2668 100644
--- a/src/backend/commands/seclabel.c
+++ b/src/backend/commands/seclabel.c
@@ -169,8 +169,8 @@ GetSharedSecurityLabel(const ObjectAddress *object, const char *provider)
pg_shseclabel = heap_open(SharedSecLabelRelationId, AccessShareLock);
- scan = systable_beginscan(pg_shseclabel, SharedSecLabelObjectIndexId, true,
- NULL, 3, keys);
+ scan = systable_beginscan(pg_shseclabel, SharedSecLabelObjectIndexId,
+ criticalSharedRelcachesBuilt, NULL, 3, keys);
tuple = systable_getnext(scan);
if (HeapTupleIsValid(tuple))
[parent: 41cce2326135]