Re: Small bugs regarding resowner handling in aio.c, catcache.c

From: Andres Freund <andres(at)anarazel(dot)de>
To: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Cc: Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Small bugs regarding resowner handling in aio.c, catcache.c
Date: 2025-12-10 15:04:13
Message-ID: hqp37nndbbed77erwjh65a5cngdh6ejkgttdnb7ri6lgxzxsao@m2mch6xz3v6b
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On 2025-12-10 11:51:35 +0200, Heikki Linnakangas wrote:
> On 10/12/2025 01:33, Matthias van de Meent wrote:
> > Hi Heikki, Andres,
> >
> > Whilst looking through catcache.c's code I noticed this piece of code:
> >
> > ReleaseCatCacheListWithOwner(CatCList *list, ResourceOwner resowner)
> > {
> > [...]
> > if (resowner)
> > ResourceOwnerForgetCatCacheRef(CurrentResourceOwner, &ct->tuple);
> >
> > Note how the resowner argument is ignored in favour of
> > CurrentResourceOwner; and that probably wasn't what the author
> > intended.
> >
> > So I looked around a bit, and found 2 more similar instances: one more
> > in catcache.c, and one in aio.c. I can't guarantee that there are no
> > other comparable issues, but at least I could not immediately find any
> > functions that ignore their ResourceOwner argument in favour of
> > CurrentResourceOwner.
> >
> > The issue in aio.c is externally visible, so it might trigger issues.
> > However, every caller in the tree uses CurrentResourceOwner, so only
> > extensions could trigger this bug.
> > The two issues in catcache.c are benign: No external code can trigger
> > it with a different resource owner; and while no internal code would
> > trigger it either, it's better to use the provided resowner, so that
> > future callers won't activate the bug.
> >
> > Attached a fix for all 3 cases.
>
> Pushed and backpatched, thanks!

Thanks for finding/fixing this and merging the change!

Greetings,

Andres Freund

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message jian he 2025-12-10 15:11:33 Re: SQL:2023 JSON simplified accessor support
Previous Message Robert Haas 2025-12-10 14:54:13 Re: pg_plan_advice