lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200322145310.GA7379@paulmck-ThinkPad-P72>
Date:   Sun, 22 Mar 2020 07:53:10 -0700
From:   "Paul E. McKenney" <paulmck@...nel.org>
To:     mingo@...nel.org
Cc:     linux-kernel@...r.kernel.org, rcu@...r.kernel.org,
        colin.king@...onical.com, edumazet@...gle.com, frextrite@...il.com,
        jbi.octave@...il.com, joel@...lfernandes.org,
        madhuparnabhowmik04@...il.com, sjpark@...zon.de, urezki@...il.com
Subject: [GIT PULL v2 rcu/next] RCU commits for v5.7

Hello, Ingo!

As discussed off-list, my earlier RCU pull request contained a commit with
KCSAN dependencies, which caused build failures in the absence of KCSAN.
These dependencies went undetected due to a flaw in my testing process
that erroneously included the KCSAN commits.  This revised pull request
removes those dependencies by pushing them to the post-v5.7 of the
-rcu tree.  Non-KCSAN builds are unaffected.

As before, this pull request contains the following changes:

1.	Documentation updates.

	https://lore.kernel.org/lkml/20200214233848.GA12744@paulmck-ThinkPad-P72

2.	Miscellaneous fixes.

	https://lore.kernel.org/lkml/20200214235536.GA13364@paulmck-ThinkPad-P72

3.	Make kfree_rcu() use kfree_bulk() for added performance.

	https://lore.kernel.org/lkml/20200215000031.GA14315@paulmck-ThinkPad-P72

4.	Locking torture-test updates.

	https://lore.kernel.org/lkml/20200215000312.GA14585@paulmck-ThinkPad-P72

5.	Callback-overload handling updates.

	https://lore.kernel.org/lkml/20200215001816.GA15284@paulmck-ThinkPad-P72

6.	Tasks-RCU KCSAN and sparse updates.

	https://lore.kernel.org/lkml/20200215002446.GA15663@paulmck-ThinkPad-P72

7.	SRCU updates.

	https://lore.kernel.org/lkml/20200215002907.GA15895@paulmck-ThinkPad-P72

8.	Torture-test updates.

	https://lore.kernel.org/lkml/20200215003634.GA16227@paulmck-ThinkPad-P72

All of these have been subjected to the kbuild test robot testing,
will get -next testing in the next -next, and are available in the git
repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git for-mingo

for you to fetch changes up to aa93ec620be378cce1454286122915533ff8fa48:

  Merge branches 'doc.2020.02.27a', 'fixes.2020.03.21a', 'kfree_rcu.2020.02.20a', 'locktorture.2020.02.20a', 'ovld.2020.02.20a', 'rcu-tasks.2020.02.20a', 'srcu.2020.02.20a' and 'torture.2020.02.20a' into HEAD (2020-03-21 17:15:11 -0700)

There is a modest increase in code size of about 700 lines.  About 300
of these added lines were documentation, almost 200 more from adding
kfree_bulk() support to kfree_rcu(), about 150 from torture-test
improvements, and about 80 lines from improved callback-overload handling.
All in all, good value from this expansion.

----------------------------------------------------------------
Amol Grover (1):
      rculist: Add brackets around cond argument in __list_check_rcu macro

Colin Ian King (1):
      rcu: Fix spelling mistake "leval" -> "level"

Eric Dumazet (1):
      timer: Use hlist_unhashed_lockless() in timer_pending()

Joel Fernandes (Google) (2):
      rcuperf: Measure memory footprint during kfree_rcu() test
      doc: Add some more RCU list patterns in the kernel

Jules Irenge (4):
      rcu: Add missing annotation for rcu_nocb_bypass_lock()
      rcu/nocb: Add missing annotation for rcu_nocb_bypass_unlock()
      rcu: Add missing annotation for exit_tasks_rcu_start()
      rcu: Add missing annotation for exit_tasks_rcu_finish()

Madhuparna Bhowmik (1):
      nfs: Fix nfs_access_get_cached_rcu() sparse error

Paul E. McKenney (55):
      rcu: Warn on for_each_leaf_node_cpu_mask() from non-leaf
      rcu: Fix exp_funnel_lock()/rcu_exp_wait_wake() datarace
      rcu: Provide debug symbols and line numbers in KCSAN runs
      rcu: Add WRITE_ONCE() to rcu_node ->qsmask update
      rcu: Add WRITE_ONCE to rcu_node ->exp_seq_rq store
      rcu: Add READ_ONCE() to rcu_node ->gp_seq
      rcu: Add WRITE_ONCE() to rcu_state ->gp_req_activity
      rcu: Add WRITE_ONCE() to rcu_node ->qsmaskinitnext
      locking/rtmutex: rcu: Add WRITE_ONCE() to rt_mutex ->owner
      rcu: Add READ_ONCE() to rcu_segcblist ->tails[]
      rcu: Add *_ONCE() for grace-period progress indicators
      rcu: Add READ_ONCE() to rcu_data ->gpwrap
      rcu: Add *_ONCE() to rcu_data ->rcu_forced_tick
      rcu: Add *_ONCE() to rcu_node ->boost_kthread_status
      rcu: Remove dead code from rcu_segcblist_insert_pend_cbs()
      rcu: Add WRITE_ONCE() to rcu_state ->gp_start
      rcu: Fix rcu_barrier_callback() race condition
      rcu: Don't flag non-starting GPs before GP kthread is running
      rcu: Optimize and protect atomic_cmpxchg() loop
      rcu: Tighten rcu_lockdep_assert_cblist_protected() check
      rcu: Make nocb_gp_wait() double-check unexpected-callback warning
      locktorture: Print ratio of acquisitions, not failures
      locktorture: Allow CPU-hotplug to be disabled via --bootargs
      locktorture: Use private random-number generators
      locktorture: Forgive apparent unfairness if CPU hotplug
      rcu: Clear ->core_needs_qs at GP end or self-reported QS
      rcu: React to callback overload by aggressively seeking quiescent states
      rcu: React to callback overload by boosting RCU readers
      rcu: Update __call_rcu() comments
      rcu-tasks: *_ONCE() for rcu_tasks_cbs_head
      srcu: Fix __call_srcu()/process_srcu() datarace
      srcu: Fix __call_srcu()/srcu_get_delay() datarace
      srcu: Fix process_srcu()/srcu_batches_completed() datarace
      srcu: Hold srcu_struct ->lock when updating ->srcu_gp_seq
      rcutorture: Suppress forward-progress complaints during early boot
      torture: Make results-directory date format completion-friendly
      rcutorture: Refrain from callback flooding during boot
      torture: Forgive -EBUSY from boottime CPU-hotplug operations
      rcutorture: Allow boottime stall warnings to be suppressed
      rcutorture: Suppress boottime bad-sequence warnings
      torture: Allow disabling of boottime CPU-hotplug torture operations
      rcutorture: Add 100-CPU configuration
      rcutorture: Summarize summary of build and run results
      rcutorture: Make kvm-find-errors.sh abort on bad directory
      rcutorture: Fix rcu_torture_one_read()/rcu_torture_writer() data race
      rcutorture: Fix stray access to rcu_fwd_cb_nodelay
      rcutorture: Add READ_ONCE() to rcu_torture_count and rcu_torture_batch
      rcutorture: Annotation lockless accesses to rcu_torture_current
      rcutorture: Make rcu_torture_barrier_cbs() post from corresponding CPU
      rcutorture: Manually clean up after rcu_barrier() failure
      rcutorture: Set KCSAN Kconfig options to detect more data races
      doc: Add rcutorture scripting to torture.txt
      rcu: Mark rcu_state.gp_seq to detect concurrent writes
      rcu: Make rcu_barrier() account for offline no-CBs CPUs
      Merge branches 'doc.2020.02.27a', 'fixes.2020.03.21a', 'kfree_rcu.2020.02.20a', 'locktorture.2020.02.20a', 'ovld.2020.02.20a', 'rcu-tasks.2020.02.20a', 'srcu.2020.02.20a' and 'torture.2020.02.20a' into HEAD

SeongJae Park (8):
      rcu: Fix typos in file-header comments
      doc/RCU/Design: Remove remaining HTML tags in ReST files
      doc/RCU/listRCU: Fix typos in a example code snippets
      doc/RCU/listRCU: Update example function name
      doc/RCU/rcu: Use ':ref:' for links to other docs
      doc/RCU/rcu: Use absolute paths for non-rst files
      doc/RCU/rcu: Use https instead of http if possible
      Documentation/memory-barriers: Fix typos

Uladzislau Rezki (Sony) (2):
      rcu: Support kfree_bulk() interface in kfree_rcu()
      rcu: Add a trace event for kfree_rcu() use of kfree_bulk()

 .../Memory-Ordering/Tree-RCU-Memory-Ordering.rst   |   8 +-
 Documentation/RCU/listRCU.rst                      | 281 ++++++++++---
 Documentation/RCU/rcu.rst                          |  18 +-
 Documentation/RCU/torture.txt                      | 147 ++++++-
 Documentation/admin-guide/kernel-parameters.txt    |  19 +
 Documentation/memory-barriers.txt                  |   8 +-
 fs/nfs/dir.c                                       |   2 +-
 include/linux/rculist.h                            |   4 +-
 include/linux/rcutiny.h                            |   1 +
 include/linux/rcutree.h                            |   1 +
 include/linux/timer.h                              |   2 +-
 include/trace/events/rcu.h                         |  29 ++
 kernel/locking/locktorture.c                       |  15 +-
 kernel/locking/rtmutex.c                           |   2 +-
 kernel/rcu/Makefile                                |   4 +
 kernel/rcu/rcu.h                                   |  23 +-
 kernel/rcu/rcu_segcblist.c                         |   4 +-
 kernel/rcu/rcuperf.c                               |  14 +-
 kernel/rcu/rcutorture.c                            |  67 ++-
 kernel/rcu/srcutree.c                              |  18 +-
 kernel/rcu/tree.c                                  | 452 +++++++++++++++------
 kernel/rcu/tree.h                                  |   4 +
 kernel/rcu/tree_exp.h                              |  13 +-
 kernel/rcu/tree_plugin.h                           |  25 +-
 kernel/rcu/tree_stall.h                            |  41 +-
 kernel/rcu/update.c                                |  28 +-
 kernel/time/timer.c                                |   7 +-
 kernel/torture.c                                   |  29 +-
 .../testing/selftests/rcutorture/bin/functions.sh  |   2 +-
 .../selftests/rcutorture/bin/kvm-find-errors.sh    |   2 +
 .../selftests/rcutorture/bin/kvm-recheck.sh        |  17 +-
 tools/testing/selftests/rcutorture/bin/kvm.sh      |   2 +-
 .../selftests/rcutorture/configs/rcu/CFcommon      |   2 +
 .../selftests/rcutorture/configs/rcu/TREE10        |  18 +
 34 files changed, 1015 insertions(+), 294 deletions(-)
 create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/TREE10

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ