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
| ||
|
Message-ID: <20191211031751.GZ2889@paulmck-ThinkPad-P72> Date: Tue, 10 Dec 2019 19:17:51 -0800 From: "Paul E. McKenney" <paulmck@...nel.org> To: Tuong Lien Tong <tuong.t.lien@...tech.com.au> Cc: 'Ying Xue' <ying.xue@...driver.com>, netdev@...r.kernel.org, linux-kernel@...r.kernel.org, mingo@...nel.org, tipc-discussion@...ts.sourceforge.net, kernel-team@...com, torvalds@...ux-foundation.org, davem@...emloft.net Subject: Re: [tipc-discussion] [PATCH net/tipc] Replace rcu_swap_protected() with rcu_replace_pointer() On Wed, Dec 11, 2019 at 09:00:39AM +0700, Tuong Lien Tong wrote: > Hi Ying, Paul, > > Please see my comments inline. Thanks! Good catch! > BR/Tuong > > -----Original Message----- > From: Ying Xue <ying.xue@...driver.com> > Sent: Wednesday, December 11, 2019 8:32 AM > To: paulmck@...nel.org > Cc: netdev@...r.kernel.org; linux-kernel@...r.kernel.org; mingo@...nel.org; > tipc-discussion@...ts.sourceforge.net; kernel-team@...com; > torvalds@...ux-foundation.org; davem@...emloft.net > Subject: Re: [tipc-discussion] [PATCH net/tipc] Replace rcu_swap_protected() > with rcu_replace_pointer() > > On 12/11/19 6:38 AM, Paul E. McKenney wrote: > > commit 4ee8e2c68b076867b7a5af82a38010fffcab611c > > Author: Paul E. McKenney <paulmck@...nel.org> > > Date: Mon Dec 9 19:13:45 2019 -0800 > > > > net/tipc: Replace rcu_swap_protected() with rcu_replace_pointer() > > > > This commit replaces the use of rcu_swap_protected() with the more > > intuitively appealing rcu_replace_pointer() as a step towards removing > > rcu_swap_protected(). > > > > Link: > https://lore.kernel.org/lkml/CAHk-=wiAsJLw1egFEE=Z7-GGtM6wcvtyytXZA1+BHqta4g > g6Hw@...l.gmail.com/ > > Reported-by: Linus Torvalds <torvalds@...ux-foundation.org> > > Reported-by: kbuild test robot <lkp@...el.com> > > Signed-off-by: Paul E. McKenney <paulmck@...nel.org> > > Cc: Jon Maloy <jon.maloy@...csson.com> > > Cc: Ying Xue <ying.xue@...driver.com> > > Cc: "David S. Miller" <davem@...emloft.net> > > Cc: <netdev@...r.kernel.org> > > Cc: <tipc-discussion@...ts.sourceforge.net> > > Acked-by: Ying Xue <ying.xue@...driver.com> As in the following? If so, I will be very happy to apply your Acked-by. Thanx, Paul ------------------------------------------------------------------------ commit 4c0855120704e7a578dc6862ae57babf6dc9bc77 Author: Paul E. McKenney <paulmck@...nel.org> Date: Mon Dec 9 19:13:45 2019 -0800 net/tipc: Replace rcu_swap_protected() with rcu_replace_pointer() This commit replaces the use of rcu_swap_protected() with the more intuitively appealing rcu_replace_pointer() as a step towards removing rcu_swap_protected(). Link: https://lore.kernel.org/lkml/CAHk-=wiAsJLw1egFEE=Z7-GGtM6wcvtyytXZA1+BHqta4gg6Hw@mail.gmail.com/ Reported-by: Linus Torvalds <torvalds@...ux-foundation.org> Reported-by: kbuild test robot <lkp@...el.com> Signed-off-by: Paul E. McKenney <paulmck@...nel.org> [ paulmck: Updated based on Ying Xue and Tuong Lien Tong feedback. ] Cc: Jon Maloy <jon.maloy@...csson.com> Cc: Ying Xue <ying.xue@...driver.com> Cc: "David S. Miller" <davem@...emloft.net> Cc: <netdev@...r.kernel.org> Cc: <tipc-discussion@...ts.sourceforge.net> diff --git a/net/tipc/crypto.c b/net/tipc/crypto.c index 990a872..39a13b4 100644 --- a/net/tipc/crypto.c +++ b/net/tipc/crypto.c @@ -258,7 +258,7 @@ static char *tipc_key_change_dump(struct tipc_key old, struct tipc_key new, rcu_dereference_protected((rcu_ptr), lockdep_is_held(lock)) #define tipc_aead_rcu_swap(rcu_ptr, ptr, lock) \ - rcu_swap_protected((rcu_ptr), (ptr), lockdep_is_held(lock)) + rcu_replace_pointer((rcu_ptr), (ptr), lockdep_is_held(lock)) #define tipc_aead_rcu_replace(rcu_ptr, ptr, lock) \ do { \ @@ -1189,7 +1189,7 @@ static bool tipc_crypto_key_try_align(struct tipc_crypto *rx, u8 new_pending) /* Move passive key if any */ if (key.passive) { - tipc_aead_rcu_swap(rx->aead[key.passive], tmp2, &rx->lock); + tmp2 = tipc_aead_rcu_swap(rx->aead[key.passive], tmp2, &rx->lock); x = (key.passive - key.pending + new_pending) % KEY_MAX; new_passive = (x <= 0) ? x + KEY_MAX : x; }
Powered by blists - more mailing lists