Skip to content

policer: break infinite recursion of EC parts restoration - #4293

Merged
roman-khimov merged 1 commit into
masterfrom
fix/infinite-recursion-in-ec-parts-restoration
Nov 11, 2026
Merged

roman-khimov merged 1 commit into
masterfrom
fix/infinite-recursion-in-ec-parts-restoration

Conversation

@carpawell

Copy link
Copy Markdown
Member

An error from e8d0383. In some rare cases it is possible to restore EC parts from more than a single EC rule, initialRuleIdx was meant to break EC rules loop in fully unavailable cases and not try to check EC rules infinitely.

@carpawell carpawell self-assigned this Nov 9, 2026
@carpawell
carpawell force-pushed the fix/infinite-recursion-in-ec-parts-restoration branch 2 times, most recently from f9bc726 to 0729eaa Compare November 9, 2026 16:02
@codecov

codecov Bot commented Nov 9, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 32.78%. Comparing base (88648fd) to head (d2f6451).

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4293      +/-   ##
==========================================
+ Coverage   32.72%   32.78%   +0.05%     
==========================================
  Files         673      673              
  Lines       41707    41707              
==========================================
+ Hits        13647    13672      +25     
+ Misses      28060    28035      -25     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@roman-khimov roman-khimov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a test and rebase, please.

Refs. GHSA-3qjg-8x3j-679r

An error from e8d0383. In some rare cases it is
possible to restore EC parts from more than a single EC rule, `initialRuleIdx`
was meant to break EC rules loop in fully unavailable cases and not try to
check EC rules infinitely.

Reported-by: Fabian Wahle <fabian@nash.io>
Signed-off-by: Pavel Karpy <carpawell@nspcc.io>
@carpawell
carpawell force-pushed the fix/infinite-recursion-in-ec-parts-restoration branch from 0729eaa to d2f6451 Compare November 11, 2026 10:42
@roman-khimov
roman-khimov merged commit fd6e171 into master Nov 11, 2026
22 checks passed
@roman-khimov
roman-khimov deleted the fix/infinite-recursion-in-ec-parts-restoration branch November 11, 2026 11:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants