1. 19 May, 2022 5 commits
    • Ondřej Surý's avatar
      Merge branch '3344-threadsanitizer-data-race-in-isc__nm_tcpdns_send-v9_16' into 'v9_16' · 56adb30e
      Ondřej Surý authored
      Move setting the sock->write_timeout to the async_*send [v9.16]
      
      See merge request !6342
      56adb30e
    • Ondřej Surý's avatar
      Move setting the sock->write_timeout to the async_*send · ed4eda5e
      Ondřej Surý authored
      Setting the sock->write_timeout from the TCP, TCPDNS, and TLSDNS send
      functions could lead to (harmless) data race when setting the value for
      the first time when the isc_nm_send() function would be called from
      thread not-matching the socket we are sending to.  Move the setting the
      sock->write_timeout to the matching async function which is always
      called from the matching thread.
      
      (cherry picked from commit 61117840)
      ed4eda5e
    • Ondřej Surý's avatar
      Merge branch... · 598c93f2
      Ondřej Surý authored
      Merge branch '3371-check-for-__attribute__-fallthrough-support-is-sometimes-incorrect-v9_16' into 'v9_16'
      
      Use C2x [[fallthrough]] when supported by LLVM/clang [v9.16]
      
      See merge request !6340
      598c93f2
    • Ondřej Surý's avatar
      Use C2x [[fallthrough]] when supported by LLVM/clang · 4657b0f0
      Ondřej Surý authored
      Clang added support for the gcc-style fallthrough
      attribute (i.e. __attribute__((fallthrough))) in version 10.  However,
      __has_attribute(fallthrough) will return 1 in C mode in older versions,
      even though they only support the C++11 fallthrough attribute. At best,
      the unsupported attribute is simply ignored; at worst, it causes errors.
      
      The C2x fallthrough attribute has the advantages of being supported in
      the broadest range of clang versions (added in version 9) and being easy
      to check for support. Use C2x [[fallthrough]] attribute if possible, and
      fall back to not using an attribute for clang versions that don't have
      it.
      
      Courtesy of Joshua Root
      
      (cherry picked from commit 14c8d438)
      4657b0f0
    • Michal Nowak's avatar
      Merge tag 'v9_16_29' into v9_16 · db5f8ebb
      Michal Nowak authored
      BIND 9.16.29
      db5f8ebb
  2. 18 May, 2022 6 commits
  3. 17 May, 2022 3 commits
  4. 16 May, 2022 6 commits
  5. 15 May, 2022 2 commits
  6. 14 May, 2022 8 commits
  7. 13 May, 2022 2 commits
    • Ondřej Surý's avatar
      Merge branch 'ondrej-fix-trampoline-locking-v9_16' into 'v9_16' · 45fbcb2f
      Ondřej Surý authored
      Lock the trampoline when attaching [v9.16]
      
      See merge request !6299
      45fbcb2f
    • Ondřej Surý's avatar
      Lock the trampoline when attaching · be7f672f
      Ondřej Surý authored
      When attaching to the trampoline, the isc__trampoline_max was access
      unlocked.  This would not manifest under normal circumstances because we
      initialize 65 trampolines by default and that's enough for most
      commodity hardware, but there are ARM machines with 128+ cores where
      this would be reported by ThreadSanitizer.
      
      Add locking around the code in isc__trampoline_attach().  This also
      requires the lock to leak on exit (along with memory that we already)
      because a new thread might be attaching to the trampoline while we are
      running the library destructor at the same time.
      
      (cherry picked from commit 933162ae)
      be7f672f
  8. 11 May, 2022 8 commits