|
|
7cc531 |
From cfcafd3638cdc06a8b4a1d267e58b5ad1e35922c Mon Sep 17 00:00:00 2001
|
|
|
7cc531 |
From: Phil Sutter <phil@nwl.cc>
|
|
|
7cc531 |
Date: Tue, 22 Sep 2020 20:01:15 +0200
|
|
|
7cc531 |
Subject: [PATCH] libxtables: Register multiple extensions in ascending order
|
|
|
7cc531 |
|
|
|
7cc531 |
The newly introduced ordered insert algorithm in
|
|
|
7cc531 |
xtables_register_{match,target}() works best if extensions of same name
|
|
|
7cc531 |
are passed in ascending revisions. Since this is the case in about all
|
|
|
7cc531 |
extensions' arrays, iterate over them from beginning to end.
|
|
|
7cc531 |
|
|
|
7cc531 |
Signed-off-by: Phil Sutter <phil@nwl.cc>
|
|
|
7cc531 |
(cherry picked from commit b5f1a3beac1d1f2b96c8be8ebec450f5ea758090)
|
|
|
7cc531 |
Signed-off-by: Phil Sutter <psutter@redhat.com>
|
|
|
7cc531 |
---
|
|
|
7cc531 |
libxtables/xtables.c | 14 ++++++++------
|
|
|
7cc531 |
1 file changed, 8 insertions(+), 6 deletions(-)
|
|
|
7cc531 |
|
|
|
7cc531 |
diff --git a/libxtables/xtables.c b/libxtables/xtables.c
|
|
|
7cc531 |
index 409128333e0e6..28ffffedd8147 100644
|
|
|
7cc531 |
--- a/libxtables/xtables.c
|
|
|
7cc531 |
+++ b/libxtables/xtables.c
|
|
|
7cc531 |
@@ -1095,9 +1095,10 @@ static bool xtables_fully_register_pending_match(struct xtables_match *me,
|
|
|
7cc531 |
|
|
|
7cc531 |
void xtables_register_matches(struct xtables_match *match, unsigned int n)
|
|
|
7cc531 |
{
|
|
|
7cc531 |
- do {
|
|
|
7cc531 |
- xtables_register_match(&match[--n]);
|
|
|
7cc531 |
- } while (n > 0);
|
|
|
7cc531 |
+ int i;
|
|
|
7cc531 |
+
|
|
|
7cc531 |
+ for (i = 0; i < n; i++)
|
|
|
7cc531 |
+ xtables_register_match(&match[i]);
|
|
|
7cc531 |
}
|
|
|
7cc531 |
|
|
|
7cc531 |
void xtables_register_target(struct xtables_target *me)
|
|
|
7cc531 |
@@ -1223,9 +1224,10 @@ static bool xtables_fully_register_pending_target(struct xtables_target *me,
|
|
|
7cc531 |
|
|
|
7cc531 |
void xtables_register_targets(struct xtables_target *target, unsigned int n)
|
|
|
7cc531 |
{
|
|
|
7cc531 |
- do {
|
|
|
7cc531 |
- xtables_register_target(&target[--n]);
|
|
|
7cc531 |
- } while (n > 0);
|
|
|
7cc531 |
+ int i;
|
|
|
7cc531 |
+
|
|
|
7cc531 |
+ for (i = 0; i < n; i++)
|
|
|
7cc531 |
+ xtables_register_target(&target[i]);
|
|
|
7cc531 |
}
|
|
|
7cc531 |
|
|
|
7cc531 |
/* receives a list of xtables_rule_match, release them */
|
|
|
7cc531 |
--
|
|
|
7cc531 |
2.28.0
|
|
|
7cc531 |
|