Bug 1807811
| Summary: | iptables-restore Segmentation fault under stress testing | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | yiche <yiche> |
| Component: | iptables | Assignee: | Phil Sutter <psutter> |
| Status: | CLOSED ERRATA | QA Contact: | Tomas Dolezal <todoleza> |
| Severity: | urgent | Docs Contact: | |
| Priority: | urgent | ||
| Version: | 8.2 | CC: | anbhat, bbennett, ccoleman, dcbw, iptables-maint-list, jiji, lmiksik, miabbott, psutter, todoleza |
| Target Milestone: | rc | Keywords: | Regression |
| Target Release: | 8.2 | Flags: | pm-rhel:
mirror+
|
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | iptables-1.8.4-10.el8 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2020-04-28 17:00:30 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Comment 4
Jianwen Ji
2020-03-02 10:56:56 UTC
Upstream commit to backport:
commit c550c81fd373e5753103d20f7902171f0fa79807
Author: Phil Sutter <phil>
Date: Fri Feb 28 20:32:13 2020 +0100
nft: cache: Fix nft_release_cache() under stress
iptables-nft-restore calls nft_action(h, NFT_COMPAT_COMMIT) for each
COMMIT line in input. When restoring a dump containing multiple large
tables, chances are nft_rebuild_cache() has to run multiple times.
If the above happens, consecutive table contents are added to __cache[1]
which nft_rebuild_cache() then frees, so next commit attempt accesses
invalid memory.
Fix this by making nft_release_cache() (called after each successful
commit) return things into pre-rebuild state again, but keeping the
fresh cache copy.
Fixes: f6ad231d698c7 ("nft: keep original cache in case of ERESTART")
Signed-off-by: Phil Sutter <phil>
@Phil, are the other two stack traces I posted above related? Here's a scratch build including the patch from above, it fixes the segfaults we can reproduce: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=27208911 Does that help? Can you try that one? As said, the stack traces don't look familiar, but this is also a case of memory corruption. *** Bug 1812261 has been marked as a duplicate of this bug. *** Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2020:1889 The needinfo request[s] on this closed bug have been removed as they have been unresolved for 500 days |