Commit e5f80fc
ipv6: give an IPv6 dev to blackhole_netdev
IPv6 addrconf notifiers wants the loopback device to
be the last device being dismantled at netns deletion.
This caused many limitations and work arounds.
Back in linux-5.3, Mahesh added a per host blackhole_netdev
that can be used whenever we need to make sure objects no longer
refer to a disappearing device.
If we attach to blackhole_netdev an ip6_ptr (allocate an idev),
then we can use this special device (which is never freed)
in place of the loopback_dev (which can be freed).
This will permit improvements in netdev_run_todo() and other parts
of the stack where had steps to make sure loopback_dev was
the last device to disappear.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Mahesh Bandewar <maheshb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>1 parent 2d4feb2 commit e5f80fc
2 files changed
+40
-59
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
372 | 372 | | |
373 | 373 | | |
374 | 374 | | |
375 | | - | |
| 375 | + | |
376 | 376 | | |
377 | 377 | | |
378 | 378 | | |
| |||
400 | 400 | | |
401 | 401 | | |
402 | 402 | | |
403 | | - | |
404 | | - | |
405 | | - | |
406 | | - | |
407 | | - | |
408 | | - | |
409 | | - | |
410 | | - | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
411 | 412 | | |
412 | | - | |
413 | | - | |
414 | | - | |
415 | | - | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
416 | 418 | | |
417 | | - | |
418 | 419 | | |
419 | 420 | | |
420 | 421 | | |
| |||
445 | 446 | | |
446 | 447 | | |
447 | 448 | | |
448 | | - | |
449 | | - | |
450 | | - | |
451 | | - | |
452 | | - | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
453 | 456 | | |
454 | 457 | | |
455 | 458 | | |
456 | 459 | | |
457 | | - | |
458 | | - | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
459 | 463 | | |
460 | | - | |
461 | | - | |
462 | | - | |
463 | | - | |
464 | | - | |
465 | | - | |
| 464 | + | |
| 465 | + | |
466 | 466 | | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
467 | 471 | | |
468 | 472 | | |
469 | 473 | | |
| |||
7233 | 7237 | | |
7234 | 7238 | | |
7235 | 7239 | | |
7236 | | - | |
7237 | | - | |
7238 | | - | |
7239 | | - | |
7240 | | - | |
7241 | | - | |
7242 | | - | |
7243 | | - | |
7244 | | - | |
7245 | | - | |
7246 | | - | |
7247 | | - | |
7248 | | - | |
7249 | | - | |
7250 | | - | |
7251 | | - | |
7252 | | - | |
7253 | | - | |
7254 | 7240 | | |
7255 | | - | |
| 7241 | + | |
7256 | 7242 | | |
7257 | 7243 | | |
7258 | 7244 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
156 | 156 | | |
157 | 157 | | |
158 | 158 | | |
159 | | - | |
| 159 | + | |
160 | 160 | | |
161 | | - | |
162 | 161 | | |
163 | 162 | | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | 163 | | |
168 | 164 | | |
169 | 165 | | |
| |||
174 | 170 | | |
175 | 171 | | |
176 | 172 | | |
177 | | - | |
| 173 | + | |
178 | 174 | | |
179 | 175 | | |
180 | 176 | | |
| |||
371 | 367 | | |
372 | 368 | | |
373 | 369 | | |
374 | | - | |
375 | | - | |
376 | 370 | | |
377 | | - | |
378 | | - | |
379 | | - | |
380 | | - | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
381 | 376 | | |
382 | 377 | | |
383 | 378 | | |
| |||
4892 | 4887 | | |
4893 | 4888 | | |
4894 | 4889 | | |
4895 | | - | |
| 4890 | + | |
4896 | 4891 | | |
4897 | 4892 | | |
4898 | 4893 | | |
| |||
0 commit comments