]> git.ipfire.org Git - thirdparty/bind9.git/commit
fix: dev: Unpack struct vecheader
authorAlessio Podda <alessio@isc.org>
Tue, 16 Dec 2025 17:06:12 +0000 (17:06 +0000)
committerAlessio Podda <alessio@isc.org>
Tue, 16 Dec 2025 17:06:12 +0000 (17:06 +0000)
commit7cbf5f652ae1cd0cda216f4c78cc4e3b4b73b51f
treee0f16632c59bba9f7aca4587dce142564f51ab3d
parent5de47b86043a7099195e69f148b16fbd505d2ad9
parent46f96b0543d94ffb0392aaaf1c467750f915a7fd
fix: dev: Unpack struct vecheader

The bitset packing of the resign_lsb and heap_index in struct vecheader was causing a race condition, since both bindrdataset and heap operations tried to access the same byte (even though they are accessing different fields).

While heap operations are protected by the node lock of the header being inserted, they aren't protected by the node locks of the headers being displaced, leading to the race condition.

This MR fixes the issue by reverting the struct packing optimization.

Closes #5688

Merge branch '5688-no-heap-index-bitset' into 'main'

See merge request isc-projects/bind9!11378