postgres.git / summary / log / commit / refs

commit    3f5d481ef5725494f8737db6f300a2c42afa915d
Author:   Jeff Davis <jdavis@postgresql.org>
Date:     Thu Oct 14 19:25:30 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 5ee46905d84..1ce62b1e2ca 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: 6287b8e195f3]