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>] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 14 Sep 2015 17:55:20 +0200
From:	Oleg Nesterov <oleg@...hat.com>
To:	"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Cc:	kbuild test robot <fengguang.wu@...el.com>, kbuild-all@...org,
	linux-kernel@...r.kernel.org
Subject: Re: [rcu:rcu/dev 70/71] kernel/rcu/sync.c:68:2: warning:
	'deprecate_rcu_lockdep_assert' is deprecated (declared at
	include/linux/rcupdate.h:541)

On 09/12, Paul E. McKenney wrote:
>
> I should have noticed this...

Heh, me too :/

Thanks a lot Fengguang!

> The new rcu_lockdep_assert() is RCU_LOCKDEP_WARN().  I am guessing
> that you would like to also make rcu_sync_lockdep_assert() be
> RCU_SYNC_LOCKDEP_WARN()?

I am fine either way. Unless you have already fixed this in your tree,
I'd suggest the trivial fix below.

But please let me know you want me to make another trivial change which
turns rcu_sync_lockdep_assert() into

	bool rcu_sync_read_lock_held(struct rcu_sync *rsp)
	{
		return gp_ops[rsp->gp_type].held();
	}

and rcu_sync_is_idle() into

	static inline bool rcu_sync_is_idle(struct rcu_sync *rsp)
	{
		RCU_LOCKDEP_WARN(!rcu_sync_read_lock_held(rsp),
				 "suspicious rcu_sync_is_idle() usage");
		return !rsp->gp_state; /* GP_IDLE */
	}

-------------------------------------------------------------------------------
>From 37fb0c136b979b0ef6a4ade1c7a14c8207533b2d Mon Sep 17 00:00:00 2001
From: Oleg Nesterov <oleg@...hat.com>
Date: Mon, 14 Sep 2015 10:54:10 -0400
Subject: [PATCH] rcu_sync: Use RCU_LOCKDEP_WARN() rather than rcu_lockdep_assert()

rcu_lockdep_assert() is deprecated, change rcu_sync_lockdep_assert()
to use RCU_LOCKDEP_WARN().

Reported-by: Fengguang Wu <fengguang.wu@...el.com>
Signed-off-by: Oleg Nesterov <oleg@...hat.com>
---
 kernel/rcu/sync.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/rcu/sync.c b/kernel/rcu/sync.c
index 56ae79d..be922c9 100644
--- a/kernel/rcu/sync.c
+++ b/kernel/rcu/sync.c
@@ -65,8 +65,8 @@ enum { CB_IDLE = 0, CB_PENDING, CB_REPLAY };
 #ifdef CONFIG_PROVE_RCU
 void rcu_sync_lockdep_assert(struct rcu_sync *rsp)
 {
-	rcu_lockdep_assert(gp_ops[rsp->gp_type].held(),
-			   "suspicious rcu_sync_is_idle() usage");
+	RCU_LOCKDEP_WARN(!gp_ops[rsp->gp_type].held(),
+			 "suspicious rcu_sync_is_idle() usage");
 }
 #endif
 
-- 
2.4.3


--
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