Hi,
Regards,
Zhang Mingli
On Jan 12, 2023, 16:54 +0800, Richard Guo <guofenglinux(at)gmail(dot)com>, wrote:
>
> On Thu, Jan 12, 2023 at 2:50 PM Zhang Mingli <zmlpostgres(at)gmail(dot)com> wrote:
> > On Jan 12, 2023, 14:34 +0800, Zhang Mingli <zmlpostgres(at)gmail(dot)com>, wrote:
> > > Some conditions in shm_toc_insert and shm_toc_allocate are bogus, like:
> > > if (toc_bytes + nbytes > total_bytes || toc_bytes + nbytes < toc_bytes)Remove the condition `toc_bytes + nbytes < toc_bytes` and take a sizeof(shm_entry) into account in shm_toc_allocate though
> > > shm_toc_allocate does that too.
> > shm_toc_insert does that too, and we can report error earlier.
>
> I don't think we should consider sizeof(shm_toc_entry) in the 'if'
> condition in shm_toc_allocate, as this function is not in charge of
> allocating a new TOC entry. That's what shm_toc_insert does.
Thanks for review.
Make sense.
Even reserve a sizeof(shm_toc_entry) when shm_toc_allocate, it cloud happen that there is no space when shm_toc_insert
in case of other processes may take space after that.
Patch updated.