summaryrefslogtreecommitdiff
path: root/include/linux/debugobjects.h
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2026-10-20 12:25:33 -0700
committerJakub Kicinski <kuba@kernel.org>2026-10-20 12:25:33 -0700
commit4321ec1c52f1e7e7faf135aa08c5c09c89d8053a (patch)
treea1847cc6a5bea64dd2251ceb5dd5d8576e3fbbb0 /include/linux/debugobjects.h
parent0df412012a26389582b120844d098e1e961f10a6 (diff)
parentffb668669ce4144347973d8b2fad449e9be0563d (diff)
Merge branch 'ipv6-fix-address-publication-races-with-addrconf_ifdown'
Daehyeon Ko says: ==================== ipv6: fix address publication races with addrconf_ifdown The first patch removes each non-kept ifaddr from the address hash during the per-device list cleanup. This prevents addrconf_ifdown() from freeing a captured object that a late publisher left linked in the hash. The second patch serializes hash and device-list publication with dead device teardown. The cleanup patch is now first, so the newly atomic publisher cannot create a captured-but-still-hashed intermediate state. The third patch initializes a temporary address's public-ifaddr reference and both timestamps before publication. No lifetime update can observe a partially initialized relationship. The fourth patch prevents stable-privacy DAD recovery from changing a DEAD replacement address back to PREDAD and queueing work after teardown has cleared its route. The original deterministic test used a direct internal caller, kprobes and atomic rendezvous at existing instruction boundaries. A real RA separately reached ipv6_add_addr() with can_block=false. No new kernel build or runtime test was run for v4. Validation used source review, strict checkpatch and multi-tree apply tests. ==================== Link: https://patch.msgid.link/20261015050651.1841557-1-4ncienth@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/linux/debugobjects.h')
0 files changed, 0 insertions, 0 deletions