Re: [PATCH net-next v20 15/25] ovpn: implement multi-peer support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2025-03-03, 15:45:23 +0100, Antonio Quartulli wrote:
> On 03/03/2025 14:08, Sabrina Dubroca wrote:
> > > +			if (ovpn_sock && ovpn_sock->sock->sk == sk)
> > > +				skip = false;
> > > +			rcu_read_unlock();
> > > +
> > > +			if (skip)
> > > +				continue;
> > 
> > 
> > The skip/continue logic looks a tiny bit strange to me, maybe this:
> 
> Hehe, it's like a double negation. I agree it can be improved.
> 
> > 
> > 	hash_for_each_safe(ovpn->peers->by_id, bkt, tmp, peer, hash_entry_id) {
> > 		bool remove = true;
> 
> does the netdev coding style allow to use locally scoped variables?
> Or should I declare everything at the beginning of the function?
> 
> I had this rule in mind, but it may have been eliminated by now.

Based on a few samples from net/core/dev.c, I'd say it's allowed:
https://web.git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/tree/net/core/dev.c?id=357660d7596b#n4634
https://web.git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/tree/net/core/dev.c?id=357660d7596b#n11404
https://web.git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/tree/net/core/dev.c?id=357660d7596b#n12319
https://web.git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/tree/net/core/dev.c?id=357660d7596b#n12531

> > 
> > 		/* if a socket was passed as argument, skip all peers except
> > 		 * those using it
> > 		 */
> > 		if (sk) {
> > 			rcu_read_lock();
> > 			ovpn_sock = rcu_dereference(peer->sock);
> > 			remove = ovpn_sock && ovpn_sock->sock->sk == sk;
> > 			rcu_read_unlock();
> > 		}
> > 
> > 		if (remove)
> > 			ovpn_peer_remove(peer, reason, &release_list);
> > 	}
> > 
> > 
> > (only if you agree it looks better - if it's my opinion against yours,
> > ignore me since it's really just coding style/taste)
> 
> Yours look simpler/cleaner. I'll go with it.

ok :)

-- 
Sabrina




[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux