Hi Serhei,

On Thu, Jun 25, 2026 at 11:54:09AM -0400, Serhei Makarov wrote:
> On Mon, Jun 22, 2026, at 6:33 AM, Mark Wielaard wrote:
> > Looks like the compiler cannot easily see that the loop is bounded by
> > MIN (ebl->frame_nregs, dwarf_to_perf_len). Maybe do something like:
> >
> > size_t max_reg = MIN (ebl->frame_nregs, dwarf_to_perf_len);
> > for (size_t i = 0; i < max_reg; i++)
> >
> > Or maybe dwarf_to_perf_len never is bigger than ebl->frame_nregs?
> > Then we could just assert that and just loop till dwarf_to_perf_len.
> 
> re: mjw's question, seeing dwarf_to_perf_len > ebl->frame_nregs
> would require initializing an i386 EBL {with ebl->frame_nregs small}
> and attempting to use it to process x86_64 profiling packets
> {with is_abi32 false), which is improbable but not impossible.
> 
> I would still approve the fix even as currently written

OK, so then we should push Naveed's v2 patch (which makes the MIN
change)?

> , but it's worth
> considering whether we should have this case fail with
> return false instead of asserting or silently cutting off the second
> half of the x86_64 register file. 

Or... Do you want to request this change?
I think you are the best person to determine what is best here.

Thanks,

Mark

Reply via email to