Commit 63e9bbb
netfilter: nf_tables: don't store chain address on jump
Now that the rule trailer/end marker and the rcu head reside in the
same structure, we no longer need to save/restore the chain pointer
when performing/returning from a jump.
We can simply let the trace infra walk the evaluated rule until it
hits the end marker and then fetch the chain pointer from there.
When the rule is NULL (policy tracing), then chain and basechain
pointers were already identical, so just use the basechain.
This cuts size of jumpstack in half, from 256 to 128 bytes in 64bit,
scripts/stackusage says:
nf_tables_core.c:251 nft_do_chain 328 static
Signed-off-by: Florian Westphal <[email protected]>
Signed-off-by: Pablo Neira Ayuso <[email protected]>1 parent d4d89e6 commit 63e9bbb
File tree
4 files changed
+44
-28
lines changed- include/net/netfilter
- net/netfilter
4 files changed
+44
-28
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1046 | 1046 | | |
1047 | 1047 | | |
1048 | 1048 | | |
| 1049 | + | |
| 1050 | + | |
| 1051 | + | |
| 1052 | + | |
| 1053 | + | |
| 1054 | + | |
| 1055 | + | |
| 1056 | + | |
| 1057 | + | |
| 1058 | + | |
| 1059 | + | |
| 1060 | + | |
1049 | 1061 | | |
1050 | 1062 | | |
1051 | 1063 | | |
| |||
1396 | 1408 | | |
1397 | 1409 | | |
1398 | 1410 | | |
1399 | | - | |
1400 | 1411 | | |
1401 | 1412 | | |
1402 | 1413 | | |
| |||
1408 | 1419 | | |
1409 | 1420 | | |
1410 | 1421 | | |
1411 | | - | |
1412 | 1422 | | |
1413 | 1423 | | |
1414 | 1424 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2110 | 2110 | | |
2111 | 2111 | | |
2112 | 2112 | | |
2113 | | - | |
2114 | | - | |
2115 | | - | |
2116 | | - | |
2117 | | - | |
2118 | | - | |
2119 | | - | |
2120 | 2113 | | |
2121 | 2114 | | |
2122 | 2115 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | | - | |
46 | 45 | | |
47 | 46 | | |
48 | 47 | | |
49 | 48 | | |
50 | 49 | | |
51 | | - | |
52 | 50 | | |
53 | 51 | | |
54 | 52 | | |
55 | 53 | | |
56 | 54 | | |
57 | 55 | | |
58 | 56 | | |
59 | | - | |
60 | 57 | | |
61 | 58 | | |
62 | 59 | | |
63 | 60 | | |
64 | 61 | | |
65 | 62 | | |
66 | | - | |
| 63 | + | |
67 | 64 | | |
68 | 65 | | |
69 | 66 | | |
| |||
111 | 108 | | |
112 | 109 | | |
113 | 110 | | |
114 | | - | |
115 | 111 | | |
116 | 112 | | |
117 | 113 | | |
| |||
133 | 129 | | |
134 | 130 | | |
135 | 131 | | |
136 | | - | |
| 132 | + | |
137 | 133 | | |
138 | 134 | | |
139 | 135 | | |
140 | | - | |
141 | 136 | | |
142 | 137 | | |
143 | 138 | | |
144 | 139 | | |
145 | 140 | | |
146 | | - | |
| 141 | + | |
147 | 142 | | |
148 | 143 | | |
149 | 144 | | |
| |||
203 | 198 | | |
204 | 199 | | |
205 | 200 | | |
206 | | - | |
207 | 201 | | |
208 | 202 | | |
209 | 203 | | |
| |||
247 | 241 | | |
248 | 242 | | |
249 | 243 | | |
250 | | - | |
251 | 244 | | |
252 | 245 | | |
253 | 246 | | |
| |||
302 | 295 | | |
303 | 296 | | |
304 | 297 | | |
305 | | - | |
| 298 | + | |
306 | 299 | | |
307 | 300 | | |
308 | 301 | | |
309 | 302 | | |
310 | 303 | | |
311 | 304 | | |
312 | | - | |
| 305 | + | |
313 | 306 | | |
314 | 307 | | |
315 | 308 | | |
| |||
323 | 316 | | |
324 | 317 | | |
325 | 318 | | |
326 | | - | |
327 | 319 | | |
328 | 320 | | |
329 | 321 | | |
| |||
339 | 331 | | |
340 | 332 | | |
341 | 333 | | |
342 | | - | |
343 | 334 | | |
344 | 335 | | |
345 | 336 | | |
346 | 337 | | |
347 | | - | |
| 338 | + | |
348 | 339 | | |
349 | 340 | | |
350 | 341 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
164 | 164 | | |
165 | 165 | | |
166 | 166 | | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
167 | 186 | | |
168 | 187 | | |
169 | 188 | | |
| 189 | + | |
170 | 190 | | |
171 | 191 | | |
172 | 192 | | |
| |||
176 | 196 | | |
177 | 197 | | |
178 | 198 | | |
| 199 | + | |
| 200 | + | |
179 | 201 | | |
180 | | - | |
181 | | - | |
| 202 | + | |
| 203 | + | |
182 | 204 | | |
183 | 205 | | |
184 | 206 | | |
| |||
217 | 239 | | |
218 | 240 | | |
219 | 241 | | |
220 | | - | |
| 242 | + | |
221 | 243 | | |
222 | 244 | | |
223 | | - | |
| 245 | + | |
224 | 246 | | |
225 | 247 | | |
226 | 248 | | |
| |||
0 commit comments