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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20130613171019.GA17912@linux.vnet.ibm.com>
Date:	Thu, 13 Jun 2013 10:10:19 -0700
From:	"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To:	mingo@...e.hu
Cc:	davej@...hat.com, rostedt@...dmis.org,
	torvalds@...ux-foundation.org, linux-kernel@...r.kernel.org
Subject: [GIT PULL urgent] Fixes for three more RCU regressions

Hello, Ingo,

I must confess that this past merge window was not RCU's best showing.
This series contains three more fixes for RCU regressions:

1.	A fix to __DECLARE_TRACE_RCU() that causes it to act as an
	interrupt from idle rather than as a task switch from idle.
	This change is needed due to the recent use of _rcuidle()
	tracepoints that can be invoked from interrupt handlers as well
	as from idle.  Without this fix, invoking _rcuidle() tracepoints
	from interrupt handlers results in splats and (more seriously)
	confusion on RCU's part as to whether a given CPU is idle or not.
	This confusion can in turn result in too-short grace periods and
	therefore random memory corruption.

2.	A fix to a subtle deadlock that could result due to RCU doing
	a wakeup while holding one of its rcu_node structure's locks.
	Although the probability of occurrence is low, it really
	does happen.  The fix, courtesy of Steven Rostedt, uses
	irq_work_queue() to avoid the deadlock.

3.	A fix to a silent deadlock (invisible to lockdep) due to the
	interaction of timeouts posted by RCU debug code enabled by
	CONFIG_PROVE_RCU_DELAY=y, grace-period initialization, and CPU
	hotplug operations.  This will not occur in production kernels,
	but really does occur in randconfig testing.  Diagnosis courtesy
	of Steven Rostedt.

These fixes are available in the git repository at:

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

for you to fetch changes up to 971394f389992f8462c4e5ae0e3b49a10a9534a3:

  rcu: Fix deadlock with CPU hotplug, RCU GP init, and timer migration (2013-06-10 13:37:12 -0700)

----------------------------------------------------------------
Paul E. McKenney (2):
      trace: Allow idle-safe tracepoints to be called from irq
      rcu: Fix deadlock with CPU hotplug, RCU GP init, and timer migration

Steven Rostedt (1):
      rcu: Don't call wakeup() with rcu_node structure ->lock held

 include/linux/tracepoint.h |  4 ++--
 init/Kconfig               |  1 +
 kernel/rcutree.c           | 21 +++++++++++++++++----
 kernel/rcutree.h           |  2 ++
 4 files changed, 22 insertions(+), 6 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ