1. 25 Feb, 2020 2 commits
  2. 21 Feb, 2020 5 commits
  3. 20 Feb, 2020 4 commits
  4. 12 Feb, 2020 15 commits
  5. 11 Feb, 2020 9 commits
    • Ondřej Surý's avatar
      Merge branch... · 58c93bf0
      Ondřej Surý authored
      Merge branch '1428-possible-data-race-in-rbtdb-happens-occasionally-on-ppc64le-v9_14-v9_11' into 'v9_11'
      
      Resolve "Possible data race in rbtdb, happens occasionally on ppc64le"
      
      See merge request !3037
      58c93bf0
    • Ondřej Surý's avatar
      Convert all atomic operations in isc_rwlock to sequentially-consistent ordering · f71a8d11
      Ondřej Surý authored
      The memory ordering in the rwlock was all wrong, I am copying excerpts
      from the https://en.cppreference.com/w/c/atomic/memory_order#Relaxed_ordering
      for the convenience of the reader:
      
        Relaxed ordering
      
        Atomic operations tagged memory_order_relaxed are not synchronization
        operations; they do not impose an order among concurrent memory
        accesses. They only guarantee atomicity and modification order
        consistency.
      
        Sequentially-consistent ordering
      
        Atomic operations tagged memory_order_seq_cst not only order memory
        the same way as release/acquire ordering (everything that
        happened-before a store in one thread becomes a visible side effect in
        the thread that did a load), but also establish a single total
        modification order of all atomic operations that are so tagged.
      
      Which basically means that we had no or weak synchronization between
      threads using the same variables in the rwlock structure.  There should
      not be a significant performance drop because the critical sections were
      already protected by:
      
        while(1) {
          if (relaxed_atomic_operation) {
            break;
          }
          LOCK(lock);
          if (!relaxed_atomic_operation) {
            WAIT(sem, lock);
          }
          UNLOCK(lock)l
        }
      
      I would add one more thing to "Don't do your own crypto, folks.":
      
        - Also don't do your own locking, folks.
      
      As part of this commit, I have also cleaned up the #ifdef spaghetti,
      and fixed the isc_atomic API usage.
      f71a8d11
    • Ondřej Surý's avatar
      Make isc_rwlock.c thread-safe · 542517b1
      Ondřej Surý authored
      The ThreadSanitizer found several possible data races in our rwlock
      implementation.  This commit convert .spins and .write_granted fields
      to atomic.
      
      (cherry picked from commit 1da0994e)
      542517b1
    • Mark Andrews's avatar
      Merge branch 'marka-coverity-v9_11' into 'v9_11' · 4e739538
      Mark Andrews authored
      Address Coverity warnings in v9 11
      
      See merge request !3032
      4e739538
    • Mark Andrews's avatar
      Silence Coverity FORWARD_NULL warning · 8d0b59a5
      Mark Andrews authored
      	CID 1458400 (#1 of 1): Dereference after null check
      	(FORWARD_NULL) 14. var_deref_model: Passing null pointer
      	nxt->typebits to mem_tobuffer, which dereferences it. [show
      	details]
      
      219        return (mem_tobuffer(target, nxt->typebits, nxt->len));
      8d0b59a5
    • Mark Andrews's avatar
      Silence Coverity CHECKED_RETURN warnings · eeaffbe0
      Mark Andrews authored
      	CID 1458403 (#1 of 1): Unchecked return value (CHECKED_RETURN)
      	8. check_return: Calling isc_socket_recv without checking
      	return value (as is done elsewhere 14 out of 17 times).
      
      121        isc_socket_recv(sock, &dev->region, 1, task, my_recv, event->ev_arg);
      
      	CID 1458402 (#1 of 1): Unchecked return value (CHECKED_RETURN)
      	2. check_return: Calling isc_socket_recv without checking
      	return value (as is done elsewhere 14 out of 17 times).
      
      149        isc_socket_recv(sock, &dev->region, 1, task, my_recv, event->ev_arg);
      
      	CID 1458401 (#1 of 1): Unchecked return value (CHECKED_RETURN)
      	6. check_return: Calling isc_socket_recv without checking
      	return value (as is done elsewhere 14 out of 17 times).
      
      226                isc_socket_recv(dev->newsocket, &region, 1,
      227                                newtask, my_recv, event->ev_arg);
      eeaffbe0
    • Ondřej Surý's avatar
      Merge branch 'ondrej/remove-OpenSSL-engine-specification-in-label-v9_11' into 'v9_11' · 5f90f2ac
      Ondřej Surý authored
      [v9_11] Cleanup support for specifying PKCS#11 engine as part of the label
      
      See merge request !3034
      5f90f2ac
    • Ondřej Surý's avatar
      Remove reference to prepending label with engine in manpage · ce2198c7
      Ondřej Surý authored
      (cherry picked from commit 33fa3d5e)
      ce2198c7
    • Ondřej Surý's avatar
      Cleanup support for specifying PKCS#11 engine as part of the label · cb2dde56
      Ondřej Surý authored
      The code for specifying OpenSSL PKCS#11 engine as part of the label
      (e.g. -l "pkcs11:token=..." instead of -E pkcs11 -l "token=...")
      was non-functional.  This commit just cleans the related code.
      
      (cherry picked from commit a5c87d9d)
      cb2dde56
  6. 09 Feb, 2020 2 commits
  7. 08 Feb, 2020 3 commits