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-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1395638727.9117.55.camel@edumazet-glaptop2.roam.corp.google.com>
Date:	Sun, 23 Mar 2014 22:25:27 -0700
From:	Eric Dumazet <eric.dumazet@...il.com>
To:	"Michael S. Tsirkin" <mst@...hat.com>
Cc:	"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
	Monam Agarwal <monamagarwal123@...il.com>, davem@...emloft.net,
	jasowang@...hat.com, xemul@...allels.com, wuzhy@...ux.vnet.ibm.com,
	therbert@...gle.com, yamato@...hat.com, netdev@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] drivers/net: Use RCU_INIT_POINTER(x, NULL) in tun.c

On Mon, 2014-03-24 at 07:09 +0200, Michael S. Tsirkin wrote:

> Seems an incredibly strict requirement for something that just
> silences a warning.
> What exactly should I test?
> I intended to just verify this produces same code as before
> d322f45ceed525daa under a recent gcc.

Thats because many rcu_assign_pointer(X, NULL) were already converted to
RCU_INIT_POINTER(X, NULL)

Quite frankly I don't know why you bother at all.

Adding back the lazy test in rcu_assign_pointer() doesn't help to make
the API cleaner and easier to understand.

People are usually using RCU API without really understanding
all the issues. They tend to add superfluous barriers because they feel
better. 

Having separate RCU_INIT_POINTER() and rcu_assign_pointer() serve as
better documentation of the code, I find it more easier to immediately
check what is going on while reviewing stuff.

Presumably, checkpatch.pl could be augmented to suggest to use
RCU_INIT_POINTER(X, NULL) instead of rcu_assign_pointer(X, NULL)



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