Commit a35dbfa
netfilter: nf_tables: expose opaque set element as struct nft_elem_priv
jira VULN-430
cve CVE-2023-4244
commit-author Pablo Neira Ayuso <[email protected]>
commit 9dad402
upstream-diff Context conflict with the cve fix
5d4bb57 (wrong application order).
Add placeholder structure and place it at the beginning of each struct
nft_*_elem for each existing set backend, instead of exposing elements
as void type to the frontend which defeats compiler type checks. Use
this pointer to this new type to replace void *.
This patch updates the following set backend API to use this new struct
nft_elem_priv placeholder structure:
- update
- deactivate
- flush
- get
as well as the following helper functions:
- nft_set_elem_ext()
- nft_set_elem_init()
- nft_set_elem_destroy()
- nf_tables_set_elem_destroy()
This patch adds nft_elem_priv_cast() to cast struct nft_elem_priv to
native element representation from the corresponding set backend.
BUILD_BUG_ON() makes sure this .priv placeholder is always at the top
of the opaque set element representation.
Suggested-by: Florian Westphal <[email protected]>
Signed-off-by: Pablo Neira Ayuso <[email protected]>
(cherry picked from commit 9dad402)
Signed-off-by: Marcin Wcisło <[email protected]>1 parent f21727c commit a35dbfa
File tree
8 files changed
+173
-121
lines changed- include/net/netfilter
- net/netfilter
8 files changed
+173
-121
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
243 | 243 | | |
244 | 244 | | |
245 | 245 | | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
246 | 249 | | |
247 | 250 | | |
248 | 251 | | |
| |||
263 | 266 | | |
264 | 267 | | |
265 | 268 | | |
266 | | - | |
| 269 | + | |
267 | 270 | | |
268 | 271 | | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
269 | 277 | | |
270 | 278 | | |
271 | 279 | | |
| |||
393 | 401 | | |
394 | 402 | | |
395 | 403 | | |
396 | | - | |
| 404 | + | |
| 405 | + | |
397 | 406 | | |
398 | 407 | | |
399 | 408 | | |
| |||
409 | 418 | | |
410 | 419 | | |
411 | 420 | | |
412 | | - | |
| 421 | + | |
413 | 422 | | |
414 | 423 | | |
415 | 424 | | |
416 | 425 | | |
417 | | - | |
| 426 | + | |
418 | 427 | | |
419 | 428 | | |
420 | 429 | | |
421 | 430 | | |
422 | 431 | | |
423 | 432 | | |
424 | | - | |
| 433 | + | |
425 | 434 | | |
426 | 435 | | |
427 | 436 | | |
| |||
759 | 768 | | |
760 | 769 | | |
761 | 770 | | |
762 | | - | |
| 771 | + | |
763 | 772 | | |
764 | | - | |
| 773 | + | |
765 | 774 | | |
766 | 775 | | |
767 | 776 | | |
| |||
773 | 782 | | |
774 | 783 | | |
775 | 784 | | |
776 | | - | |
777 | | - | |
778 | | - | |
779 | | - | |
| 785 | + | |
| 786 | + | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
780 | 790 | | |
781 | 791 | | |
782 | | - | |
| 792 | + | |
| 793 | + | |
783 | 794 | | |
784 | 795 | | |
785 | | - | |
| 796 | + | |
| 797 | + | |
786 | 798 | | |
787 | 799 | | |
788 | 800 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
601 | 601 | | |
602 | 602 | | |
603 | 603 | | |
604 | | - | |
| 604 | + | |
605 | 605 | | |
606 | 606 | | |
607 | 607 | | |
| |||
5910 | 5910 | | |
5911 | 5911 | | |
5912 | 5912 | | |
5913 | | - | |
5914 | | - | |
5915 | | - | |
5916 | | - | |
| 5913 | + | |
| 5914 | + | |
| 5915 | + | |
| 5916 | + | |
| 5917 | + | |
5917 | 5918 | | |
5918 | 5919 | | |
5919 | 5920 | | |
| |||
5978 | 5979 | | |
5979 | 5980 | | |
5980 | 5981 | | |
5981 | | - | |
| 5982 | + | |
| 5983 | + | |
5982 | 5984 | | |
5983 | 5985 | | |
5984 | | - | |
| 5986 | + | |
5985 | 5987 | | |
5986 | 5988 | | |
5987 | 5989 | | |
| |||
5992 | 5994 | | |
5993 | 5995 | | |
5994 | 5996 | | |
5995 | | - | |
5996 | 5997 | | |
5997 | 5998 | | |
5998 | | - | |
| 5999 | + | |
| 6000 | + | |
5999 | 6001 | | |
6000 | 6002 | | |
6001 | 6003 | | |
6002 | 6004 | | |
6003 | 6005 | | |
6004 | 6006 | | |
6005 | 6007 | | |
6006 | | - | |
| 6008 | + | |
| 6009 | + | |
6007 | 6010 | | |
6008 | | - | |
| 6011 | + | |
6009 | 6012 | | |
6010 | 6013 | | |
6011 | 6014 | | |
6012 | 6015 | | |
6013 | | - | |
| 6016 | + | |
6014 | 6017 | | |
6015 | 6018 | | |
6016 | 6019 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
48 | | - | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
49 | 50 | | |
50 | 51 | | |
51 | 52 | | |
| 53 | + | |
52 | 54 | | |
53 | | - | |
54 | 55 | | |
55 | 56 | | |
56 | 57 | | |
57 | 58 | | |
58 | 59 | | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
64 | 65 | | |
65 | 66 | | |
66 | | - | |
| 67 | + | |
67 | 68 | | |
68 | 69 | | |
69 | 70 | | |
70 | | - | |
| 71 | + | |
71 | 72 | | |
72 | 73 | | |
73 | | - | |
| 74 | + | |
74 | 75 | | |
75 | 76 | | |
76 | 77 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
| |||
104 | 105 | | |
105 | 106 | | |
106 | 107 | | |
107 | | - | |
108 | | - | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
109 | 111 | | |
110 | 112 | | |
111 | 113 | | |
| |||
116 | 118 | | |
117 | 119 | | |
118 | 120 | | |
119 | | - | |
| 121 | + | |
120 | 122 | | |
121 | 123 | | |
122 | 124 | | |
| |||
125 | 127 | | |
126 | 128 | | |
127 | 129 | | |
| 130 | + | |
128 | 131 | | |
129 | | - | |
130 | 132 | | |
131 | 133 | | |
132 | 134 | | |
| |||
148 | 150 | | |
149 | 151 | | |
150 | 152 | | |
| 153 | + | |
151 | 154 | | |
152 | | - | |
153 | 155 | | |
154 | 156 | | |
155 | 157 | | |
| |||
163 | 165 | | |
164 | 166 | | |
165 | 167 | | |
| 168 | + | |
166 | 169 | | |
167 | | - | |
168 | 170 | | |
169 | 171 | | |
170 | 172 | | |
| |||
175 | 177 | | |
176 | 178 | | |
177 | 179 | | |
178 | | - | |
| 180 | + | |
| 181 | + | |
179 | 182 | | |
| 183 | + | |
180 | 184 | | |
181 | 185 | | |
182 | | - | |
183 | 186 | | |
184 | 187 | | |
185 | 188 | | |
| |||
188 | 191 | | |
189 | 192 | | |
190 | 193 | | |
191 | | - | |
192 | | - | |
193 | | - | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
194 | 197 | | |
| 198 | + | |
195 | 199 | | |
196 | | - | |
197 | 200 | | |
198 | 201 | | |
199 | 202 | | |
| |||
207 | 210 | | |
208 | 211 | | |
209 | 212 | | |
210 | | - | |
| 213 | + | |
211 | 214 | | |
212 | 215 | | |
213 | 216 | | |
| |||
224 | 227 | | |
225 | 228 | | |
226 | 229 | | |
227 | | - | |
| 230 | + | |
228 | 231 | | |
229 | 232 | | |
230 | 233 | | |
| |||
263 | 266 | | |
264 | 267 | | |
265 | 268 | | |
| 269 | + | |
| 270 | + | |
266 | 271 | | |
267 | 272 | | |
268 | 273 | | |
| |||
276 | 281 | | |
277 | 282 | | |
278 | 283 | | |
279 | | - | |
| 284 | + | |
280 | 285 | | |
281 | 286 | | |
282 | 287 | | |
| |||
0 commit comments